X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Fcompile_test_helpers.c;h=0ab0cade7e96f427ad5d9f3f4dfdf7d336bf3941;hp=017a5308cbc4b48f6cba5b5f7bb6cae615efbdcc;hb=e0faeb5267ae28751df8fc47740590d0a03592f0;hpb=4e0dfdadf206c74dc9e5f302545b2419cc4798f4 diff --git a/tools/ccanlint/tests/compile_test_helpers.c b/tools/ccanlint/tests/compile_test_helpers.c index 017a5308..0ab0cade 100644 --- a/tools/ccanlint/tests/compile_test_helpers.c +++ b/tools/ccanlint/tests/compile_test_helpers.c @@ -21,34 +21,26 @@ static const char *can_build(struct manifest *m) return NULL; } -static int cleanup_testfile(char *testfile) +static char *compile(struct manifest *m, + bool keep, + struct ccan_file *cfile) { - unlink(testfile); - return 0; + cfile->compiled = maybe_temp_file(m, ".o", keep, cfile->fullname); + return compile_object(m, cfile->fullname, ccan_dir, "", + cfile->compiled); } -static char *objname(const void *ctx, const char *cfile) -{ - return talloc_asprintf(ctx, "%.*s.o ", strlen(cfile) - 2, cfile); -} - -static char *compile(struct manifest *m, const char *cfile) -{ - char *obj; - - obj = objname(m, cfile); - talloc_set_destructor(obj, cleanup_testfile); - return run_command(m, "cc " CFLAGS " -c -o %s %s", obj, cfile); -} - -static void *do_compile_test_helpers(struct manifest *m) +static void *do_compile_test_helpers(struct manifest *m, + bool keep, + unsigned int *timeleft) { char *cmdout = NULL; struct ccan_file *i; + compile_tests.total_score = 0; list_for_each(&m->other_test_c_files, i, list) { compile_tests.total_score++; - cmdout = compile(m, i->name); + cmdout = compile(m, keep, i); if (cmdout) return talloc_asprintf(m, "Failed to compile helper C" @@ -65,11 +57,12 @@ static const char *describe_compile_test_helpers(struct manifest *m, } struct ccanlint compile_test_helpers = { - .name = "Compiling test helper files", + .key = "compile-helpers", + .name = "Module test helper objects compile", .total_score = 1, .check = do_compile_test_helpers, .describe = describe_compile_test_helpers, .can_run = can_build, }; -REGISTER_TEST(compile_test_helpers, &depends_built); +REGISTER_TEST(compile_test_helpers, &depends_built, &has_tests, NULL);