diff options
| author | Garrett D'Amore <garrett@damore.org> | 2021-01-03 10:35:06 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-03 10:35:06 -0800 |
| commit | 9c6ac231b8b7d0c597a4010135edb14b8513e3f6 (patch) | |
| tree | adfad0200b03da6cb176f5f3c6045407c8f96b29 /tests/compat_testutil.c | |
| parent | d5814d58496ff1fbbb2e6727ff8bffe78204223c (diff) | |
| download | nng-9c6ac231b8b7d0c597a4010135edb14b8513e3f6.tar.gz nng-9c6ac231b8b7d0c597a4010135edb14b8513e3f6.tar.bz2 nng-9c6ac231b8b7d0c597a4010135edb14b8513e3f6.zip | |
fixes #1398 integrate new acutest.h (#1400)
Diffstat (limited to 'tests/compat_testutil.c')
| -rw-r--r-- | tests/compat_testutil.c | 229 |
1 files changed, 0 insertions, 229 deletions
diff --git a/tests/compat_testutil.c b/tests/compat_testutil.c deleted file mode 100644 index 7db03bf0..00000000 --- a/tests/compat_testutil.c +++ /dev/null @@ -1,229 +0,0 @@ -/* - Copyright (c) 2013 Insollo Entertainment, LLC. All rights reserved. - Copyright 2016 Franklin "Snaipe" Mathieu <franklinmathieu@gmail.com> - Copyright 2018 Staysail Systems, Inc. <info@staysail.tech> - Copyright 2018 Capitar IT Group BV <info@capitar.com> - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom - the Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ - -// Note: This file started life in nanomsg. We have copied it, and adjusted -// it for validating the compatibility features of nanomsg. As much as -// possible we want to run tests from the nanomsg test suite unmodified. - -#include <assert.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include <nng/compat/nanomsg/nn.h> -#include "compat_testutil.h" - -int test_socket_impl(char *file, int line, int family, int protocol); -int test_connect_impl(char *file, int line, int sock, char *address); -int test_bind_impl(char *file, int line, int sock, char *address); -void test_close_impl(char *file, int line, int sock); -void test_send_impl(char *file, int line, int sock, char *data); -void test_recv_impl(char *file, int line, int sock, char *data); -void test_drop_impl(char *file, int line, int sock, int err); -int test_setsockopt_impl(char *file, int line, int sock, int level, int option, - const void *optval, size_t optlen); - -int -test_socket_impl(char *file, int line, int family, int protocol) -{ - int sock; - - sock = nn_socket(family, protocol); - if (sock == -1) { - fprintf(stderr, "Failed create socket: %s [%d] (%s:%d)\n", - nn_err_strerror(errno), (int) errno, file, line); - nn_err_abort(); - } - - return (sock); -} - -int -test_connect_impl(char *file, int line, int sock, char *address) -{ - int rc; - - rc = nn_connect(sock, address); - if (rc < 0) { - fprintf(stderr, "Failed connect to \"%s\": %s [%d] (%s:%d)\n", - address, nn_err_strerror(errno), (int) errno, file, line); - nn_err_abort(); - } - return (rc); -} - -int -test_bind_impl(char *file, int line, int sock, char *address) -{ - int rc; - - rc = nn_bind(sock, address); - if (rc < 0) { - fprintf(stderr, "Failed bind to \"%s\": %s [%d] (%s:%d)\n", - address, nn_err_strerror(errno), (int) errno, file, line); - nn_err_abort(); - } - return (rc); -} - -int -test_setsockopt_impl(char *file, int line, int sock, int level, int option, - const void *optval, size_t optlen) -{ - int rc; - - rc = nn_setsockopt(sock, level, option, optval, optlen); - if (rc < 0) { - fprintf(stderr, "Failed set option \"%d\": %s [%d] (%s:%d)\n", - option, nn_err_strerror(errno), (int) errno, file, line); - nn_err_abort(); - } - return rc; -} - -void -test_close_impl(char *file, int line, int sock) -{ - int rc; - - rc = nn_close(sock); - if ((rc != 0) && (errno != EBADF && errno != ETERM)) { - fprintf(stderr, "Failed to close socket: %s [%d] (%s:%d)\n", - nn_err_strerror(errno), (int) errno, file, line); - nn_err_abort(); - } -} - -void -test_send_impl(char *file, int line, int sock, char *data) -{ - size_t data_len; - int rc; - - data_len = strlen(data); - - rc = nn_send(sock, data, data_len, 0); - if (rc < 0) { - fprintf(stderr, "Failed to send: %s [%d] (%s:%d)\n", - nn_err_strerror(errno), (int) errno, file, line); - nn_err_abort(); - } - if (rc != (int) data_len) { - fprintf(stderr, - "Data to send is truncated: %d != %d (%s:%d)\n", rc, - (int) data_len, file, line); - nn_err_abort(); - } -} - -void -test_recv_impl(char *file, int line, int sock, char *data) -{ - size_t data_len; - int rc; - char * buf; - - data_len = strlen(data); - /* We allocate plus one byte so that we are sure that message received - has correct length and not truncated */ - buf = malloc(data_len + 1); - alloc_assert(buf); - - rc = nn_recv(sock, buf, data_len + 1, 0); - if (rc < 0) { - fprintf(stderr, "Failed to recv: %s [%d] (%s:%d)\n", - nn_err_strerror(errno), (int) errno, file, line); - nn_err_abort(); - } - if (rc != (int) data_len) { - fprintf(stderr, - "Received data has wrong length: %d != %d (%s:%d)\n", rc, - (int) data_len, file, line); - nn_err_abort(); - } - if (memcmp(data, buf, data_len) != 0) { - /* We don't print the data as it may have binary garbage */ - fprintf( - stderr, "Received data is wrong (%s:%d)\n", file, line); - nn_err_abort(); - } - - free(buf); -} - -void -test_drop_impl(char *file, int line, int sock, int err) -{ - int rc; - char buf[1024]; - - rc = nn_recv(sock, buf, sizeof(buf), 0); - if (rc < 0 && err != errno) { - fprintf(stderr, - "Got wrong err to recv: %s [%d != %d] (%s:%d)\n", - nn_err_strerror(errno), (int) errno, err, file, line); - nn_err_abort(); - } else if (rc >= 0) { - fprintf(stderr, "Did not drop message: [%d bytes] (%s:%d)\n", - rc, file, line); - nn_err_abort(); - } -} - -int -get_test_port(int argc, const char *argv[]) -{ - return (atoi(argc < 2 ? "5555" : argv[1])); -} - -void -test_addr_from(char *out, const char *proto, const char *ip, int port) -{ - sprintf(out, "%s://%s:%d", proto, ip, port); -} - -extern int nng_thread_create(void **, void (*)(void *), void *); - -int -nn_thread_init(struct nn_thread *thr, void (*func)(void *), void *arg) -{ - return (nng_thread_create(&thr->thr, func, arg)); -} - -extern void nng_thread_destroy(void *); - -void -nn_thread_term(struct nn_thread *thr) -{ - nng_thread_destroy(thr->thr); -} - -extern void nng_msleep(int32_t); - -void -nn_sleep(int ms) -{ - nng_msleep(ms); -} |
