diff options
author | Alejandro Colomar <alx@kernel.org> | 2022-12-27 23:11:38 +0100 |
---|---|---|
committer | Alejandro Colomar <alx@kernel.org> | 2022-12-27 23:45:13 +0100 |
commit | ee1f8c0d8103d07809c536745c9c42376292729c (patch) | |
tree | ce6706f5c421dd6e0b6e3410f83564d11b997f6b | |
parent | 2fce0b804ad4bc9c54c317da55eeea8d858431be (diff) |
share/tests/libstp/stpe/00{2,3,4,5,6}/*: Add more tests
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r-- | share/tests/libstp/stpe/002/test.c | 25 | ||||
-rwxr-xr-x | share/tests/libstp/stpe/002/test.sh | 22 | ||||
-rw-r--r-- | share/tests/libstp/stpe/003/test.c | 25 | ||||
-rwxr-xr-x | share/tests/libstp/stpe/003/test.sh | 19 | ||||
-rw-r--r-- | share/tests/libstp/stpe/004/test.c | 25 | ||||
-rwxr-xr-x | share/tests/libstp/stpe/004/test.sh | 19 | ||||
-rw-r--r-- | share/tests/libstp/stpe/005/test.c | 25 | ||||
-rwxr-xr-x | share/tests/libstp/stpe/005/test.sh | 19 | ||||
-rw-r--r-- | share/tests/libstp/stpe/006/test.c | 26 | ||||
-rwxr-xr-x | share/tests/libstp/stpe/006/test.sh | 19 |
10 files changed, 224 insertions, 0 deletions
diff --git a/share/tests/libstp/stpe/002/test.c b/share/tests/libstp/stpe/002/test.c new file mode 100644 index 0000000..e584c6c --- /dev/null +++ b/share/tests/libstp/stpe/002/test.c @@ -0,0 +1,25 @@ +#include <stp/stpe/stpecpy.h> + +#include <stddef.h> +#include <stdio.h> + +int +main(void) +{ + char buf[13]; + char *p, *end; + size_t len; + + end = buf + sizeof(buf); + p = buf; + p = stpecpy(p, end, "Hello "); + p = stpecpy(p, end, "world"); + p = stpecpy(p, end, "!"); + if (p == end) { + p--; + puts("Truncated:"); + } + len = p - buf; + printf("%zu: ", len); + puts(buf); +} diff --git a/share/tests/libstp/stpe/002/test.sh b/share/tests/libstp/stpe/002/test.sh new file mode 100755 index 0000000..e5eadd2 --- /dev/null +++ b/share/tests/libstp/stpe/002/test.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + + +set -Eefuo pipefail; +shopt -s lastpipe; + + +./test \ +| while read out; do + if echo $out | grep -q 'Truncated'; then + >&2 echo "$out"; + exit 2; + fi; + + echo $out; +done \ +| while read out; do + if echo $out | grep -q -v '^12: Hello world!$'; then + >&2 echo "$out"; + exit 3; + fi; +done; diff --git a/share/tests/libstp/stpe/003/test.c b/share/tests/libstp/stpe/003/test.c new file mode 100644 index 0000000..3ce821e --- /dev/null +++ b/share/tests/libstp/stpe/003/test.c @@ -0,0 +1,25 @@ +#include <stp/stpe/stpecpy.h> + +#include <stddef.h> +#include <stdio.h> + +int +main(void) +{ + char buf[12]; + char *p, *end; + size_t len; + + end = buf + sizeof(buf); + p = buf; + p = stpecpy(p, end, "Hello "); + p = stpecpy(p, end, "world"); + p = stpecpy(p, end, "!"); + if (p == end) { + p--; + puts("Truncated:"); + } + len = p - buf; + printf("%zu: ", len); + puts(buf); +} diff --git a/share/tests/libstp/stpe/003/test.sh b/share/tests/libstp/stpe/003/test.sh new file mode 100755 index 0000000..ee952ea --- /dev/null +++ b/share/tests/libstp/stpe/003/test.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + + +set -Eefuo pipefail; +shopt -s lastpipe; + + +./test \ +| if ! grep -q '^Truncated:$'; then + >&2 ./test; + exit 2; +fi; + + +./test \ +| if ! grep -q '^11: Hello world$'; then + >&2 ./test; + exit 3; +fi; diff --git a/share/tests/libstp/stpe/004/test.c b/share/tests/libstp/stpe/004/test.c new file mode 100644 index 0000000..22e3677 --- /dev/null +++ b/share/tests/libstp/stpe/004/test.c @@ -0,0 +1,25 @@ +#include <stp/stpe/stpecpy.h> + +#include <stddef.h> +#include <stdio.h> + +int +main(void) +{ + char buf[11]; + char *p, *end; + size_t len; + + end = buf + sizeof(buf); + p = buf; + p = stpecpy(p, end, "Hello "); + p = stpecpy(p, end, "world"); + p = stpecpy(p, end, "!"); + if (p == end) { + p--; + puts("Truncated:"); + } + len = p - buf; + printf("%zu: ", len); + puts(buf); +} diff --git a/share/tests/libstp/stpe/004/test.sh b/share/tests/libstp/stpe/004/test.sh new file mode 100755 index 0000000..7eccc45 --- /dev/null +++ b/share/tests/libstp/stpe/004/test.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + + +set -Eefuo pipefail; +shopt -s lastpipe; + + +./test \ +| if ! grep -q '^Truncated:$'; then + >&2 ./test; + exit 2; +fi; + + +./test \ +| if ! grep -q '^10: Hello worl$'; then + >&2 ./test; + exit 3; +fi; diff --git a/share/tests/libstp/stpe/005/test.c b/share/tests/libstp/stpe/005/test.c new file mode 100644 index 0000000..808d701 --- /dev/null +++ b/share/tests/libstp/stpe/005/test.c @@ -0,0 +1,25 @@ +#include <stp/stpe/stpecpy.h> + +#include <stddef.h> +#include <stdio.h> + +int +main(void) +{ + char buf[1]; + char *p, *end; + size_t len; + + end = buf + sizeof(buf); + p = buf; + p = stpecpy(p, end, "Hello "); + p = stpecpy(p, end, "world"); + p = stpecpy(p, end, "!"); + if (p == end) { + p--; + puts("Truncated:"); + } + len = p - buf; + printf("%zu: ", len); + puts(buf); +} diff --git a/share/tests/libstp/stpe/005/test.sh b/share/tests/libstp/stpe/005/test.sh new file mode 100755 index 0000000..1cadf3a --- /dev/null +++ b/share/tests/libstp/stpe/005/test.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + + +set -Eefuo pipefail; +shopt -s lastpipe; + + +./test \ +| if ! grep -q '^Truncated:$'; then + >&2 ./test; + exit 2; +fi; + + +./test \ +| if ! grep -q '^0: $'; then + >&2 ./test; + exit 3; +fi; diff --git a/share/tests/libstp/stpe/006/test.c b/share/tests/libstp/stpe/006/test.c new file mode 100644 index 0000000..a7f959f --- /dev/null +++ b/share/tests/libstp/stpe/006/test.c @@ -0,0 +1,26 @@ +#include <stp/stpe/stpecpy.h> + +#include <stddef.h> +#include <stdio.h> + +int +main(void) +{ + char buf[11]; + char *p, *end; + size_t len; + + end = buf + sizeof(buf); + p = buf; + p = stpecpy(p, end, "Hello "); + p = stpecpy(p, end, "world"); + p = stpecpy(p, end, "!"); + p = stpecpy(p, end, ""); + if (p == end) { + p--; + puts("Truncated:"); + } + len = p - buf; + printf("%zu: ", len); + puts(buf); +} diff --git a/share/tests/libstp/stpe/006/test.sh b/share/tests/libstp/stpe/006/test.sh new file mode 100755 index 0000000..7eccc45 --- /dev/null +++ b/share/tests/libstp/stpe/006/test.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + + +set -Eefuo pipefail; +shopt -s lastpipe; + + +./test \ +| if ! grep -q '^Truncated:$'; then + >&2 ./test; + exit 2; +fi; + + +./test \ +| if ! grep -q '^10: Hello worl$'; then + >&2 ./test; + exit 3; +fi; |