diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/aplwc_errstr.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/aplwc_errstr.c b/tests/aplwc_errstr.c new file mode 100644 index 0000000..0a3b2ad --- /dev/null +++ b/tests/aplwc_errstr.c @@ -0,0 +1,49 @@ +#include <aplwc.h> +#include <string.h> + +int +main(void) +{ + uint8_t data[APLWC_MIN_MEM]; + struct aplwc *aplwc; + int ret; + const char *err; + + ret = aplwc_new(&aplwc, data, sizeof(data)); + if(ret) + return 1; + + err = aplwc_errstr(aplwc); + if(err == NULL) + return 1; + + if(strlen(err) != 0) + return 1; + + err = aplwc_errstr(NULL); + if(err == NULL) + return 1; + if(strcmp(err, "(unable to produce error string)") != 0) + return 1; + + ret = aplwc_destroy(aplwc); + if(ret) + return 1; + + ret = aplwc_new(&aplwc, data, 0); + if(ret == 0) + return 1; + err = aplwc_errstr_rc(ret); + if(err == NULL) + return 1; + + for(ret = 0; ret < APLWC_RC_LAST; ret++){ + err = aplwc_errstr_rc(ret); + if(err == NULL) + return 1; + if(strcmp(err, "(unable to produce error string)") == 0) + return 1; + } + + return 0; +} |