diff options
| author | peter <peter@pmikkelsen.com> | 2026-08-21 16:18:14 +0000 |
|---|---|---|
| committer | peter <peter@pmikkelsen.com> | 2026-08-21 16:18:14 +0000 |
| commit | fabbd7590258478f4304ac6cdd9996d4a86eafd9 (patch) | |
| tree | 6665ee5971e2f2e3b49032427b66c2894cefd716 /tests | |
| parent | 8af7b7fc0a8dbe3502a7cd43c6a10fdcc6013677 (diff) | |
More work on the scanner and tests for it
FossilOrigin-Name: 037c88ce86e1ba3a399c03a27d4c7252b52c2f500bc13f449e19e497b0607880
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/aplwc_read.c | 48 | ||||
| -rw-r--r-- | tests/aplwc_read/bad/1.txt | 2 | ||||
| -rw-r--r-- | tests/aplwc_read/bad/2.txt | 1 | ||||
| -rw-r--r-- | tests/aplwc_read/good/1.txt | 1 | ||||
| -rw-r--r-- | tests/aplwc_read/good/2.txt | 4 | ||||
| -rw-r--r-- | tests/aplwc_read/good/3.txt | 1 | ||||
| -rw-r--r-- | tests/aplwc_read/good/4.txt | 1 | ||||
| -rw-r--r-- | tests/aplwc_read/good/5.txt | 1 |
8 files changed, 59 insertions, 0 deletions
diff --git a/tests/aplwc_read.c b/tests/aplwc_read.c new file mode 100644 index 0000000..b011151 --- /dev/null +++ b/tests/aplwc_read.c @@ -0,0 +1,48 @@ +#include <stdio.h> +#include <stdlib.h> +#include <aplwc.h> + +int +main(int argc, char *argv[]) +{ + uint8_t data[APLWC_MIN_MEM+100]; + char *input; + struct aplwc *aplwc; + struct aplwc_line *line; + enum aplwc_rc ret; + FILE *f; + long input_size; + + if(argc != 2) + return 1; + + f = fopen(argv[1], "r"); + if(f == NULL) + return 1; + if(fseek(f, 0, SEEK_END)) + return 1; + input_size = ftell(f); + if(input_size < 0) + return 1; + rewind(f); + + input = malloc(input_size+1); + if(input == NULL) + return 1; + if(fread(input, 1, input_size, f) < (size_t)input_size) + return 1; + input[input_size] = 0; + + ret = aplwc_new(&aplwc, data, sizeof(data)); + if(ret) + return 1; + + line = aplwc_read(aplwc, input); + if((line == NULL) && (aplwc_last_error(aplwc) != APLWC_OUT_OF_MEMORY)) + return 1; + aplwc_free_line(line); + aplwc_destroy(aplwc); + free(input); + + return 0; +} diff --git a/tests/aplwc_read/bad/1.txt b/tests/aplwc_read/bad/1.txt new file mode 100644 index 0000000..422c2b7 --- /dev/null +++ b/tests/aplwc_read/bad/1.txt @@ -0,0 +1,2 @@ +a +b diff --git a/tests/aplwc_read/bad/2.txt b/tests/aplwc_read/bad/2.txt new file mode 100644 index 0000000..94226da --- /dev/null +++ b/tests/aplwc_read/bad/2.txt @@ -0,0 +1 @@ +2a diff --git a/tests/aplwc_read/good/1.txt b/tests/aplwc_read/good/1.txt new file mode 100644 index 0000000..7898192 --- /dev/null +++ b/tests/aplwc_read/good/1.txt @@ -0,0 +1 @@ +a diff --git a/tests/aplwc_read/good/2.txt b/tests/aplwc_read/good/2.txt new file mode 100644 index 0000000..ce63f2c --- /dev/null +++ b/tests/aplwc_read/good/2.txt @@ -0,0 +1,4 @@ +a + + + diff --git a/tests/aplwc_read/good/3.txt b/tests/aplwc_read/good/3.txt new file mode 100644 index 0000000..73c6204 --- /dev/null +++ b/tests/aplwc_read/good/3.txt @@ -0,0 +1 @@ +a1 b_2 cd_ef3 diff --git a/tests/aplwc_read/good/4.txt b/tests/aplwc_read/good/4.txt new file mode 100644 index 0000000..1d7510c --- /dev/null +++ b/tests/aplwc_read/good/4.txt @@ -0,0 +1 @@ +a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a diff --git a/tests/aplwc_read/good/5.txt b/tests/aplwc_read/good/5.txt new file mode 100644 index 0000000..4a873df --- /dev/null +++ b/tests/aplwc_read/good/5.txt @@ -0,0 +1 @@ +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |