~ubuntu-branches/ubuntu/trusty/clamav/trusty-security

« back to all changes in this revision

Viewing changes to unit_tests/check_clamav.c

  • Committer: Package Import Robot
  • Author(s): Scott Kitterman
  • Date: 2014-03-05 23:59:25 UTC
  • mfrom: (0.35.38 sid)
  • Revision ID: package-import@ubuntu.com-20140305235925-nttbuglwa0kmpi3a
Tags: 0.98.1+dfsg-2ubuntu1
* Merge from Debian unstable.  Remaining changes:
  - Drop build-dep on electric-fence (in Universe)
  - Add apparmor profiles for clamd and freshclam along with maintainer
    script changes

Show diffs side-by-side

added added

removed removed

Lines of Context:
361
361
static const int expected_testfiles = 46;
362
362
#endif
363
363
 
 
364
static unsigned skip_unrar_files(void)
 
365
{
 
366
        const char *s = getenv("unrar_disabled");
 
367
 
 
368
        if (!s)
 
369
                return 0;
 
370
 
 
371
        if (strcmp(s, "1"))
 
372
                return 0;
 
373
 
 
374
        /* number of .rar files we skipp */
 
375
        return 2;
 
376
}
 
377
 
364
378
static void init_testfiles(void)
365
379
{
366
380
    struct dirent *dirent;
 
381
    int expect = expected_testfiles;
367
382
    unsigned i = 0;
368
383
 
369
384
    DIR *d = opendir(OBJDIR"/../test");
375
390
    while ((dirent = readdir(d))) {
376
391
        if (strncmp(dirent->d_name, "clam", 4))
377
392
            continue;
 
393
        if (strstr(dirent->d_name, ".rar") && skip_unrar_files()) {
 
394
                cli_dbgmsg("skipping (no unrar) %s\n", dirent->d_name);
 
395
                continue;
 
396
        }
378
397
        i++;
379
398
        testfiles = cli_realloc(testfiles, i*sizeof(*testfiles));
380
399
        fail_unless(!!testfiles, "cli_realloc");
381
400
        testfiles[i-1] = strdup(dirent->d_name);
382
401
    }
383
402
    testfiles_n = i;
384
 
    fail_unless_fmt(testfiles_n == expected_testfiles, "testfiles: %d != %d", testfiles_n, expected_testfiles);
 
403
    expect -= skip_unrar_files();
 
404
    fail_unless_fmt(testfiles_n == expect, "testfiles: %d != %d", testfiles_n, expect);
385
405
 
386
406
    closedir(d);
387
407
}
560
580
 
561
581
static Suite *test_cl_suite(void)
562
582
{
 
583
    int expect = expected_testfiles;
 
584
 
563
585
    Suite *s = suite_create("cl_api");
564
586
    TCase *tc_cl = tcase_create("cl_dup");
565
587
    TCase *tc_cl_scan = tcase_create("cl_scan");
585
607
    suite_add_tcase(s, tc_cl_scan);
586
608
    tcase_add_checked_fixture (tc_cl_scan, engine_setup, engine_teardown);
587
609
#ifdef CHECK_HAVE_LOOPS
588
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scandesc, 0, expected_testfiles);
589
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scandesc_allscan, 0, expected_testfiles);
590
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scanfile, 0, expected_testfiles);
591
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scanfile_allscan, 0, expected_testfiles);
592
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scandesc_callback, 0, expected_testfiles);
593
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scandesc_callback_allscan, 0, expected_testfiles);
594
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scanfile_callback, 0, expected_testfiles);
595
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scanfile_callback_allscan, 0, expected_testfiles);
596
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scanmap_callback_handle, 0, expected_testfiles);
597
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scanmap_callback_handle_allscan, 0, expected_testfiles);
598
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scanmap_callback_mem, 0, expected_testfiles);
599
 
    tcase_add_loop_test(tc_cl_scan, test_cl_scanmap_callback_mem_allscan, 0, expected_testfiles);
 
610
    expect -= skip_unrar_files();
 
611
 
 
612
    tcase_add_loop_test(tc_cl_scan, test_cl_scandesc, 0, expect);
 
613
    tcase_add_loop_test(tc_cl_scan, test_cl_scandesc_allscan, 0, expect);
 
614
    tcase_add_loop_test(tc_cl_scan, test_cl_scanfile, 0, expect);
 
615
    tcase_add_loop_test(tc_cl_scan, test_cl_scanfile_allscan, 0, expect);
 
616
    tcase_add_loop_test(tc_cl_scan, test_cl_scandesc_callback, 0, expect);
 
617
    tcase_add_loop_test(tc_cl_scan, test_cl_scandesc_callback_allscan, 0, expect);
 
618
    tcase_add_loop_test(tc_cl_scan, test_cl_scanfile_callback, 0, expect);
 
619
    tcase_add_loop_test(tc_cl_scan, test_cl_scanfile_callback_allscan, 0, expect);
 
620
    tcase_add_loop_test(tc_cl_scan, test_cl_scanmap_callback_handle, 0, expect);
 
621
    tcase_add_loop_test(tc_cl_scan, test_cl_scanmap_callback_handle_allscan, 0, expect);
 
622
    tcase_add_loop_test(tc_cl_scan, test_cl_scanmap_callback_mem, 0, expect);
 
623
    tcase_add_loop_test(tc_cl_scan, test_cl_scanmap_callback_mem_allscan, 0, expect);
600
624
#endif
601
625
    return s;
602
626
}