diff options
author | Geoff Levand <geoff@infradead.org> | 2012-03-18 22:19:49 -0700 |
---|---|---|
committer | Geoff Levand <geoff@infradead.org> | 2012-03-18 22:19:49 -0700 |
commit | 8bd85461621fb0ff18059305a6c1aecdbc18016c (patch) | |
tree | ef74fc1a811fc1c14797b0a2ab0735d37475e0dd /test/parser/parser-test.c | |
parent | d40cc2cc3f7c78a766c7ab26aa0cb73ae17534c0 (diff) | |
download | talos-petitboot-8bd85461621fb0ff18059305a6c1aecdbc18016c.tar.gz talos-petitboot-8bd85461621fb0ff18059305a6c1aecdbc18016c.zip |
Parser test cleanup
Major cleanup of parser tests.
* Change test data directory layout to ease test automation.
* Remove some unneeded files.
* Re-write test wraper script, rename to run-parser-tests.
* Rework for autotools.
Signed-off-by: Geoff Levand <geoff@infradead.org>
Diffstat (limited to 'test/parser/parser-test.c')
-rw-r--r-- | test/parser/parser-test.c | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/test/parser/parser-test.c b/test/parser/parser-test.c new file mode 100644 index 0000000..90b3e3b --- /dev/null +++ b/test/parser/parser-test.c @@ -0,0 +1,74 @@ +#define _GNU_SOURCE + +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include <log/log.h> +#include "pb-protocol/pb-protocol.h" +#include <talloc/talloc.h> + +#include "discover/device-handler.h" +#include "discover/parser.h" +#include "discover/parser-utils.h" +#include "discover/paths.h" + +static FILE *testf; + +void device_add_boot_option(struct device *device, + struct boot_option *boot_option) +{ + fprintf(testf, "%s: %s\n", __func__, device->id); + fprintf(testf, " id '%s'\n", boot_option->id); + fprintf(testf, " name '%s'\n", boot_option->name); + fprintf(testf, " descr '%s'\n", boot_option->description); + fprintf(testf, " icon '%s'\n", boot_option->icon_file); + fprintf(testf, " image '%s'\n", boot_option->boot_image_file); + fprintf(testf, " initrd '%s'\n", boot_option->initrd_file); + fprintf(testf, " args '%s'\n", boot_option->boot_args); + fflush(testf); +} + +const char *generic_icon_file( + enum generic_icon_type __attribute__((unused)) type) +{ + return "tester.png"; +} + +enum generic_icon_type guess_device_type( + struct discover_context __attribute__((unused)) *ctx) +{ + return ICON_TYPE_UNKNOWN; +} + +int main(int argc, char **argv) +{ + struct discover_context *ctx; + + if (argc != 3) { + fprintf(stderr, "usage: %s <basedir> <devname>\n", argv[0]); + return EXIT_FAILURE; + } + + /* Default to test on stdout, pb_log on stderr. */ + + testf = stdout; + + pb_log_set_stream(stderr); + pb_log_always_flush(1); + pb_log("--- parser-test ---\n"); + + ctx = talloc_zero(NULL, struct discover_context); + + ctx->device_path = talloc_asprintf(ctx, "%s/%s", argv[1], argv[2]); + ctx->device = talloc_zero(ctx, struct device); + ctx->device->id = talloc_strdup(ctx->device, argv[2]); + + iterate_parsers(ctx); + + pb_log("--- end ---\n"); + + return EXIT_SUCCESS; +} |