File tree Expand file tree Collapse file tree 7 files changed +256
-174
lines changed
Expand file tree Collapse file tree 7 files changed +256
-174
lines changed Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change 1+ /input.bin
Original file line number Diff line number Diff line change 1+ CHAR_A
2+ CHAR_CLASS_0_A
3+ CHAR_CLASS_1_A
4+ CHAR_CLASS_2_A
5+ CHAR_CLASS_3_A
6+ STRING_0_A
7+ STRING_1_A
8+ STRING_2_A
9+ STRING_3_A
10+ CHAR_CLASS_0_A
11+ CAPTURED_A
12+ CHAR_B
13+ CHAR_CLASS_0_B
14+ CHAR_CLASS_1_B
15+ CHAR_CLASS_2_B
16+ CHAR_CLASS_3_B
17+ STRING_0_B
18+ STRING_1_B
19+ STRING_2_B
20+ STRING_3_B
21+ CHAR_CLASS_0_B
22+ CAPTURED_B
Original file line number Diff line number Diff line change 1+ FILE <- (LINE ';\n')+
2+ LINE <- CHAR / CHAR_CLASS_0 / CHAR_CLASS_1 / CHAR_CLASS_2 / CHAR_CLASS_3 / STRING_0 / STRING_1 / STRING_2 / STRING_3 / CAPTURED
3+
4+ CHAR <- "char_a:" '\0' { printf("CHAR_A\n"); } / "char_b:" '\x00' { printf("CHAR_B\n"); }
5+ CHAR_CLASS_0 <- "char_class_0_a:" [abc\0-!123]+ { printf("CHAR_CLASS_0_A\n"); } / "char_class_0_b:" [abc\x00-!123]+ { printf("CHAR_CLASS_0_B\n"); }
6+ CHAR_CLASS_1 <- "char_class_1_a:" [abc\0]+ { printf("CHAR_CLASS_1_A\n"); } / "char_class_1_b:" [abc\x00]+ { printf("CHAR_CLASS_1_B\n"); }
7+ CHAR_CLASS_2 <- "char_class_2_a:" [\0-!]+ { printf("CHAR_CLASS_2_A\n"); } / "char_class_2_b:" [\x00-!]+ { printf("CHAR_CLASS_2_B\n"); }
8+ CHAR_CLASS_3 <- "char_class_3_a:" [\0]+ { printf("CHAR_CLASS_3_A\n"); } / "char_class_3_b:" [\x00]+ { printf("CHAR_CLASS_3_B\n"); }
9+ STRING_0 <- "string_0_a:" "abc\0123" { printf("STRING_0_A\n"); } / "string_0_b:" "abc\x00123" { printf("STRING_0_B\n"); }
10+ STRING_1 <- "string_1_a:" "abc\0" { printf("STRING_1_A\n"); } / "string_1_b:" "abc\x00" { printf("STRING_1_B\n"); }
11+ STRING_2 <- "string_2_a:" "\0123" { printf("STRING_2_A\n"); } / "string_2_b:" "\x00123" { printf("STRING_2_B\n"); }
12+ STRING_3 <- "string_3_a:" "\0" { printf("STRING_3_A\n"); } / "string_3_b:" "\x00" { printf("STRING_3_B\n"); }
13+ CAPTURED <- "captured_a:" < CHAR_CLASS_0 "xyz\0123" > "|" $1 { printf("CAPTURED_A\n"); } / "captured_b:" < CHAR_CLASS_0 "xyz\x00123" > "|" $2 { printf("CAPTURED_B\n"); }
Original file line number Diff line number Diff line change 1+ char_a:X;
2+ char_class_0_a:c3X!;
3+ char_class_1_a:aXc;
4+ char_class_2_a:!X!X;
5+ char_class_3_a:XX;
6+ string_0_a:abcX123;
7+ string_1_a:abcX;
8+ string_2_a:X123;
9+ string_3_a:X;
10+ captured_a:char_class_0_a:X!c3xyzX123|char_class_0_a:X!c3xyzX123;
11+ char_b:X;
12+ char_class_0_b:c3X!;
13+ char_class_1_b:aXc;
14+ char_class_2_b:!X!X;
15+ char_class_3_b:XX;
16+ string_0_b:abcX123;
17+ string_1_b:abcX;
18+ string_2_b:X123;
19+ string_3_b:X;
20+ captured_b:char_class_0_b:X!c3xyzX123|char_class_0_b:X!c3xyzX123;
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bats
2+
3+ load " $TESTDIR /utils.sh"
4+
5+ @test " Testing null.d - generation" {
6+ test_generate
7+ }
8+
9+ @test " Testing null.d - compilation" {
10+ test_compile
11+ }
12+
13+ @test " Testing null.d - run" {
14+ tr " X" " \0" < " $BATS_TEST_DIRNAME /input.txt" > " $BATS_TEST_DIRNAME /input.bin"
15+ run_for_input " $BATS_TEST_DIRNAME /input.bin" " $BATS_TEST_DIRNAME /expected.txt"
16+ }
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ check_output() {
1212
1313run_for_input () {
1414 run timeout 5s " $BATS_TEST_DIRNAME /parser" < " $1 "
15- check_output " $1 "
15+ check_output " ${2 :- $1 } "
1616}
1717
1818in_header () {
You can’t perform that action at this time.
0 commit comments