Include stdio.h for MinGW.
[wine] / dlls / version / tests / info.c
1 /*
2  * Copyright (C) 2004 Stefan Leichter
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #include <stdarg.h>
20
21 #include "wine/test.h"
22 #include "windef.h"
23 #include "winbase.h"
24 #include "winerror.h"
25 #include "winver.h"
26
27 static void test_info_size(void)
28 {   DWORD hdl, retval;
29
30     SetLastError(-1L);
31     retval = GetFileVersionInfoSizeA( NULL, NULL);
32     ok( !retval,
33         "GetFileVersionInfoSizeA result wrong! 0L expected, got 0x%08lx\n",
34         retval);
35     ok( (ERROR_RESOURCE_DATA_NOT_FOUND == GetLastError()) ||
36         (ERROR_INVALID_PARAMETER == GetLastError()),
37         "Last error wrong! ERROR_RESOURCE_DATA_NOT_FOUND/ERROR_INVALID_PARAMETER "
38         "(98) expected, got 0x%08lx\n", GetLastError());
39
40     hdl = 0x55555555;
41     SetLastError(-1L);
42     retval = GetFileVersionInfoSizeA( NULL, &hdl);
43     ok( !retval,
44         "GetFileVersionInfoSizeA result wrong! 0L expected, got 0x%08lx\n",
45         retval);
46     ok( (ERROR_RESOURCE_DATA_NOT_FOUND == GetLastError()) ||
47         (ERROR_INVALID_PARAMETER == GetLastError()),
48         "Last error wrong! ERROR_RESOURCE_DATA_NOT_FOUND/ERROR_INVALID_PARAMETER "
49         "(98) expected, got 0x%08lx\n", GetLastError());
50     ok( hdl == 0L,
51         "Handle wrong! 0L expected, got 0x%08lx\n", hdl);
52
53     SetLastError(-1L);
54     retval = GetFileVersionInfoSizeA( "", NULL);
55     ok( !retval,
56         "GetFileVersionInfoSizeA result wrong! 0L expected, got 0x%08lx\n",
57         retval);
58     ok( (ERROR_RESOURCE_DATA_NOT_FOUND == GetLastError()) ||
59         (ERROR_BAD_PATHNAME == GetLastError()),
60         "Last error wrong! ERROR_RESOURCE_DATA_NOT_FOUND/ERROR_BAD_PATHNAME "
61         "(98) expected, got 0x%08lx\n", GetLastError());
62
63     hdl = 0x55555555;
64     SetLastError(-1L);
65     retval = GetFileVersionInfoSizeA( "", &hdl);
66     ok( !retval,
67         "GetFileVersionInfoSizeA result wrong! 0L expected, got 0x%08lx\n",
68         retval);
69     ok( (ERROR_RESOURCE_DATA_NOT_FOUND == GetLastError()) ||
70         (ERROR_BAD_PATHNAME == GetLastError()),
71         "Last error wrong! ERROR_RESOURCE_DATA_NOT_FOUND/ERROR_BAD_PATHNAME "
72         "(98) expected, got 0x%08lx\n", GetLastError());
73     ok( hdl == 0L,
74         "Handle wrong! 0L expected, got 0x%08lx\n", hdl);
75
76     SetLastError(-1L);
77     retval = GetFileVersionInfoSizeA( "kernel32.dll", NULL);
78     ok( retval,
79         "GetFileVersionInfoSizeA result wrong! <> 0L expected, got 0x%08lx\n",
80         retval);
81     ok( NO_ERROR == GetLastError(),
82         "Last error wrong! NO_ERROR expected, got 0x%08lx\n",
83         GetLastError());
84
85     hdl = 0x55555555;
86     SetLastError(-1L);
87     retval = GetFileVersionInfoSizeA( "kernel32.dll", &hdl);
88     ok( retval,
89         "GetFileVersionInfoSizeA result wrong! <> 0L expected, got 0x%08lx\n",
90         retval);
91     ok( NO_ERROR == GetLastError(),
92         "Last error wrong! NO_ERROR expected, got 0x%08lx\n",
93         GetLastError());
94     ok( hdl == 0L,
95         "Handle wrong! 0L expected, got 0x%08lx\n", hdl);
96
97     SetLastError(-1L);
98     retval = GetFileVersionInfoSizeA( "notexist.dll", NULL);
99     ok( !retval,
100         "GetFileVersionInfoSizeA result wrong! 0L expected, got 0x%08lx\n",
101         retval);
102     ok( (ERROR_FILE_NOT_FOUND == GetLastError()) || 
103         (ERROR_RESOURCE_DATA_NOT_FOUND == GetLastError()),
104         "Last error wrong! ERROR_FILE_NOT_FOUND/ERROR_RESOURCE_DATA_NOT_FOUND "
105         "(XP) expected, got 0x%08lx\n", GetLastError());
106 }
107
108 START_TEST(info)
109 {
110     test_info_size();
111 }