X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_resource.c;h=a3a82f13a5a56ad10dec1bb3aefe977d0f17f7b2;hb=dd0eedb1cfcf0cb7423d859177c5bc6f931eaf8a;hp=b397fa8f2082737db987313e425ecca084c6a767;hpb=ab64f5df8004d7187613a542bf3df29de49f597f;p=dpdk.git diff --git a/app/test/test_resource.c b/app/test/test_resource.c index b397fa8f20..a3a82f13a5 100644 --- a/app/test/test_resource.c +++ b/app/test/test_resource.c @@ -65,6 +65,7 @@ REGISTER_LINKED_RESOURCE(test_resource_c); static int test_resource_c(void) { const struct resource *r; + FILE *f; r = resource_find("test_resource_c"); TEST_ASSERT_NOT_NULL(r, "No test_resource_c found"); @@ -72,9 +73,47 @@ static int test_resource_c(void) "Found resource %s, expected test_resource_c", r->name); + TEST_ASSERT_SUCCESS(resource_fwrite_file(r, "test_resource.c"), + "Failed to to write file %s", r->name); + + f = fopen("test_resource.c", "r"); + TEST_ASSERT_NOT_NULL(f, + "Missing extracted file resource.c"); + fclose(f); + remove("test_resource.c"); + return 0; } +#ifdef RTE_APP_TEST_RESOURCE_TAR +REGISTER_LINKED_RESOURCE(test_resource_tar); + +static int test_resource_tar(void) +{ + const struct resource *r; + FILE *f; + + r = resource_find("test_resource_tar"); + TEST_ASSERT_NOT_NULL(r, "No test_resource_tar found"); + TEST_ASSERT(!strcmp(r->name, "test_resource_tar"), + "Found resource %s, expected test_resource_tar", + r->name); + + TEST_ASSERT_SUCCESS(resource_untar(r), + "Failed to to untar %s", r->name); + + f = fopen("test_resource.c", "r"); + TEST_ASSERT_NOT_NULL(f, + "Missing extracted file test_resource.c"); + fclose(f); + + TEST_ASSERT_SUCCESS(resource_rm_by_tar(r), + "Failed to remove extracted contents of %s", r->name); + return 0; +} + +#endif /* RTE_APP_TEST_RESOURCE_TAR */ + static int test_resource(void) { if (test_resource_dpdk()) @@ -83,11 +122,12 @@ static int test_resource(void) if (test_resource_c()) return -1; +#ifdef RTE_APP_TEST_RESOURCE_TAR + if (test_resource_tar()) + return -1; +#endif /* RTE_APP_TEST_RESOURCE_TAR */ + return 0; } -static struct test_command resource_cmd = { - .command = "resource_autotest", - .callback = test_resource, -}; -REGISTER_TEST_COMMAND(resource_cmd); +REGISTER_TEST_COMMAND(resource_autotest, test_resource);