X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_resource.c;h=a3a82f13a5a56ad10dec1bb3aefe977d0f17f7b2;hb=dd0eedb1cfcf0cb7423d859177c5bc6f931eaf8a;hp=69391ad49ed36cd6fbc41268594b73385858188a;hpb=fe6923cbfd7619e6650e8f5ae6bbbc949273059b;p=dpdk.git diff --git a/app/test/test_resource.c b/app/test/test_resource.c index 69391ad49e..a3a82f13a5 100644 --- a/app/test/test_resource.c +++ b/app/test/test_resource.c @@ -60,16 +60,74 @@ static int test_resource_dpdk(void) return 0; } +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"); + TEST_ASSERT(!strcmp(r->name, "test_resource_c"), + "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()) return -1; + 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);