Browse code

add dsig unit test

git-svn: trunk@4652

Török Edvin authored on 2009/01/27 19:57:54
Showing 3 changed files
... ...
@@ -1,3 +1,8 @@
1
+Tue Jan 27 13:12:50 EET 2009 (edwin)
2
+------------------------------------
3
+ * libclamav/libclamav.map, unit_tests/check_clamav.c: add dsig unit
4
+ test
5
+
1 6
 Tue Jan 27 11:46:17 CET 2009 (tk)
2 7
 ---------------------------------
3 8
  * clamscan/manager.c: fix use of uninitialized value in exclude-pua (bb#1373)
... ...
@@ -123,6 +123,7 @@ CLAMAV_PRIVATE {
123 123
     mp_init;
124 124
     mp_read_radix;
125 125
     mp_clear;
126
+    cli_versig;
126 127
   local:
127 128
     *;
128 129
 };
... ...
@@ -290,16 +290,56 @@ START_TEST (test_cli_writeint32)
290 290
 }
291 291
 END_TEST
292 292
 
293
+static struct dsig_test {
294
+    const char *md5;
295
+    const char *dsig;
296
+    int result;
297
+} dsig_tests [] = {
298
+    {"ae307614434715274c60854c931a26de", "60uhCFmiN48J8r6c7coBv9Q1mehAWEGh6GPYA+60VhQcuXfb0iV1O+sCEyMiRXt/iYF6vXtPXHVd6DiuZ4Gfrry7sVQqNTt3o1/KwU1rc0l5FHgX/nC99fdr/fjaFtinMtRnUXHLeu0j8e6HK+7JLBpD37fZ60GC9YY86EclYGe", 
299
+	CL_SUCCESS},
300
+    {"96b7feb3b2a863846438809fe481906f", "Zh5gmf09Zfj6V4gmRKu/NURzhFiE9VloI7w1G33BgDdGSs0Xhscx6sjPUpFSCPsjOalyS4L8q7RS+NdGvNCsLymiIH6RYItlOZsygFhcGuH4jt15KAaAkvEg2TwmqR8z41nUaMlZ0c8q1MXYCLvQJyFARsfzIxS3PAoN2Y3HPoe",
301
+	CL_SUCCESS},
302
+    {"ae307614434715274c60854c931a26de", "Zh5gmf09Zfj6V4gmRKu/NURzhFiE9VloI7w1G33BgDdGSs0Xhscx6sjPUpFSCPsjOalyS4L8q7RS+NdGvNCsLymiIH6RYItlOZsygFhcGuH4jt15KAaAkvEg2TwmqR8z41nUaMlZ0c8q1MXYCLvQJyFARsfzIxS3PAoN2Y3HPoe",
303
+	CL_EDSIG},
304
+    {"96b7feb3b2a863846438809fe481906f", "60uhCFmiN48J8r6c7coBv9Q1mehAWEGh6GPYA+60VhQcuXfb0iV1O+sCEyMiRXt/iYF6vXtPXHVd6DiuZ4Gfrry7sVQqNTt3o1/KwU1rc0l5FHgX/nC99fdr/fjaFtinMtRnUXHLeu0j8e6HK+7JLBpD37fZ60GC9YY86EclYGe",
305
+	CL_EDSIG},
306
+    {"ae307614434715274060854c931a26de", "60uhCFmiN48J8r6c7coBv9Q1mehAWEGh6GPYA+60VhQcuXfb0iV1O+sCEyMiRXt/iYF6vXtPXHVd6DiuZ4Gfrry7sVQqNTt3o1/KwU1rc0l5FHgX/nC99fdr/fjaFtinMtRnUXHLeu0j8e6HK+7JLBpD37fZ60GC9YY86EclYGe",
307
+	CL_EDSIG},
308
+    {"ae307614434715274c60854c931a26de", "60uhCFmiN48J8r6c7coBv9Q1mehAWEGh6GPYA+60VhQcuXfb0iV1O+sCEyMiRXt/iYF6vXtPXHVd6DiuZ4Gfrry7sVQqNTt3o1/KwU1rc0l5FHgX/nC99fdr/fjaatinMtRnUXHLeu0j8e6HK+7JLBpD37fZ60GC9YY86EclYGe",
309
+	CL_EDSIG},
310
+    {"96b7feb3b2a863846438809fe481906f", "Zh5gmf09Zfj6V4gmRKu/NURzhFiE9VloI7w1G33BgDdGSs0Xhscx6sjPUpFSCPsjOalyS4L8q7RS+NdGvNCsLymiIH6RYItlOZsygFhcGuH4jt15KAaAkvEg2TwmqR8z41nUaMlZ0c8q1MYYCLvQJyFARsfzIxS3PAoN2Y3HPoe",
311
+	CL_EDSIG},
312
+    {"ge307614434715274c60854c931a26dee","60uhCFmiN48J8r6c7coBv9Q1mehAWEGh6GPYA+60VhQcuXfb0iV1O+sCEyMiRXt/iYF6vXtPXHVd6DiuZ4Gfrry7sVQqNTt3o1/KwU1rc0l5FHgX/nC99fdr/fjaFtinMtRnUXHLeu0j8e6HK+7JLBpD37fZ60GC9YY86EclYGe",
313
+	CL_EMD5},
314
+    {"ae307614434715274c60854c931a26de", "60uhCFmiN48J8r6c7coBv9Q1mehAWEGh6GPYA+60VhQcuXfb0iV1O+sCEyMiRXt/iYF6vXtPXHVd6DiuZ4Gfrry7sVQqNTt3o1/KwU1rc0l5FHgX/nC99fdr/fjaFtinMtRnUXHLeu0j8e6HK+7JLBpD37fZ60GC9YY86EclYGee", 
315
+	CL_EDSIG},
316
+    {"ae307614434715274c60854c931a26de", "60uhCFmiN48J8r6c7coBv9Q1mehAWEGh6GPYA+", 
317
+	CL_EDSIG}
318
+};
319
+
320
+static const size_t dsig_tests_cnt = sizeof(dsig_tests)/sizeof(dsig_tests[0]);
321
+
322
+START_TEST (test_cli_dsig)
323
+{
324
+    fail_unless(cli_versig(dsig_tests[_i].md5, dsig_tests[_i].dsig) == dsig_tests[_i].result,
325
+		"digital signature verification test failed");
326
+}
327
+END_TEST
328
+
293 329
 static Suite *test_cli_suite(void)
294 330
 {
295 331
     Suite *s = suite_create("cli");
296 332
     TCase *tc_cli_others = tcase_create("byteorder_macros");
333
+    TCase *tc_cli_dsig = tcase_create("digital signatures");
297 334
 
298 335
     suite_add_tcase (s, tc_cli_others);
299 336
     tcase_add_checked_fixture (tc_cli_others, data_setup, data_teardown);
300
-    tcase_add_loop_test(tc_cli_others, test_cli_readint32, 0, 15);
301
-    tcase_add_loop_test(tc_cli_others, test_cli_readint16, 0, 15);
302
-    tcase_add_loop_test(tc_cli_others, test_cli_writeint32, 0, 15);
337
+    tcase_add_loop_test(tc_cli_others, test_cli_readint32, 0, 16);
338
+    tcase_add_loop_test(tc_cli_others, test_cli_readint16, 0, 16);
339
+    tcase_add_loop_test(tc_cli_others, test_cli_writeint32, 0, 16);
340
+
341
+    suite_add_tcase (s, tc_cli_dsig);
342
+    tcase_add_loop_test(tc_cli_dsig, test_cli_dsig, 0, dsig_tests_cnt);
303 343
 
304 344
     return s;
305 345
 }