aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/bug1247.c41
2 files changed, 42 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index e258d3ad..5a489c91 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -126,6 +126,7 @@ endif ()
nng_test(aio)
nng_test(bufsz)
+nng_test(bug1247)
nng_test(platform)
nng_test(reconnect)
nng_test(sock)
diff --git a/tests/bug1247.c b/tests/bug1247.c
new file mode 100644
index 00000000..4ba08926
--- /dev/null
+++ b/tests/bug1247.c
@@ -0,0 +1,41 @@
+//
+// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech>
+//
+// 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 <string.h>
+
+#include <nng/nng.h>
+#include <nng/protocol/pipeline0/pull.h>
+#include <nng/protocol/pipeline0/push.h>
+#include <nng/supplemental/util/platform.h>
+
+#include "acutest.h"
+#include "testutil.h"
+
+void
+test_bug1247(void)
+{
+ nng_socket bus1, bus2;
+ char addr[64];
+
+ testutil_scratch_addr("tcp", sizeof(addr), addr);
+
+ TEST_NNG_PASS(nng_bus0_open(&bus1));
+ TEST_NNG_PASS(nng_bus0_open(&bus2));
+
+ TEST_NNG_PASS(nng_listen(bus1, addr, NULL, 0));
+ TEST_NNG_FAIL(nng_listen(bus2, addr, NULL, 0), NNG_EADDRINUSE);
+
+ TEST_NNG_PASS(nng_close(bus2));
+ TEST_NNG_PASS(nng_close(bus1));
+}
+
+TEST_LIST = {
+ { "bug1247", test_bug1247 },
+ { NULL, NULL },
+};