From: Oren Ben-Kiki Date: Mon, 28 Aug 2017 04:52:31 +0000 (+0300) Subject: Merge check max msg size tests, fix comments. X-Git-Tag: 0.12.0~3^2~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8280e555ff24f786d83c7ad17f6784e21e10d4bf;p=check Merge check max msg size tests, fix comments. --- diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index a37c067..b3d7ab7 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -86,10 +86,6 @@ set(CHECK_NOFORK_TEARDOWN_SOURCES check_nofork_teardown.c) add_executable(check_nofork_teardown ${CHECK_NOFORK_TEARDOWN_SOURCES}) target_link_libraries(check_nofork_teardown check compat) -set(CHECK_ENV_MAX_MSG_SIZE_SOURCES check_env_max_msg_size.c) -add_executable(check_env_max_msg_size ${CHECK_ENV_MAX_MSG_SIZE_SOURCES}) -target_link_libraries(check_env_max_msg_size check compat) - set(CHECK_SET_MAX_MSG_SIZE_SOURCES check_set_max_msg_size.c) add_executable(check_set_max_msg_size ${CHECK_SET_MAX_MSG_SIZE_SOURCES}) target_link_libraries(check_set_max_msg_size check compat) diff --git a/tests/Makefile.am b/tests/Makefile.am index 6bc2e80..72da982 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -28,7 +28,6 @@ noinst_PROGRAMS = \ check_nofork \ check_nofork_teardown \ check_mem_leaks \ - check_env_max_msg_size \ check_set_max_msg_size \ ex_output @@ -79,10 +78,6 @@ check_mem_leaks_SOURCES = \ check_mem_leaks_LDADD = $(top_builddir)/src/libcheck.la $(top_builddir)/lib/libcompat.la check_mem_leaks_CFLAGS = -DTIMEOUT_TESTS_ENABLED=0 -DMEMORY_LEAKING_TESTS_ENABLED=0 -check_env_max_msg_size_SOURCES = \ - check_env_max_msg_size.c -check_env_max_msg_size_LDADD = $(top_builddir)/src/libcheck.la $(top_builddir)/lib/libcompat.la - check_set_max_msg_size_SOURCES = \ check_set_max_msg_size.c check_set_max_msg_size_LDADD = $(top_builddir)/src/libcheck.la $(top_builddir)/lib/libcompat.la diff --git a/tests/check_env_max_msg_size.c b/tests/check_env_max_msg_size.c deleted file mode 100644 index 8cbb142..0000000 --- a/tests/check_env_max_msg_size.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Check: a unit test framework for C - * Copyright (C) 2001, 2002 Arien Malec - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -/** - * The purpose of this test is to be used by valgrind to check for - * memory leaks. Each public API that check exports is used at - * least once. Tests which use non-public API, or leak intentionally, - * are not included here. - */ - -#include -#include -#include -#include -#include "config.h" -#include "check_check.h" - -START_TEST(test_env_max_msg_size) -{ - ck_abort_msg("40 characters of an assertion message..."); -} -END_TEST - - -static Suite *make_env_max_msg_size_suite(void) -{ - Suite *s = suite_create("Check Env Max Msg Size"); - - TCase *tc_env_max_msg_size = tcase_create("Test Env Max Msg Size"); - - suite_add_tcase (s, tc_env_max_msg_size); - - tcase_add_test (tc_env_max_msg_size, test_env_max_msg_size); - - return s; -} - -int main (void) -{ - int n; - SRunner *sr; - - /* - * Run the test suite. This is intended to trigger the "Message is too long" error. - * Actual success/failure is determined by examining the output. - */ - check_set_max_msg_size(4096); // This will have no effect due to the environment variable. - sr = srunner_create(make_env_max_msg_size_suite()); - srunner_run_all(sr, CK_NORMAL); - srunner_free(sr); - return EXIT_SUCCESS; -} - diff --git a/tests/check_set_max_msg_size.c b/tests/check_set_max_msg_size.c index 91dde70..6bb23d1 100644 --- a/tests/check_set_max_msg_size.c +++ b/tests/check_set_max_msg_size.c @@ -52,16 +52,21 @@ static Suite *make_set_max_msg_size_suite(void) return s; } -int main (void) +int main (int argc, char *argv[]) { int n; SRunner *sr; + if (argc != 2) { + fprintf(stderr, "usage: %s max-msg-size\n", argv[0]); + return EXIT_FAILURE; + } + /* * Run the test suite. This is intended to trigger the "Message is too long" error. * Actual success/failure is determined by examining the output. */ - check_set_max_msg_size(32); // This will have an effect due to no environment variable. + check_set_max_msg_size(atoi(argv[1])); sr = srunner_create(make_set_max_msg_size_suite()); srunner_run_all(sr, CK_NORMAL); srunner_free(sr); diff --git a/tests/test_env_max_msg_size.sh b/tests/test_env_max_msg_size.sh index 6990cdd..0feaed5 100755 --- a/tests/test_env_max_msg_size.sh +++ b/tests/test_env_max_msg_size.sh @@ -1,15 +1,17 @@ #!/usr/bin/env sh -UNIT_TEST=./check_env_max_msg_size +UNIT_TEST=./check_set_max_msg_size MAX_MESSAGE_LOG_FILE=${UNIT_TEST}.output TOO_LONG_MESSAGE="Message string too long" # This test reduces the maximal message size using the environment variable, # so that the assertion message becomes too long. +# Setting the maximal size to 4K via the check_set_max_msg_size function will be ignored +# due to setting the environment variable to 32, which is shorter than the message. rm -f ${MAX_MESSAGE_LOG_FILE} export CK_MAX_MSG_SIZE=32 -${UNIT_TEST} 2>&1 | tee ${MAX_MESSAGE_LOG_FILE} +${UNIT_TEST} 4096 2>&1 | tee ${MAX_MESSAGE_LOG_FILE} NUM_TOO_LONG_MESSAGES=$(grep "${TOO_LONG_MESSAGE}" ${MAX_MESSAGE_LOG_FILE} | wc -l) diff --git a/tests/test_set_max_msg_size.sh b/tests/test_set_max_msg_size.sh index 932ce68..92a5b49 100755 --- a/tests/test_set_max_msg_size.sh +++ b/tests/test_set_max_msg_size.sh @@ -6,10 +6,10 @@ TOO_LONG_MESSAGE="Message string too long" # This test reduces the maximal message size using the provided function, # so that the assertion message becomes too long. +# We set the maximal size to 32, which is shorter than the message. rm -f ${MAX_MESSAGE_LOG_FILE} - -${UNIT_TEST} 2>&1 | tee ${MAX_MESSAGE_LOG_FILE} +${UNIT_TEST} 32 2>&1 | tee ${MAX_MESSAGE_LOG_FILE} NUM_TOO_LONG_MESSAGES=$(grep "${TOO_LONG_MESSAGE}" ${MAX_MESSAGE_LOG_FILE} | wc -l)