summaryrefslogtreecommitdiff
path: root/tests/errors.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-08-10 23:33:06 -0700
committerGarrett D'Amore <garrett@damore.org>2017-08-10 23:33:06 -0700
commitc552065e80c92ad150d33a23513ea0f8f2bfea6f (patch)
tree0c7008dad09319ad2deced9651d1ca6c7cbbb898 /tests/errors.c
parent19e0363f3e710fcb26f7e3404f2647ec60233824 (diff)
downloadnng-c552065e80c92ad150d33a23513ea0f8f2bfea6f.tar.gz
nng-c552065e80c92ad150d33a23513ea0f8f2bfea6f.tar.bz2
nng-c552065e80c92ad150d33a23513ea0f8f2bfea6f.zip
Verify errno handling works; use table driven approach.
Diffstat (limited to 'tests/errors.c')
-rw-r--r--tests/errors.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/errors.c b/tests/errors.c
new file mode 100644
index 00000000..f5e857e2
--- /dev/null
+++ b/tests/errors.c
@@ -0,0 +1,33 @@
+//
+// Copyright 2016 Garrett D'Amore <garrett@damore.org>
+//
+// This software is supplied under the terms of the MIT License, a
+// copy of which should be located in the distribution where this
+// file was obtained (LICENSE.txt). A copy of the license may also be
+// found online at https://opensource.org/licenses/MIT.
+//
+
+#include "convey.h"
+#include "nng.c"
+#include <errno.h>
+#include <string.h>
+
+TestMain("Error messages work", {
+
+ Convey("Known errors work", {
+ So(strcmp(nng_strerror(NNG_ECLOSED), "Object closed") == 0);
+ So(strcmp(nng_strerror(NNG_ETIMEDOUT), "Timed out") == 0);
+ });
+ Convey("We always get a valid error", {
+ for (unsigned i = 1; i < 0x1000000; i = i * 2 + 100) {
+ So(nng_strerror(i) != NULL);
+ }
+ });
+ Convey("System errors work", {
+ So(strcmp(nng_strerror(NNG_ESYSERR + ENOENT),
+ strerror(ENOENT)) == 0);
+ So(strcmp(nng_strerror(NNG_ESYSERR + EINVAL),
+ strerror(EINVAL)) == 0);
+
+ });
+})