@@ -29,8 +29,11 @@ class TestPlatform : public TestFixture {
2929private:
3030 void run () override {
3131 TEST_CASE (empty);
32- TEST_CASE (valid_config_native_1);
33- TEST_CASE (valid_config_native_2);
32+ TEST_CASE (valid_config_win32a);
33+ TEST_CASE (valid_config_unix64);
34+ TEST_CASE (valid_config_win32w);
35+ TEST_CASE (valid_config_unix32);
36+ TEST_CASE (valid_config_win64);
3437 TEST_CASE (valid_config_file_1);
3538 TEST_CASE (valid_config_file_2);
3639 TEST_CASE (valid_config_file_3);
@@ -50,50 +53,133 @@ class TestPlatform : public TestFixture {
5053 // An empty platform file does not change values, only the type.
5154 const char xmldata[] = " <?xml version=\" 1.0\" ?>\n <platform/>" ;
5255 cppcheck::Platform platform;
53- ASSERT (platform.platform (cppcheck::Platform::Win64));
54- ASSERT (readPlatform (platform, xmldata));
55- ASSERT_EQUALS (cppcheck::Platform::PlatformFile, platform.platformType );
56- ASSERT (!platform.isWindowsPlatform ());
57- ASSERT_EQUALS (8 , platform.char_bit );
58- ASSERT_EQUALS (' \0 ' , platform.defaultSign );
56+ // TODO: this should fail - platform files need to be complete
57+ TODO_ASSERT (!readPlatform (platform, xmldata));
58+ }
59+
60+ void valid_config_win32a () const {
61+ // Verify if native Win32A platform is loaded correctly
62+ cppcheck::Platform platform;
63+ PLATFORM (platform, cppcheck::Platform::Win32A);
64+ ASSERT_EQUALS (cppcheck::Platform::Win32A, platform.platformType );
65+ ASSERT (platform.isWindowsPlatform ());
5966 ASSERT_EQUALS (1 , platform.sizeof_bool );
6067 ASSERT_EQUALS (2 , platform.sizeof_short );
6168 ASSERT_EQUALS (4 , platform.sizeof_int );
6269 ASSERT_EQUALS (4 , platform.sizeof_long );
6370 ASSERT_EQUALS (8 , platform.sizeof_long_long );
71+ ASSERT_EQUALS (4 , platform.sizeof_float );
72+ ASSERT_EQUALS (8 , platform.sizeof_double );
73+ ASSERT_EQUALS (8 , platform.sizeof_long_double );
74+ ASSERT_EQUALS (2 , platform.sizeof_wchar_t );
75+ ASSERT_EQUALS (4 , platform.sizeof_size_t );
76+ ASSERT_EQUALS (4 , platform.sizeof_pointer );
77+ ASSERT_EQUALS (' \0 ' , platform.defaultSign );
78+ ASSERT_EQUALS (8 , platform.char_bit );
79+ ASSERT_EQUALS (16 , platform.short_bit );
80+ ASSERT_EQUALS (32 , platform.int_bit );
81+ ASSERT_EQUALS (32 , platform.long_bit );
82+ ASSERT_EQUALS (64 , platform.long_long_bit );
6483 }
6584
66- void valid_config_native_1 () const {
67- // Verify if native Win32A platform is loaded correctly
85+ void valid_config_unix64 () const {
86+ // Verify if native Unix64 platform is loaded correctly
6887 cppcheck::Platform platform;
69- ASSERT (platform.platform (cppcheck::Platform::Win32A));
70- ASSERT_EQUALS (cppcheck::Platform::Win32A, platform.platformType );
71- ASSERT (platform.isWindowsPlatform ());
88+ PLATFORM (platform, cppcheck::Platform::Unix64);
89+ ASSERT_EQUALS (cppcheck::Platform::Unix64, platform.platformType );
90+ ASSERT (!platform.isWindowsPlatform ());
91+ ASSERT_EQUALS (1 , platform.sizeof_bool );
92+ ASSERT_EQUALS (2 , platform.sizeof_short );
93+ ASSERT_EQUALS (4 , platform.sizeof_int );
94+ ASSERT_EQUALS (8 , platform.sizeof_long );
95+ ASSERT_EQUALS (8 , platform.sizeof_long_long );
96+ ASSERT_EQUALS (4 , platform.sizeof_float );
97+ ASSERT_EQUALS (8 , platform.sizeof_double );
98+ ASSERT_EQUALS (16 , platform.sizeof_long_double );
99+ ASSERT_EQUALS (4 , platform.sizeof_wchar_t );
100+ ASSERT_EQUALS (8 , platform.sizeof_size_t );
101+ ASSERT_EQUALS (8 , platform.sizeof_pointer );
72102 ASSERT_EQUALS (' \0 ' , platform.defaultSign );
73103 ASSERT_EQUALS (8 , platform.char_bit );
104+ ASSERT_EQUALS (16 , platform.short_bit );
105+ ASSERT_EQUALS (32 , platform.int_bit );
106+ ASSERT_EQUALS (64 , platform.long_bit );
107+ ASSERT_EQUALS (64 , platform.long_long_bit );
108+ }
109+
110+ void valid_config_win32w () const {
111+ // Verify if native Win32W platform is loaded correctly
112+ cppcheck::Platform platform;
113+ PLATFORM (platform, cppcheck::Platform::Win32W);
114+ ASSERT_EQUALS (cppcheck::Platform::Win32W, platform.platformType );
115+ ASSERT (platform.isWindowsPlatform ());
74116 ASSERT_EQUALS (1 , platform.sizeof_bool );
75117 ASSERT_EQUALS (2 , platform.sizeof_short );
76118 ASSERT_EQUALS (4 , platform.sizeof_int );
77119 ASSERT_EQUALS (4 , platform.sizeof_long );
78120 ASSERT_EQUALS (8 , platform.sizeof_long_long );
121+ ASSERT_EQUALS (4 , platform.sizeof_float );
122+ ASSERT_EQUALS (8 , platform.sizeof_double );
123+ ASSERT_EQUALS (8 , platform.sizeof_long_double );
124+ ASSERT_EQUALS (2 , platform.sizeof_wchar_t );
125+ ASSERT_EQUALS (4 , platform.sizeof_size_t );
126+ ASSERT_EQUALS (4 , platform.sizeof_pointer );
127+ ASSERT_EQUALS (' \0 ' , platform.defaultSign );
128+ ASSERT_EQUALS (8 , platform.char_bit );
79129 ASSERT_EQUALS (16 , platform.short_bit );
80130 ASSERT_EQUALS (32 , platform.int_bit );
81131 ASSERT_EQUALS (32 , platform.long_bit );
82132 ASSERT_EQUALS (64 , platform.long_long_bit );
83133 }
84134
85- void valid_config_native_2 () const {
86- // Verify if native Unix64 platform is loaded correctly
135+ void valid_config_unix32 () const {
136+ // Verify if native Unix32 platform is loaded correctly
87137 cppcheck::Platform platform;
88- ASSERT (platform. platform ( cppcheck::Platform::Unix64) );
89- ASSERT_EQUALS (cppcheck::Platform::Unix64 , platform.platformType );
138+ PLATFORM (platform, cppcheck::Platform::Unix32 );
139+ ASSERT_EQUALS (cppcheck::Platform::Unix32 , platform.platformType );
90140 ASSERT (!platform.isWindowsPlatform ());
141+ ASSERT_EQUALS (1 , platform.sizeof_bool );
142+ ASSERT_EQUALS (2 , platform.sizeof_short );
143+ ASSERT_EQUALS (4 , platform.sizeof_int );
144+ ASSERT_EQUALS (4 , platform.sizeof_long );
145+ ASSERT_EQUALS (8 , platform.sizeof_long_long );
146+ ASSERT_EQUALS (4 , platform.sizeof_float );
147+ ASSERT_EQUALS (8 , platform.sizeof_double );
148+ ASSERT_EQUALS (12 , platform.sizeof_long_double );
149+ ASSERT_EQUALS (4 , platform.sizeof_wchar_t );
150+ ASSERT_EQUALS (4 , platform.sizeof_size_t );
151+ ASSERT_EQUALS (4 , platform.sizeof_pointer );
91152 ASSERT_EQUALS (' \0 ' , platform.defaultSign );
92153 ASSERT_EQUALS (8 , platform.char_bit );
154+ ASSERT_EQUALS (16 , platform.short_bit );
155+ ASSERT_EQUALS (32 , platform.int_bit );
156+ ASSERT_EQUALS (32 , platform.long_bit );
157+ ASSERT_EQUALS (64 , platform.long_long_bit );
158+ }
159+
160+ void valid_config_win64 () const {
161+ // Verify if native Win64 platform is loaded correctly
162+ cppcheck::Platform platform;
163+ PLATFORM (platform, cppcheck::Platform::Win64);
164+ ASSERT_EQUALS (cppcheck::Platform::Win64, platform.platformType );
165+ ASSERT (platform.isWindowsPlatform ());
166+ ASSERT_EQUALS (1 , platform.sizeof_bool );
167+ ASSERT_EQUALS (2 , platform.sizeof_short );
93168 ASSERT_EQUALS (4 , platform.sizeof_int );
169+ ASSERT_EQUALS (4 , platform.sizeof_long );
170+ ASSERT_EQUALS (8 , platform.sizeof_long_long );
171+ ASSERT_EQUALS (4 , platform.sizeof_float );
172+ ASSERT_EQUALS (8 , platform.sizeof_double );
173+ ASSERT_EQUALS (8 , platform.sizeof_long_double );
174+ ASSERT_EQUALS (2 , platform.sizeof_wchar_t );
175+ ASSERT_EQUALS (8 , platform.sizeof_size_t );
176+ ASSERT_EQUALS (8 , platform.sizeof_pointer );
177+ ASSERT_EQUALS (' \0 ' , platform.defaultSign );
178+ ASSERT_EQUALS (8 , platform.char_bit );
179+ ASSERT_EQUALS (16 , platform.short_bit );
94180 ASSERT_EQUALS (32 , platform.int_bit );
95- ASSERT_EQUALS (8 , platform.sizeof_long );
96- ASSERT_EQUALS (64 , platform.long_bit );
181+ ASSERT_EQUALS (32 , platform.long_bit );
182+ ASSERT_EQUALS (64 , platform.long_long_bit );
97183 }
98184
99185 void valid_config_file_1 () {
@@ -184,7 +270,7 @@ class TestPlatform : public TestFixture {
184270 ASSERT_EQUALS (100 , platform.long_long_bit );
185271 }
186272
187- void valid_config_file_3 () {
273+ void valid_config_file_3 () const {
188274 // Valid platform configuration without any usable information.
189275 // Similar like an empty file.
190276 const char xmldata[] = " <?xml version=\" 1.0\" ?>\n "
@@ -206,17 +292,8 @@ class TestPlatform : public TestFixture {
206292 " </sizeof1>\n "
207293 " </platform>" ;
208294 cppcheck::Platform platform;
209- ASSERT (platform.platform (cppcheck::Platform::Win64));
210- ASSERT (readPlatform (platform, xmldata));
211- ASSERT_EQUALS (platform.PlatformFile , platform.platformType );
212- ASSERT (!platform.isWindowsPlatform ());
213- ASSERT_EQUALS (8 , platform.char_bit );
214- ASSERT_EQUALS (' \0 ' , platform.defaultSign );
215- ASSERT_EQUALS (1 , platform.sizeof_bool );
216- ASSERT_EQUALS (2 , platform.sizeof_short );
217- ASSERT_EQUALS (4 , platform.sizeof_int );
218- ASSERT_EQUALS (4 , platform.sizeof_long );
219- ASSERT_EQUALS (8 , platform.sizeof_long_long );
295+ // TODO: needs to fail - files need to be complete
296+ TODO_ASSERT (!readPlatform (platform, xmldata));
220297 }
221298
222299 void valid_config_file_4 () {
@@ -287,7 +364,7 @@ class TestPlatform : public TestFixture {
287364 ASSERT (!readPlatform (platform, xmldata));
288365 }
289366
290- void empty_elements () {
367+ void empty_elements () const {
291368 // Valid platform configuration without any usable information.
292369 // Similar like an empty file.
293370 const char xmldata[] = " <?xml version=\" 1.0\" ?>\n "
@@ -309,10 +386,7 @@ class TestPlatform : public TestFixture {
309386 " </sizeof>\n "
310387 " </platform>" ;
311388 cppcheck::Platform platform;
312- ASSERT (platform.platform (cppcheck::Platform::Win64));
313389 ASSERT (!readPlatform (platform, xmldata));
314- ASSERT_EQUALS (platform.PlatformFile , platform.platformType );
315- ASSERT (!platform.isWindowsPlatform ());
316390 }
317391
318392 void default_platform () {
0 commit comments