X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Frun-tdb_errorstr.c;fp=ccan%2Ftdb2%2Ftest%2Frun-tdb_errorstr.c;h=dd8e7b0c39e529c05528b895507eaa35428b3218;hp=0000000000000000000000000000000000000000;hb=b846677c1ec77e986c7d6b7c913aa2a4b0c82d4e;hpb=b8d05b195bfa10cb2a5b21985536ea45350029d5 diff --git a/ccan/tdb2/test/run-tdb_errorstr.c b/ccan/tdb2/test/run-tdb_errorstr.c new file mode 100644 index 00000000..dd8e7b0c --- /dev/null +++ b/ccan/tdb2/test/run-tdb_errorstr.c @@ -0,0 +1,67 @@ +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + struct tdb_context *tdb; + + plan_tests(1 + TDB_ERR_NESTING + 2); + tdb = tdb_open("run-tdb_errorstr.tdb", TDB_DEFAULT, + O_RDWR|O_CREAT|O_TRUNC, 0600, NULL); + ok1(tdb); + if (tdb) { + enum TDB_ERROR err; + for (err = TDB_SUCCESS; err <= TDB_ERR_NESTING; err++) { + tdb->ecode = err; + switch (err) { + case TDB_SUCCESS: + ok1(!strcmp(tdb_errorstr(tdb), + "Success")); + break; + case TDB_ERR_NESTING: + ok1(!strcmp(tdb_errorstr(tdb), + "Transaction already started")); + break; + case TDB_ERR_IO: + ok1(!strcmp(tdb_errorstr(tdb), + "IO Error")); + break; + case TDB_ERR_LOCK: + ok1(!strcmp(tdb_errorstr(tdb), + "Locking error")); + break; + case TDB_ERR_OOM: + ok1(!strcmp(tdb_errorstr(tdb), + "Out of memory")); + break; + case TDB_ERR_EXISTS: + ok1(!strcmp(tdb_errorstr(tdb), + "Record exists")); + break; + case TDB_ERR_EINVAL: + ok1(!strcmp(tdb_errorstr(tdb), + "Invalid parameter")); + break; + case TDB_ERR_NOEXIST: + ok1(!strcmp(tdb_errorstr(tdb), + "Record does not exist")); + break; + case TDB_ERR_RDONLY: + ok1(!strcmp(tdb_errorstr(tdb), + "write not permitted")); + break; + case TDB_ERR_CORRUPT: + ok1(!strcmp(tdb_errorstr(tdb), + "Corrupt database")); + } + } + tdb->ecode = err; + ok1(!strcmp(tdb_errorstr(tdb), "Invalid error code")); + } + return exit_status(); +}