From b826bfc171d90f8bde7bd672c0ac14201b8b2742 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Mon, 16 Nov 2020 20:44:29 -0800 Subject: Work for test refactoring. There are a few major areas in this change. * CMake options are now located in a common cmake/NNGOptions.cmake file. This should make it easier for folks to figure out what the options are, and how they are used. * Tests are now scoped with their directory name, which should avoid possible name collisions with test names. * A number of tests have been either moved or incorporated into the newer testutil/acutest framework. We are moving away from my old c-convey framework to something easier to debug. * We use CMake directories a bit more extensively leading to a much cleaner CMake structure. It's not complete, but a big step in the right direction, and a preview of future work. * Tests are now run with verbose flags, so we get more test results in the CI/CD logs. --- tests/bufsz.c | 116 ---------------------------------------------------------- 1 file changed, 116 deletions(-) delete mode 100644 tests/bufsz.c (limited to 'tests/bufsz.c') diff --git a/tests/bufsz.c b/tests/bufsz.c deleted file mode 100644 index 4f62905d..00000000 --- a/tests/bufsz.c +++ /dev/null @@ -1,116 +0,0 @@ -// -// Copyright 2018 Staysail Systems, Inc. -// Copyright 2018 Capitar IT Group BV -// -// 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 -#include -#include - -#include - -#include "acutest.h" - -void -test_buffer_options(void) -{ - nng_socket s1; - int val; - size_t sz; - char * opt; - - char *cases[] = { - NNG_OPT_RECVBUF, - NNG_OPT_SENDBUF, - NULL, - }; - - TEST_CHECK(nng_pair1_open(&s1) == 0); - for (int i = 0; (opt = cases[i]) != NULL; i++) { - - TEST_CASE(opt); - - // Can't receive a size into zero bytes. - sz = 0; - TEST_CHECK(nng_getopt(s1, opt, &val, &sz) == NNG_EINVAL); - - // Can set a valid size - TEST_CHECK(nng_setopt_int(s1, opt, 1234) == 0); - TEST_CHECK(nng_getopt_int(s1, opt, &val) == 0); - TEST_CHECK(val == 1234); - - val = 0; - sz = sizeof(val); - TEST_CHECK(nng_getopt(s1, opt, &val, &sz) == 0); - TEST_CHECK(val == 1234); - TEST_CHECK(sz == sizeof(val)); - - // Can't set a negative size - TEST_CHECK(nng_setopt_int(s1, opt, -5) == NNG_EINVAL); - - // Can't pass a buf too small for size - sz = sizeof(val) - 1; - val = 1; - TEST_CHECK(nng_setopt(s1, opt, &val, sz) == NNG_EINVAL); - // Buffer sizes are limited to sane levels - TEST_CHECK(nng_setopt_int(s1, opt, 0x100000) == NNG_EINVAL); - } - TEST_CHECK(nng_close(s1) == 0); -} - -void -test_buffer_legacy(void) -{ - nng_socket s1; - char * opt; - - char *cases[] = { - NNG_OPT_RECVBUF, - NNG_OPT_SENDBUF, - NULL, - }; - int legacy[] = { - NN_RCVBUF, - NN_SNDBUF, - }; - - TEST_CHECK(nng_pair1_open(&s1) == 0); - for (int i = 0; (opt = cases[i]) != NULL; i++) { - int cnt; - int os = (int) s1.id; - size_t sz; - int nnopt = legacy[i]; - - TEST_CASE(opt); - - sz = sizeof(cnt); - TEST_CHECK(nng_setopt_int(s1, opt, 10) == 0); - TEST_CHECK( - nn_getsockopt(os, NN_SOL_SOCKET, nnopt, &cnt, &sz) == 0); - TEST_CHECK(cnt == 10240); // 1k multiple - - cnt = 1; - TEST_CHECK( - nn_setsockopt(os, NN_SOL_SOCKET, nnopt, &cnt, sz) == 0); - TEST_CHECK(nn_getsockopt(os, NN_SOL_SOCKET, nnopt, &cnt, &sz) == 0); - TEST_CHECK(cnt == 1024); // round up! - TEST_CHECK(nng_getopt_int(s1, opt, &cnt) == 0); - TEST_CHECK(cnt == 1); - - TEST_CHECK(nn_setsockopt(os, NN_SOL_SOCKET, nnopt, &cnt, 100) == -1); - TEST_CHECK(nn_errno() == EINVAL); - } - TEST_CHECK(nng_close(s1) == 0); -} - -TEST_LIST = { - { "buffer options", test_buffer_options }, - { "buffer legacy", test_buffer_legacy }, - { NULL, NULL }, -}; -- cgit v1.2.3-70-g09d2