summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ctdb-tests: Separate custom cluster startup from test initialisationMartin Schwenke2020-07-224-14/+30
| | | | | | | | | | | | | | | | | | | Separate cluster startup from test initialisation for tests that start the cluster with customised configuration. In these cases the result of the cluster startup is actually the point of the test. Additionally, pubips.013.failover_noop.sh claims to have completed test initialisation twice, which just seems wrong. The result is: * ctdb_test_init() takes one option (-n) to indicate when it should not configure/start the cluster * New function ctdb_nodes_start_custom() accepts options for special cluster configuration, only operates on local daemons and triggers a test failure rather than a test error on failure. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Do not trigger ctdb_test_error() from ctdb_init()Martin Schwenke2020-07-221-6/+15
| | | | | | | | The only caller calls ctdb_test_error() on failure and nesting this calls can be confusing. A future change will make this even more confusing. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Make unit.sh pass shellcheckMartin Schwenke2020-07-222-6/+12
| | | | | | | | | Mostly avoidance of quoting warnings. Silencing warnings about unquoted $CTDB_TEST_CAT_RESULTS_OPTS is handled by passing '-' to cat when that variable's value is empty. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Make integration.bash pass shellcheckMartin Schwenke2020-07-222-41/+52
| | | | | | | | | | | | | | | | Apart from the non-constant sourcing of include files. Mostly avoidance of quoting warnings. One subtle change is to simply pass "120" to wait_until_ready() to stop warnings that it expects arguments but none are passed (both SC2119 and SC2120). There seems no way to indicate to structure function argument handling so that shellcheck realises arguments are optional. In later shellcheck versions, disabling SC2120 for a function also silences complaints about its callers... but not all of our testing uses "later" shellcheck versions. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Use "#!/usr/bin/env bash" for improved portabilityMartin Schwenke2020-07-221-1/+1
| | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Update preamble for INTEGRATION testsMartin Schwenke2020-07-2262-1060/+313
| | | | | | | | | | | | | | | | | | | | * Use "#!/usr/bin/env bash" for improved portability * Drop test_info() definition and replace it with a comment The use of test_info() is pointless. * Drop call to cluster_is_healthy() This is a holdover from when the previous test would restart daemons to get things ready for a test. There was also a bug where going into recovery during the restart would sometimes cause the cluster to become unhealthy. If we really need something like this then we can add it to ctdb_test_init(). * Make order of preamble consistent Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Drop unreachable lineMartin Schwenke2020-07-221-1/+0
| | | | | | ctdb_test_skip() will exit. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Redirect stderr too when checking for shellcheckMartin Schwenke2020-07-221-1/+1
| | | | | | | | | | | Avoid: .../UNIT/shellcheck/scripts/local.sh: line 14: type: shellcheck: not found The "type" command in dash prints the "not found" message to stdout but the bash version prints to stderr, so redirect stderr too. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Show hung script debugging outputMartin Schwenke2020-07-221-0/+5
| | | | | | | | | | The output in a test failure appears to contain no pstree output because "00\.test\.script,.*" does not match. However, this is just a guess because the output is not shown. Showing the output makes it easier to understand test failures. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Enable SOCKET_WRAPPER_DIR_ALLOW_ORIGMartin Schwenke2020-07-221-0/+1
| | | | | | | | This will allow local daemons to be used in more contexts, especially in tests run by Jenkins where the directory names for some targets can be very long. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-build: Don't build/install tests in top-level build by defaultMartin Schwenke2020-07-221-0/+7
| | | | | | | | The standalone build still includes tests, as does the top-level build when --enable-selftest is used. The latter is consistent with the use of --enable-selftest in the rest of the tree. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Stop cat command failure from causing test failureMartin Schwenke2020-07-221-1/+1
| | | | | | | | | | | | In certain circumstance, which aren't obvious, cat(1) can fail when attempting to write a lot of data. This is due to something (probably write(2)) returning EAGAIN. Given that the -v option should only really be used for test debugging, ignore the failure instead of spending time debugging it. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14446 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-build: Don't build/install tests in top-level build by default"Martin Schwenke2020-07-221-7/+0
| | | | | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 91c36c16c8516359380a00ee3d2229422b048d9f. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> Autobuild-User(master): Martin Schwenke <martins@samba.org> Autobuild-Date(master): Wed Jul 22 06:29:43 UTC 2020 on sn-devel-184
* Revert "ctdb-tests: Enable SOCKET_WRAPPER_DIR_ALLOW_ORIG"Martin Schwenke2020-07-221-1/+0
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 9694ba6fe4d073c653f49080127ee9efa21a8e9e. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Show hung script debugging output"Martin Schwenke2020-07-221-5/+0
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit c78de201f84f9fae9916af9592d42cbc71f805c5. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Redirect stderr too when checking for shellcheck"Martin Schwenke2020-07-221-1/+1
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 847aa0e367c721944650aa34d67f8073461ae272. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Drop unreachable line"Martin Schwenke2020-07-221-0/+1
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit a55dd6f17b6d65db77bcd4f5a011e9aef64729e5. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Update preamble for INTEGRATION tests"Martin Schwenke2020-07-2262-313/+1060
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 65f56505e29c01d5891e5bc1050b6c37b8cbdee7. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Use "#!/usr/bin/env bash" for improved portability"Martin Schwenke2020-07-221-1/+1
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 9a7cabd342d0aed450ed3305931702a7351f814a. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Make integration.bash pass shellcheck"Martin Schwenke2020-07-222-52/+41
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 0f04b8a70be3b8e157a4a88e9e54e87fa380022e. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Make unit.sh pass shellcheck"Martin Schwenke2020-07-222-12/+6
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 30293baae5f22628405d327fc0b6bae993e96cd8. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Do not trigger ctdb_test_error() from ctdb_init()"Martin Schwenke2020-07-221-15/+6
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 44e05ac8515be3220a334ae8001db83b06bec59f. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Separate custom cluster startup from test initialisation"Martin Schwenke2020-07-224-30/+14
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit e9df17b500146e62539feac66d0cd4b3ef7aa47a. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Don't bother shutting down daemons in ctdb_init()"Martin Schwenke2020-07-221-0/+2
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 58f9f699f181ac217cda8de512b8385da173f884. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Drop uses of "onnode any ..." in testcases"Martin Schwenke2020-07-228-25/+23
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit aa5b214eaa88414c87410fd068fe7624e9790185. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Improve test portability"Martin Schwenke2020-07-221-29/+14
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 1079d6e3ae5805ef65a3628edf0a3ac2cd7fac1c. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Improve test quality"Martin Schwenke2020-07-221-18/+20
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit ea1cbff624383fb9d5b83b863fa6bd00a8fb77fa. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Improve test portability"Martin Schwenke2020-07-221-1/+1
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 1f6556916e7f3a731d7d760fa6fd857e7f571541. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Improve test quality"Martin Schwenke2020-07-221-9/+12
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit a308f2534d3991866efa2c662921ec63b4238888. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Improve test portability/quality"Martin Schwenke2020-07-221-23/+25
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit d2f8cd835da39784f2d99231f9a1067ae56ede7a. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* Revert "ctdb-tests: Stop cat command failure from causing test failure"Martin Schwenke2020-07-221-1/+1
| | | | | | | | | Fix missing Reviewed-by: tag. This reverts commit 5707781ccf682d95a5a05a7c3e00a43003dbe62e. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Stop cat command failure from causing test failureMartin Schwenke2020-07-221-1/+1
| | | | | | | | | | | | | | | In certain circumstance, which aren't obvious, cat(1) can fail when attempting to write a lot of data. This is due to something (probably write(2)) returning EAGAIN. Given that the -v option should only really be used for test debugging, ignore the failure instead of spending time debugging it. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14446 Signed-off-by: Martin Schwenke <martin@meltin.net> Autobuild-User(master): Amitay Isaacs <amitay@samba.org> Autobuild-Date(master): Wed Jul 22 04:10:47 UTC 2020 on sn-devel-184
* ctdb-tests: Improve test portability/qualityMartin Schwenke2020-07-221-25/+23
| | | | | | | | Avoid use of non-portable md5sum by constructing database names using index. Improve indentation, use more modern commands, code improvements (shellcheck). Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Improve test qualityMartin Schwenke2020-07-221-12/+9
| | | | | | Simplify code, use more modern commands, code improvements (shellcheck). Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Improve test portabilityMartin Schwenke2020-07-221-1/+1
| | | | | | | "wc -l" on some platforms (e.g. FreeBSD) contains leading spaces, so strip them. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Improve test qualityMartin Schwenke2020-07-221-20/+18
| | | | | | | | Select test node with IPs instead of using a fixed node. Remove unnecessary code, use more modern commands, code improvements (shellcheck). Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Improve test portabilityMartin Schwenke2020-07-221-14/+29
| | | | | | | | "wc -l" on some platforms (e.g. FreeBSD) contains leading spaces and stops "$num from being a number. Create a more portable solution and put it in a function instead of repeating the logic. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Drop uses of "onnode any ..." in testcasesMartin Schwenke2020-07-228-23/+25
| | | | | | | | | | | | It would be nice to get rid of "onnode any". There's no use making tests nondeterministic. If covering different cases matters then they should be explicitly handled. In most places "any" is replaced by "$test_node". In some cases, where $test_node is not set, a fixed node that is already used elsewhere can be reused. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Don't bother shutting down daemons in ctdb_init()Martin Schwenke2020-07-221-2/+0
| | | | | | They'll never be up here... Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Separate custom cluster startup from test initialisationMartin Schwenke2020-07-224-14/+30
| | | | | | | | | | | | | | | | | | | Separate cluster startup from test initialisation for tests that start the cluster with customised configuration. In these cases the result of the cluster startup is actually the point of the test. Additionally, pubips.013.failover_noop.sh claims to have completed test initialisation twice, which just seems wrong. The result is: * ctdb_test_init() takes one option (-n) to indicate when it should not configure/start the cluster * New function ctdb_nodes_start_custom() accepts options for special cluster configuration, only operates on local daemons and triggers a test failure rather than a test error on failure. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Do not trigger ctdb_test_error() from ctdb_init()Martin Schwenke2020-07-221-6/+15
| | | | | | | | The only caller calls ctdb_test_error() on failure and nesting this calls can be confusing. A future change will make this even more confusing. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Make unit.sh pass shellcheckMartin Schwenke2020-07-222-6/+12
| | | | | | | | | Mostly avoidance of quoting warnings. Silencing warnings about unquoted $CTDB_TEST_CAT_RESULTS_OPTS is handled by passing '-' to cat when that variable's value is empty. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Make integration.bash pass shellcheckMartin Schwenke2020-07-222-41/+52
| | | | | | | | | | | | | | | | Apart from the non-constant sourcing of include files. Mostly avoidance of quoting warnings. One subtle change is to simply pass "120" to wait_until_ready() to stop warnings that it expects arguments but none are passed (both SC2119 and SC2120). There seems no way to indicate to structure function argument handling so that shellcheck realises arguments are optional. In later shellcheck versions, disabling SC2120 for a function also silences complaints about its callers... but not all of our testing uses "later" shellcheck versions. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Use "#!/usr/bin/env bash" for improved portabilityMartin Schwenke2020-07-221-1/+1
| | | | Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Update preamble for INTEGRATION testsMartin Schwenke2020-07-2262-1060/+313
| | | | | | | | | | | | | | | | | | | | * Use "#!/usr/bin/env bash" for improved portability * Drop test_info() definition and replace it with a comment The use of test_info() is pointless. * Drop call to cluster_is_healthy() This is a holdover from when the previous test would restart daemons to get things ready for a test. There was also a bug where going into recovery during the restart would sometimes cause the cluster to become unhealthy. If we really need something like this then we can add it to ctdb_test_init(). * Make order of preamble consistent Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Drop unreachable lineMartin Schwenke2020-07-221-1/+0
| | | | | | ctdb_test_skip() will exit. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Redirect stderr too when checking for shellcheckMartin Schwenke2020-07-221-1/+1
| | | | | | | | | | | Avoid: .../UNIT/shellcheck/scripts/local.sh: line 14: type: shellcheck: not found The "type" command in dash prints the "not found" message to stdout but the bash version prints to stderr, so redirect stderr too. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Show hung script debugging outputMartin Schwenke2020-07-221-0/+5
| | | | | | | | | | The output in a test failure appears to contain no pstree output because "00\.test\.script,.*" does not match. However, this is just a guess because the output is not shown. Showing the output makes it easier to understand test failures. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Enable SOCKET_WRAPPER_DIR_ALLOW_ORIGMartin Schwenke2020-07-221-0/+1
| | | | | | | | This will allow local daemons to be used in more contexts, especially in tests run by Jenkins where the directory names for some targets can be very long. Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-build: Don't build/install tests in top-level build by defaultMartin Schwenke2020-07-221-0/+7
| | | | | | | | The standalone build still includes tests, as does the top-level build when --enable-selftest is used. The latter is consistent with the use of --enable-selftest in the rest of the tree. Signed-off-by: Martin Schwenke <martin@meltin.net>