diff options
| author | EuAndreh <eu@euandre.org> | 2024-04-07 11:49:25 -0300 |
|---|---|---|
| committer | EuAndreh <eu@euandre.org> | 2024-04-07 11:49:25 -0300 |
| commit | 381492a000454822398a8737c73ea586464ee56a (patch) | |
| tree | 9e28124ba2373b157356f0d5172b60009a20041e /tests/util.c | |
| parent | src/lib.c: Print project metadata on pindaiba_main (diff) | |
| download | pindaiba-381492a000454822398a8737c73ea586464ee56a.tar.gz pindaiba-381492a000454822398a8737c73ea586464ee56a.tar.xz | |
src/util.c: Add slurp(), with a simple test
Diffstat (limited to '')
| -rw-r--r-- | tests/util.c | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/util.c b/tests/util.c new file mode 100644 index 0000000..5e2e203 --- /dev/null +++ b/tests/util.c @@ -0,0 +1,66 @@ +#include "../src/util.c" + +#include <assert.h> + +#include "../src/testing.h" +#include "slurp.h" + + +static int +test_slurp(void) { + int rc = -1; + + char *given = NULL; + char *expected = NULL; + + { + testing("non-existent file"); + + const char *const filename = __FILE__ ".non-existant"; + const int ret_given = slurp(filename, &given); + const int ret_expected = slurp_for_tests(filename, &expected); + + assert(given == NULL); + assert(expected == NULL); + assert(!!ret_given == !!ret_expected); + + test_ok(); + } + { + testing("slurp() == slurp_for_tests()"); + + if (slurp(__FILE__, &given)) { + logerr("slurp(__FILE__, &given);\n"); + goto out; + } + + if (slurp_for_tests(__FILE__, &expected)) { + logerr("slurp_for_tests(__FILE__, &expected);\n"); + goto out; + } + + assert(given != NULL); + assert(expected != NULL); + assert(strcmp(given, expected) == 0); + test_ok(); + } + + rc = 0; +out: + return rc; +} + + +int +main(void) { + int rc = -1; + + if (test_slurp()) { + logerr("test_slurp();\n"); + goto out; + } + + rc = 0; +out: + return !!rc; +} |
