test/parser: Allow raw config data in test .c files
[petitboot] / test / parser / parser-test.h
1 #ifndef PARSER_TEST_H
2 #define PARSER_TEST_H
3
4 #include <stdlib.h>
5
6 #include "device-handler.h"
7 #include "resource.h"
8
9 struct parser_test {
10         struct device_handler *handler;
11         struct discover_context *ctx;
12         struct {
13                 void    *buf;
14                 size_t  size;
15         } conf;
16 };
17
18 /* interface required for parsers */
19 void __register_parser(struct parser *parser);
20
21 /* test functions */
22 struct discover_device *test_create_device(struct discover_context *ctx,
23                 const char *name);
24
25 #define test_read_conf_data(t, d) \
26         __test_read_conf_data(t, d, sizeof(d))
27
28 void __test_read_conf_data(struct parser_test *test,
29                 const char *buf, size_t len);
30 void test_read_conf_file(struct parser_test *test, const char *filename);
31
32 int test_run_parser(struct parser_test *test, const char *parser_name);
33
34 /* embedded config */
35 extern const char __embedded_config[];
36 extern const size_t __embedded_config_size;
37 #define test_read_conf_embedded(t) \
38         __test_read_conf_data(t, __embedded_config, __embedded_config_size)
39
40 #endif /* PARSER_TEST_H */