[LTP] [PATCH v3 2/7] docparse: Add tests
Cyril Hrubis
chrubis@suse.cz
Wed Nov 3 13:02:28 CET 2021
This add a simple tests for the docparse parser.
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
Reviewed-by: Richard Palethorpe <rpalethorpe@suse.com>
---
docparse/tests/Makefile | 4 ++++
docparse/tests/empty_struct.c | 2 ++
docparse/tests/empty_struct.c.json | 3 +++
docparse/tests/expand_flags.c | 3 +++
docparse/tests/expand_flags.c.json | 6 ++++++
docparse/tests/include.c | 5 +++++
docparse/tests/include.c.json | 4 ++++
docparse/tests/include.h | 1 +
docparse/tests/macro.c | 5 +++++
docparse/tests/macro.c.json | 4 ++++
docparse/tests/macro_str.c | 5 +++++
docparse/tests/macro_str.c.json | 4 ++++
docparse/tests/multiline_macro.c | 6 ++++++
docparse/tests/multiline_macro.c.json | 4 ++++
docparse/tests/tags.c | 7 +++++++
docparse/tests/tags.c.json | 13 +++++++++++++
docparse/tests/test.sh | 18 ++++++++++++++++++
17 files changed, 94 insertions(+)
create mode 100644 docparse/tests/Makefile
create mode 100644 docparse/tests/empty_struct.c
create mode 100644 docparse/tests/empty_struct.c.json
create mode 100644 docparse/tests/expand_flags.c
create mode 100644 docparse/tests/expand_flags.c.json
create mode 100644 docparse/tests/include.c
create mode 100644 docparse/tests/include.c.json
create mode 100644 docparse/tests/include.h
create mode 100644 docparse/tests/macro.c
create mode 100644 docparse/tests/macro.c.json
create mode 100644 docparse/tests/macro_str.c
create mode 100644 docparse/tests/macro_str.c.json
create mode 100644 docparse/tests/multiline_macro.c
create mode 100644 docparse/tests/multiline_macro.c.json
create mode 100644 docparse/tests/tags.c
create mode 100644 docparse/tests/tags.c.json
create mode 100755 docparse/tests/test.sh
diff --git a/docparse/tests/Makefile b/docparse/tests/Makefile
new file mode 100644
index 000000000..b5c8c4668
--- /dev/null
+++ b/docparse/tests/Makefile
@@ -0,0 +1,4 @@
+all:
+
+test:
+ @./test.sh
diff --git a/docparse/tests/empty_struct.c b/docparse/tests/empty_struct.c
new file mode 100644
index 000000000..e5d986413
--- /dev/null
+++ b/docparse/tests/empty_struct.c
@@ -0,0 +1,2 @@
+static struct tst_test test = {
+};
diff --git a/docparse/tests/empty_struct.c.json b/docparse/tests/empty_struct.c.json
new file mode 100644
index 000000000..9f49f5332
--- /dev/null
+++ b/docparse/tests/empty_struct.c.json
@@ -0,0 +1,3 @@
+ "empty_struct": {
+ "fname": "empty_struct.c"
+ }
\ No newline at end of file
diff --git a/docparse/tests/expand_flags.c b/docparse/tests/expand_flags.c
new file mode 100644
index 000000000..64f6da64e
--- /dev/null
+++ b/docparse/tests/expand_flags.c
@@ -0,0 +1,3 @@
+static struct tst_test test = {
+ .all_filesystems = 1,
+};
diff --git a/docparse/tests/expand_flags.c.json b/docparse/tests/expand_flags.c.json
new file mode 100644
index 000000000..cd79dd296
--- /dev/null
+++ b/docparse/tests/expand_flags.c.json
@@ -0,0 +1,6 @@
+ "expand_flags": {
+ "all_filesystems": "1",
+ "needs_device": "1",
+ "needs_tmpdir": "1",
+ "fname": "expand_flags.c"
+ }
\ No newline at end of file
diff --git a/docparse/tests/include.c b/docparse/tests/include.c
new file mode 100644
index 000000000..15377e339
--- /dev/null
+++ b/docparse/tests/include.c
@@ -0,0 +1,5 @@
+# include "include.h"
+
+static struct tst_test test = {
+ .test_variants = TEST_VARIANTS,
+};
diff --git a/docparse/tests/include.c.json b/docparse/tests/include.c.json
new file mode 100644
index 000000000..b4ef1ccda
--- /dev/null
+++ b/docparse/tests/include.c.json
@@ -0,0 +1,4 @@
+ "include": {
+ "test_variants": "10",
+ "fname": "include.c"
+ }
\ No newline at end of file
diff --git a/docparse/tests/include.h b/docparse/tests/include.h
new file mode 100644
index 000000000..efa11d24f
--- /dev/null
+++ b/docparse/tests/include.h
@@ -0,0 +1 @@
+#define TEST_VARIANTS 10
diff --git a/docparse/tests/macro.c b/docparse/tests/macro.c
new file mode 100644
index 000000000..296da12f5
--- /dev/null
+++ b/docparse/tests/macro.c
@@ -0,0 +1,5 @@
+#define TEST_VARIANTS 10
+
+static struct tst_test test = {
+ .test_variants = TEST_VARIANTS,
+};
diff --git a/docparse/tests/macro.c.json b/docparse/tests/macro.c.json
new file mode 100644
index 000000000..0dc73d8ec
--- /dev/null
+++ b/docparse/tests/macro.c.json
@@ -0,0 +1,4 @@
+ "macro": {
+ "test_variants": "10",
+ "fname": "macro.c"
+ }
\ No newline at end of file
diff --git a/docparse/tests/macro_str.c b/docparse/tests/macro_str.c
new file mode 100644
index 000000000..9e5f22489
--- /dev/null
+++ b/docparse/tests/macro_str.c
@@ -0,0 +1,5 @@
+#define SYSCALL "syscall(\"foo\")"
+
+static struct tst_test test = {
+ .syscall = SYSCALL,
+};
diff --git a/docparse/tests/macro_str.c.json b/docparse/tests/macro_str.c.json
new file mode 100644
index 000000000..b16228316
--- /dev/null
+++ b/docparse/tests/macro_str.c.json
@@ -0,0 +1,4 @@
+ "macro_str": {
+ "syscall": "syscall(\"foo\")",
+ "fname": "macro_str.c"
+ }
\ No newline at end of file
diff --git a/docparse/tests/multiline_macro.c b/docparse/tests/multiline_macro.c
new file mode 100644
index 000000000..2de58112b
--- /dev/null
+++ b/docparse/tests/multiline_macro.c
@@ -0,0 +1,6 @@
+#define TEST_VARIANTS \
+ 10
+
+static struct tst_test test = {
+ .test_variants = TEST_VARIANTS,
+};
diff --git a/docparse/tests/multiline_macro.c.json b/docparse/tests/multiline_macro.c.json
new file mode 100644
index 000000000..bafd037da
--- /dev/null
+++ b/docparse/tests/multiline_macro.c.json
@@ -0,0 +1,4 @@
+ "multiline_macro": {
+ "test_variants": "10",
+ "fname": "multiline_macro.c"
+ }
\ No newline at end of file
diff --git a/docparse/tests/tags.c b/docparse/tests/tags.c
new file mode 100644
index 000000000..ade3974ff
--- /dev/null
+++ b/docparse/tests/tags.c
@@ -0,0 +1,7 @@
+static struct tst_test test = {
+ .tags = (const struct tst_tag[]) {
+ {"tag-name-1", "tag-value-1"},
+ {"tag-name-2", "tag-value-2"},
+ {}
+ }
+};
diff --git a/docparse/tests/tags.c.json b/docparse/tests/tags.c.json
new file mode 100644
index 000000000..14cc14f1c
--- /dev/null
+++ b/docparse/tests/tags.c.json
@@ -0,0 +1,13 @@
+ "tags": {
+ "tags": [
+ [
+ "tag-name-1",
+ "tag-value-1"
+ ],
+ [
+ "tag-name-2",
+ "tag-value-2"
+ ]
+ ],
+ "fname": "tags.c"
+ }
\ No newline at end of file
diff --git a/docparse/tests/test.sh b/docparse/tests/test.sh
new file mode 100755
index 000000000..767cc464c
--- /dev/null
+++ b/docparse/tests/test.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+fail=0
+
+for i in *.c; do
+ ../docparse $i > tmp.json
+ if ! diff tmp.json $i.json &> /dev/null; then
+ echo "***"
+ echo "$i output differs!"
+ diff -u tmp.json $i.json
+ echo "***"
+ fail=1
+ fi
+done
+
+rm -f tmp.json
+
+exit $fail
--
2.32.0
More information about the ltp
mailing list