1 /*DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64
4 for INTEL64(R), AMD64(R)
6 Copyright(C) 2007-2009 Koine Yuusuke(koinec). All rights reserved.
8 Redistribution and use in source and binary forms, with or without
9 modification, are permitted provided that the following conditions are met:
11 1. Redistributions of source code must retain the above copyright notice,
12 this list of conditions and the following disclaimer.
13 2. Redistributions in binary form must reproduce the above copyright
14 notice, this list of conditions and the following disclaimer in the
15 documentation and/or other materials provided with the distribution.
17 THIS SOFTWARE IS PROVIDED BY Koine Yuusuke(koinec) ``AS IS'' AND ANY
18 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 DISCLAIMED. IN NO EVENT SHALL Koine Yuusuke(koinec) OR CONTRIBUTORS BE
21 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
27 OF THE POSSIBILITY OF SUCH DAMAGE.
29 DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64*/
31 /* File Info -----------------------------------------------------------
35 ----------------------------------------------------------------------*/
37 #define DRD64_SRC_TEST_DRCC_FILETYPE
41 /* DrCC_FileType_VerifyTextFile ***************************************/
42 /*--------------------------------------------------------------------*/
43 void Test_DrCC_FileType_VerifyTextFile_test00_001(void)
50 i_fd = open( "./testdata/drcc_testfile.c", O_RDONLY );
52 CU_FAIL( " Not Exist TestFile: testdata/drcc_testfile.c" );
55 i_err = DrCC_FileType_VerifyTextFile( &dw_lines, &dw_length, i_fd );
58 CU_ASSERT( 0x00 == i_err );
59 CU_ASSERT( 43 == dw_lines );
60 CU_ASSERT( 76 == dw_length );
64 /*--------------------------------------------------------------------*/
65 void Test_DrCC_FileType_VerifyTextFile_test00_002(void)
72 i_fd = open( "./testdata/drcc_testfile.h", O_RDONLY );
74 CU_FAIL( " Not Exist TestFile: testdata/drcc_testfile.h" );
77 i_err = DrCC_FileType_VerifyTextFile( &dw_lines, &dw_length, i_fd );
80 CU_ASSERT( 0x00 == i_err );
81 CU_ASSERT( 49 == dw_lines );
82 CU_ASSERT( 76 == dw_length );
86 /*--------------------------------------------------------------------*/
87 void Test_DrCC_FileType_VerifyTextFile_test00_003(void)
94 i_fd = open( "./testdata/Makefile", O_RDONLY );
96 CU_FAIL( " Not Exist TestFile: testdata/Makefile" );
99 i_err = DrCC_FileType_VerifyTextFile( &dw_lines, &dw_length, i_fd );
102 CU_ASSERT( 0x00 == i_err );
103 CU_ASSERT( 145 == dw_lines );
104 CU_ASSERT( 78 == dw_length );
108 /*--------------------------------------------------------------------*/
109 void Test_DrCC_FileType_VerifyTextFile_test00_004(void)
116 i_fd = open( "./testdata/x8664db.csv", O_RDONLY );
118 CU_FAIL( " Not Exist TestFile: testdata/x8664db.csv" );
121 i_err = DrCC_FileType_VerifyTextFile( &dw_lines, &dw_length, i_fd );
124 CU_ASSERT( 0x00 == i_err );
125 CU_ASSERT( 1434 == dw_lines );
126 CU_ASSERT( 156 == dw_length );
131 /* DrCC_FileType_GetFileNamePosition **********************************/
132 /*--------------------------------------------------------------------*/
133 void Test_DrCC_FileType_GetFileNamePosition_test00_001(void)
135 CU_ASSERT_STRING_EQUAL_FATAL( "test.c",
136 DrCC_FileType_GetFileNamePosition( "./testdata/test.c" ) );
140 /*--------------------------------------------------------------------*/
141 void Test_DrCC_FileType_GetFileNamePosition_test00_002(void)
143 CU_ASSERT_STRING_EQUAL_FATAL( "Makefile",
144 DrCC_FileType_GetFileNamePosition( "./testdata/Makefile" ) );
149 /* DrCC_FileType_GetFileExtPosition ***********************************/
150 /*--------------------------------------------------------------------*/
151 void Test_DrCC_FileType_GetFileExtPosition_test00_001(void)
153 CU_ASSERT_STRING_EQUAL_FATAL( "c", DrCC_FileType_GetFileExtPosition( "test.c" ) );
157 /*--------------------------------------------------------------------*/
158 void Test_DrCC_FileType_GetFileExtPosition_test00_002(void)
160 CU_ASSERT_STRING_EQUAL_FATAL( "", DrCC_FileType_GetFileExtPosition( "test." ) );
164 /*--------------------------------------------------------------------*/
165 void Test_DrCC_FileType_GetFileExtPosition_test01_001(void)
167 CU_ASSERT_STRING_EQUAL_FATAL( "", DrCC_FileType_GetFileExtPosition( "test" ) );
171 /*--------------------------------------------------------------------*/
172 void Test_DrCC_FileType_GetFileExtPosition_test01_002(void)
174 CU_ASSERT_STRING_EQUAL_FATAL( "", DrCC_FileType_GetFileExtPosition( "" ) );
179 /* DrCC_FileType_GetFileType_fromFileName *****************************/
180 /*--------------------------------------------------------------------*/
181 void Test_DrCC_FileType_GetFileType_fromFileName_test00_001(void)
184 Drd64_DrCC_FileType t_ftype;
186 i_result = DrCC_FileType_GetFileType_fromFileName(
187 &t_ftype, "./testdata/drcc_testfile.c");
189 CU_ASSERT( 0x00 == i_result );
190 CU_ASSERT( t_ftype.b_type == DRD64_DRCC_FILETYPE_TEXT );
191 CU_ASSERT( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_CSRC );
196 /*--------------------------------------------------------------------*/
197 void Test_DrCC_FileType_GetFileType_fromFileName_test00_002(void)
200 Drd64_DrCC_FileType t_ftype;
202 i_result = DrCC_FileType_GetFileType_fromFileName(
203 &t_ftype, "./testdata/drcc_testfile.h");
205 CU_ASSERT( 0x00 == i_result );
206 CU_ASSERT( t_ftype.b_type == DRD64_DRCC_FILETYPE_TEXT );
207 CU_ASSERT( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_CHEADER );
212 /*--------------------------------------------------------------------*/
213 void Test_DrCC_FileType_GetFileType_fromFileName_test00_003(void)
216 Drd64_DrCC_FileType t_ftype;
218 i_result = DrCC_FileType_GetFileType_fromFileName(
219 &t_ftype, "./testdata/drcc_testfile.o");
221 CU_ASSERT( 0x00 == i_result );
222 CU_ASSERT( t_ftype.b_type == DRD64_DRCC_FILETYPE_BINARY );
223 CU_ASSERT( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_ELF_OBJ );
228 /*--------------------------------------------------------------------*/
229 void Test_DrCC_FileType_GetFileType_fromFileName_test01_001(void)
232 Drd64_DrCC_FileType t_ftype;
234 i_result = DrCC_FileType_GetFileType_fromFileName(
235 &t_ftype, "./testdata/drcc_notexistfile");
237 CU_ASSERT( 0x00 == i_result );
238 CU_ASSERT( t_ftype.b_type == DRD64_DRCC_FILETYPE_BINARY );
239 CU_ASSERT( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_BINARY );
245 /* DrCC_FileType_CheckFileType ****************************************/
246 /*--------------------------------------------------------------------*/
247 void Test_DrCC_FileType_CheckFileType_test00_001(void)
250 Drd64_DrCC_FileType t_ftype;
252 i_result = DrCC_FileType_CheckFileType( &t_ftype, "./testdata/drcc_testfile.c");
254 CU_ASSERT_FATAL( 0x00 == i_result );
255 CU_ASSERT_FATAL( t_ftype.b_type == DRD64_DRCC_FILETYPE_TEXT );
256 CU_ASSERT_FATAL( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_CSRC );
257 CU_ASSERT_FATAL( t_ftype.dw_filesize > 0 );
262 /*--------------------------------------------------------------------*/
263 void Test_DrCC_FileType_CheckFileType_test00_002(void)
266 Drd64_DrCC_FileType t_ftype;
268 i_result = DrCC_FileType_CheckFileType( &t_ftype, "./testdata/drcc_testfile.h");
270 CU_ASSERT_FATAL( 0x00 == i_result );
271 CU_ASSERT_FATAL( t_ftype.b_type == DRD64_DRCC_FILETYPE_TEXT );
272 CU_ASSERT_FATAL( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_CHEADER );
273 CU_ASSERT_FATAL( t_ftype.dw_filesize > 0 );
278 /*--------------------------------------------------------------------*/
279 void Test_DrCC_FileType_CheckFileType_test00_003(void)
282 Drd64_DrCC_FileType t_ftype;
284 i_result = DrCC_FileType_CheckFileType( &t_ftype, "./testdata/drcc_testfile.o");
286 CU_ASSERT_FATAL( 0x00 == i_result );
287 CU_ASSERT_FATAL( t_ftype.b_type == DRD64_DRCC_FILETYPE_BINARY );
288 CU_ASSERT_FATAL( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_ELF_OBJ );
289 CU_ASSERT_FATAL( t_ftype.dw_filesize > 0 );
294 /*--------------------------------------------------------------------*/
295 void Test_DrCC_FileType_CheckFileType_test01_001(void)
298 Drd64_DrCC_FileType t_ftype;
300 i_result = DrCC_FileType_CheckFileType( &t_ftype, "./testdata/drcc_notexistfile");
302 CU_ASSERT_FATAL( 0x00 != i_result );
308 /*----------------------------------------------------------------------
309 ----------------------------------------------------------------------*/
310 DRD64_TEST_DRCC_FILETYPE_EXTERN
315 CU_pSuite pt_edittext;
317 pt_edittext = CU_add_suite( "DrCC_FileType", NULL, NULL );
319 /* FileType_GetFileType_fromFileName *****************************************/
320 CU_add_test( pt_edittext, "FileType_GetFileType_fromFileName_test00_001",
321 Test_DrCC_FileType_GetFileType_fromFileName_test00_001 );
322 CU_add_test( pt_edittext, "FileType_GetFileType_fromFileName_test00_002",
323 Test_DrCC_FileType_GetFileType_fromFileName_test00_002 );
324 CU_add_test( pt_edittext, "FileType_GetFileType_fromFileName_test00_003",
325 Test_DrCC_FileType_GetFileType_fromFileName_test00_003 );
326 CU_add_test( pt_edittext, "FileType_GetFileType_fromFileName_test01_001",
327 Test_DrCC_FileType_GetFileType_fromFileName_test01_001 );
329 /* FileType_CheckFileType *****************************************/
330 CU_add_test( pt_edittext, "FileType_CheckFileType_test00_001",
331 Test_DrCC_FileType_CheckFileType_test00_001 );
332 CU_add_test( pt_edittext, "FileType_CheckFileType_test00_002",
333 Test_DrCC_FileType_CheckFileType_test00_002 );
334 CU_add_test( pt_edittext, "FileType_CheckFileType_test00_003",
335 Test_DrCC_FileType_CheckFileType_test00_003 );
336 CU_add_test( pt_edittext, "FileType_CheckFileType_test01_001",
337 Test_DrCC_FileType_CheckFileType_test01_001 );
339 /* FileType_GetFileExtPosition ************************************/
340 CU_add_test( pt_edittext, "FileType_GetFileExtPosition_test00_001",
341 Test_DrCC_FileType_GetFileExtPosition_test00_001 );
342 CU_add_test( pt_edittext, "FileType_GetFileExtPosition_test00_002",
343 Test_DrCC_FileType_GetFileExtPosition_test00_002 );
344 CU_add_test( pt_edittext, "FileType_GetFileExtPosition_test01_001",
345 Test_DrCC_FileType_GetFileExtPosition_test01_001 );
346 CU_add_test( pt_edittext, "FileType_GetFileExtPosition_test01_002",
347 Test_DrCC_FileType_GetFileExtPosition_test01_002 );
349 /* FileType_GetFileNamePosition ***********************************/
350 CU_add_test( pt_edittext, "FileType_GetFileNamePosition_test00_001",
351 Test_DrCC_FileType_GetFileNamePosition_test00_001 );
352 CU_add_test( pt_edittext, "FileType_GetFileNamePosition_test00_002",
353 Test_DrCC_FileType_GetFileNamePosition_test00_002 );
355 /* FileType_VerifyTextFile ***************************************/
356 CU_add_test( pt_edittext, "FileType_VerifyTextFile_test00_001",
357 Test_DrCC_FileType_VerifyTextFile_test00_001);
358 CU_add_test( pt_edittext, "FileType_VerifyTextFile_test00_002",
359 Test_DrCC_FileType_VerifyTextFile_test00_002);
360 CU_add_test( pt_edittext, "FileType_VerifyTextFile_test00_003",
361 Test_DrCC_FileType_VerifyTextFile_test00_003);
362 CU_add_test( pt_edittext, "FileType_VerifyTextFile_test00_004",
363 Test_DrCC_FileType_VerifyTextFile_test00_004);
369 /* EOF of drd64_.c ----------------------------------- */