Commit Graph

304 Commits

Author SHA1 Message Date
Azat Khuzhin
c6e61e9497 clickhouse-test: use splitlines() over split('\n') 2021-10-16 17:59:56 +03:00
Azat Khuzhin
3102d24872 Fix --hung-check in clickhouse-test
JSONEachRow cannot be parsed with a simple json.loads(), instead it
should be passed to json.loads() line by line.

Fixes: #30065
2021-10-16 17:59:56 +03:00
Azat Khuzhin
e5bc573250 clickhouse-test: fix hung check in stress test by using system database 2021-10-13 00:19:16 +03:00
Azat Khuzhin
8d7798fa2e clickhouse-test: do not guard CREATE DATABASE with try/catch
Since it will not configure testcase args and fail eventually, and later
we have a try/catch anyway, this should be enough.
2021-10-12 22:39:43 +03:00
Azat Khuzhin
40d210367f clickhouse-test: fix catching of timeouts 2021-10-12 22:33:41 +03:00
Azat Khuzhin
427c428a27 clickhouse-test: process some options regardless --client 2021-10-12 22:30:34 +03:00
Azat Khuzhin
8dc8674298 clickhouse-test: process --client-option 2021-10-12 22:30:16 +03:00
Azat Khuzhin
fe90c979b5 clickhouse-test: fix redirect to stderr
Before #29856 `CREATE DATABASE` overwrites it.

Reported-by: @amosbird
2021-10-12 22:18:39 +03:00
Azat Khuzhin
50b95bd89d clickhouse-test: passthrough log_comment for DROP DATABASE too 2021-10-12 21:09:48 +03:00
Azat Khuzhin
e2e62ce273 clickhouse-test: replace clickhouse-driver with http interface (via http.client)
Cons of clickhouse-driver:
- it is one more extra dependency
- it does not have correct timeouts (only for socket operations, and
  this is not the same, so we need to set timeout by ourself)
- it is one more thing which can break (@alesapin)
2021-10-12 21:08:33 +03:00
alesapin
3ae960e04b Review fixes 2021-10-11 16:40:12 +03:00
alesapin
59a78830f9 Better timeouts in clickhouse-test 2021-10-11 14:46:01 +03:00
Azat Khuzhin
42ca2b4bb2 clickhouse-test: remove not existing options for pylint
https://clickhouse-test-reports.s3.yandex.net/29856/e2d6698244d43979b3fe2478dfdcd8dc3a91a0fd/style_check/test_run.txt.out.log
2021-10-09 01:43:00 +03:00
Azat Khuzhin
5d6da023bb clickhouse-test: fix hung check under stress tests
https://clickhouse-test-reports.s3.yandex.net/29856/e2d6698244d43979b3fe2478dfdcd8dc3a91a0fd/stress_test_(address).html#fail1
2021-10-09 01:42:08 +03:00
Azat Khuzhin
e2d6698244 clickhouse-test: do not use persistent connection for simplicity (due to threads) 2021-10-08 00:09:37 +03:00
Azat Khuzhin
df129d7efc Rewrite clickhouse-test to use python clickhouse_driver
Pros:
- Using native protocol over executing binaries is always better
- `clickhouse-client` in debug build takes almost a second to execute simple `SELECT 1`
  and `clickhouse-test` requires ~5 queries at start (determine some
  flags, zk, alive, create database)

Notes:
- `FORMAT Vertical` had been replaced with printing of `pandas.DataFrame`

And after this patch tiny tests work with the speed of the test, and
does not requires +-5 seconds of bootstrapping.
2021-10-08 00:09:37 +03:00
Azat Khuzhin
9dd0fca1ed Suppress some existed warnings in clickhouse-test (will be fixed separately) 2021-10-08 00:09:37 +03:00
Pavel Kruglov
2db11bc6c5 Add backward compatibility check in stress test 2021-10-04 16:34:14 +03:00
tavplubix
75be60ff22
Merge pull request #29452 from azat/clickhouse-test-fix-term
clickhouse-test: fix shared list object (by fixing manager lifetime)
2021-09-28 22:34:21 +03:00
Azat Khuzhin
985e8ee061 clickhouse-test: fix shared list object (by fixing manager lifetime)
Right now it is possible to get the following error:

    Having 20 errors! 0 tests passed. 0 tests skipped. 57.37 s elapsed (MainProcess).
    Won't run stateful tests because test data wasn't loaded.
    Traceback (most recent call last):
      File "/usr/lib/python3.9/multiprocessing/managers.py", line 802, in _callmethod
        conn = self._tls.connection
    AttributeError: 'ForkAwareLocal' object has no attribute 'connection'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/src/ch/clickhouse/.cmake/../tests/clickhouse-test", line 1462, in <module>
        main(args)
      File "/src/ch/clickhouse/.cmake/../tests/clickhouse-test", line 1261, in main
        if len(restarted_tests) > 0:
      File "<string>", line 2, in __len__
      File "/usr/lib/python3.9/multiprocessing/managers.py", line 806, in _callmethod
        self._connect()
      File "/usr/lib/python3.9/multiprocessing/managers.py", line 793, in _connect
        conn = self._Client(self._token.address, authkey=self._authkey)
      File "/usr/lib/python3.9/multiprocessing/connection.py", line 507, in Client
        c = SocketClient(address)
      File "/usr/lib/python3.9/multiprocessing/connection.py", line 635, in SocketClient
        s.connect(address)
    ConnectionRefusedError: [Errno 111] Connection refused

The reason behind this is that manager's thread got terminated:

    ipdb> p restarted_tests._manager._process
    <ForkProcess name='SyncManager-1' pid=25125 parent=24939 stopped exitcode=-SIGTERM>

Refs: #29259 (cc: @vdimir)
Follow-up for: #29197 (cc: @tavplubix)
2021-09-27 21:10:59 +03:00
Azat Khuzhin
8be6a59e65 clickhouse-test: fix long tag check for flaky check (--test-runs > 1)
Otherwise it will mark the test as failed, like in [1].

  [1]: https://clickhouse-test-reports.s3.yandex.net/29369/2320be204397bbb9f9a673cf093b7967fd37a107/functional_stateless_tests_flaky_check_(address).html#fail1

Follow-up for: #28909 (Cc: @vitlibar)
2021-09-27 21:10:14 +03:00
tavplubix
1c9778603f
Update clickhouse-test 2021-09-27 11:43:00 +03:00
Vladimir C
c83e2f6fd4
Merge pull request #29259 from vdimir/test-global-multiproc-fix 2021-09-22 17:47:08 +03:00
tavplubix
7712d0e9df
Update clickhouse-test 2021-09-22 16:17:51 +03:00
vdimir
3a42d11b65
Initialize global variables for multiproc in __main__ in clickhouse-test 2021-09-22 16:00:59 +03:00
tavplubix
e0ce179aa8
Minor improvements in clickhouse-test (#29197)
* minor improvements in clickhouse-test

* use enums

* Update clickhouse-test
2021-09-22 11:42:46 +03:00
tavplubix
66bc619c3e
Merge pull request #28983 from ClickHouse/func_zookeeper_session_uptime
Add function zookeeperSessionUptime(), fix some flaky tests
2021-09-20 14:47:49 +03:00
tavplubix
5fdd2b67ee
Update clickhouse-test 2021-09-19 01:05:17 +03:00
Alexander Tokmakov
5c605189ac Merge branch 'master' into func_zookeeper_session_uptime 2021-09-15 21:10:06 +03:00
Alexander Tokmakov
be45ed5fde better check for session expiration in clickhouse-test 2021-09-13 16:36:05 +03:00
Vitaly Baranov
bbb192ee85 Convert skip_list.json into first line comments. 2021-09-12 17:15:23 +03:00
Nikolai Kochetov
0e0c136d43 Fix error code of clickhouse-test if server is dead. 2021-09-09 15:31:29 +03:00
mergify[bot]
02b4e56e6a
Merge branch 'master' into break_some_tests 2021-08-20 13:24:17 +00:00
tavplubix
64bfe21a1b
Fix test 00443_preferred_block_size_bytes.sh (#27846)
* Update 00443_preferred_block_size_bytes.sh

* Update clickhouse-test

* Update clickhouse-test

* Update database_replicated.xml
2021-08-20 00:25:14 +03:00
Alexander Tokmakov
21f2da6d33 Merge branch 'master' into break_some_tests 2021-08-15 22:02:36 +03:00
Alexander Tokmakov
9dd742cc29 more debug info 2021-08-12 13:39:06 +03:00
Alexander Tokmakov
0256e313b3 fix 2021-08-12 00:29:37 +03:00
Raúl Marín
4ebdb5917a clickhouse-test: Implement @@SKIP@@ directive in tests 2021-08-11 15:22:31 +02:00
Alexander Kuzmenkov
2259387f0c make it possible to cancel window functions on ctrl+c 2021-08-09 20:04:42 +03:00
Mike Kot
a308c8f842 Extracted test skipping functions 2021-08-06 17:39:44 +03:00
Mike Kot
af536b1b5e Using formatted string literals, extracted sort funcs in tester 2021-08-06 17:39:44 +03:00
Amos Bird
b541b5eca3
Normalize hostname in CI 2021-08-03 15:00:57 +08:00
Alexander Tokmakov
381634960e fix client options in stress test 2021-07-29 15:16:34 +03:00
tavplubix
858bef8bef
Update clickhouse-test 2021-07-26 19:19:47 +03:00
Alexey Milovidov
d815023700 Fix one source of flaky tests 2021-07-21 03:58:01 +03:00
vdimir
1b5de5de0d
Fix style in clickhouse-test removesuffix 2021-07-20 17:51:22 +03:00
vdimir
8429f64030
Log skipped test if no jinja2 2021-07-20 17:49:20 +03:00
vdimir
6f8561c084
Support jijna templates for sql files in clickhouse-test 2021-07-20 16:40:04 +03:00
Alexander Kuzmenkov
7a48f8ef4c
Merge pull request #25537 from nvartolomei/nv/fix-clickhouse-test-hang-and-status-code
Fix hang and incorrect exit code returned from clickhouse-test
2021-07-08 01:07:17 +03:00
Anton Popov
1f53404e66 better retries 2021-07-06 16:58:12 +03:00
Anton Popov
3a69d06fc9 try fix flaky tests 2021-07-06 16:36:18 +03:00
Alexey Milovidov
127455f15f Remove experimental ANTLR parser 2021-07-03 18:48:03 +03:00
tavplubix
a6d289c750
Merge pull request #25564 from ClickHouse/improve_replicated_database_tests3
Fix some tests
2021-06-24 10:38:15 +03:00
Alexander Tokmakov
92ea82eac9 fix test 2021-06-22 14:50:09 +03:00
Azat Khuzhin
d0f89322ac clickhouse-test: use basename (instead of full path) for log_comment 2021-06-22 10:54:39 +03:00
Alexander Tokmakov
0de6e90a34 fix tests 2021-06-21 20:29:32 +03:00
Nicolae Vartolomei
660e824851 Missed one server_died.set() 2021-06-21 15:13:23 +01:00
Nicolae Vartolomei
115edd3e42 Fix hang and incorrect exit code returned from clickhouse-test
Variables aren't shared when using multiprocessing, use shared memory
instead
https://docs.python.org/3/library/multiprocessing.html#shared-ctypes-objects.

There appears to be a deadlock when multiple threads try to send
sigterm signal at the same time. Avoid it by making sure sigterm is sent
only once for the process group.
2021-06-21 12:37:36 +01:00
Alexander Tokmakov
c235539620 minor fixes 2021-06-17 00:20:35 +03:00
tavplubix
92a028f8f0
Update clickhouse-test 2021-06-16 13:26:04 +03:00
tavplubix
710546b9e8
Merge branch 'master' into improve_replicated_database_tests 2021-06-16 13:24:32 +03:00
tavplubix
5b7ca80da2
Update clickhouse-test 2021-06-16 13:19:18 +03:00
Alexander Tokmakov
c873714698 improve replicated database tests 2021-06-15 23:52:29 +03:00
Ivan
0092cc61cf
Enable back the ANTLR in .sql (#25170)
* Enable back the ANTLR in .sql

* Update skip-list

* More tests to skip-list
2021-06-12 04:09:36 +03:00
Azat Khuzhin
95630a5c9d clickhouse-test: fix log_comment for .sql tests
Broken in: #23486
2021-06-05 12:59:58 +03:00
Azat Khuzhin
d641e7fa10 clickhouse-test: do not substitude db name in stderr by default
Replacing stderr by default does not makes a lot of sense, since it does
not compared with .reference anyway. From the other hand it may confuse
the reader (seeing "default" instead of real database name in the test
logs).

P.S. I guess some tests may relay on this, let's see.
2021-06-03 21:11:19 +03:00
Nikita Mikhaylov
e7867f885a
Merge pull request #24454 from nikitamikhaylov/retry-drop-database
Fix fast test
2021-05-24 21:00:37 +03:00
Nikita Mikhaylov
6997240237 done 2021-05-24 18:20:56 +03:00
Azat Khuzhin
12cc3fc4af clickhouse-test: fix stdout reference w/o --database argument
It was appended, but never truncated.
2021-05-22 14:07:21 +03:00
Nikolai Kochetov
48ce2ce500 Fix script 2021-05-20 22:57:06 +03:00
Nikolai Kochetov
87e73a970e Fix style 2021-05-20 21:18:44 +03:00
Nikolai Kochetov
e66e3e9271 Fix style 2021-05-20 21:11:12 +03:00
Nikolai Kochetov
386cbf751c Better parallelizm for fast tests. 2021-05-20 19:46:15 +03:00
Nikolai Kochetov
9d4927a5b9 Better parallelizm for fast tests. 2021-05-20 19:44:35 +03:00
Nikolai Kochetov
fa88e8725a Better parallelizm for fast tests. 2021-05-20 19:02:46 +03:00
alesapin
8c4f811152 One more error to retry 2021-05-19 21:35:05 +03:00
alesapin
21b751217d One more attempt to fix retries in clickhouse-test 2021-05-18 16:06:00 +03:00
alesapin
e7eae2688c Also retry database creation 2021-05-13 16:37:19 +03:00
alesapin
0dec8f77e4 Retry more errors in clickhouse-test 2021-05-11 20:33:44 +03:00
Azat Khuzhin
0b58a149d2 clickhouse-test: send TERM to all childs (to avoid hung check triggering)
This is another try of not leaving child processes in clickhouse-test,
first one was in [1] by @akuzm:

  "I tried to do this earlier with a separate process group + atexit callbacks:
  573983d407 (diff-3a359de18cacf146f406a7ae332fb47196aa5e0aa430eb4b157a202a3cb8e6e3R578)

  But that commit was later reverted because it also tried to switch to
  multithreading instead of multiprocessing, and that didn't go good.
  SIG_IGN and SIG_DFL were broken then
  (https://bugs.python.org/issue23395), now they are fixed but not quite
  but maybe it's not relevant for us."

I looked (only briefly) through that bug report in python, but I don't
see any issues with killing child processes during testing this patch.

Plus to me it is better to get some unknown python error (and fix it
somehow) instead of leaving child processes.

v2: correctly catch INT/TERM/HUP too
2021-05-01 08:46:59 +03:00
Azat Khuzhin
2cf931e08b clickhouse-test: add missing whitespace before printing database on error 2021-04-30 21:30:02 +03:00
Azat Khuzhin
56774f9c49 clickhouse-test: print database name on failures
Useful for debugging, i.e. to distingiush test failures for flaky check
2021-04-22 22:30:01 +03:00
Alexander Tokmakov
51d2932fe8 print errors on db creation in clickhouse-test 2021-04-19 14:03:20 +03:00
alexey-milovidov
e1e2f534e8
Merge pull request #22646 from azat/clickhouse-test-log-comment
Add log_comment setting for DROP/CREATE DATABASE in clickhouse-test
2021-04-06 14:48:04 +03:00
Azat Khuzhin
624b2632cc Add log_comment setting for DROP/CREATE DATABASE in clickhouse-test 2021-04-05 06:58:54 +03:00
Alexey Milovidov
1bd4febfd5 Better retries on ZK errors in sh tests 2021-04-05 05:17:17 +03:00
Alexander Kuzmenkov
b67f48999c Merge remote-tracking branch 'origin/master' into HEAD 2021-03-31 16:27:19 +03:00
tavplubix
049019bdb2
Update clickhouse-test 2021-03-30 20:27:58 +03:00
Alexander Tokmakov
500a20f30d Merge branch 'master' into test_multiple_nodes 2021-03-30 16:23:33 +03:00
Alexander Kuzmenkov
f2325b62f4 Merge remote-tracking branch 'origin/aku/flaky-stateless' into HEAD 2021-03-30 14:04:02 +03:00
Alexander Kuzmenkov
27635fd381 create two batches per process in clickhouse-test 2021-03-30 14:03:00 +03:00
Alexander Kuzmenkov
6bd483f9d4 individual tmp dir matching the database for each test run 2021-03-30 03:39:33 +03:00
Alexander Kuzmenkov
58987a973d flush 2021-03-30 01:42:37 +03:00
Alexander Kuzmenkov
47cc8938f9 faster 2021-03-29 22:12:20 +03:00
Alexander Kuzmenkov
2b7d2fab82 less flaky functional tests 2021-03-29 22:12:20 +03:00
Alexander Kuzmenkov
72f8b42d63 more info 2021-03-29 21:19:13 +03:00
Alexander Kuzmenkov
112cd107aa print elapsed time per test group 2021-03-29 21:14:06 +03:00
Alexander Kuzmenkov
fe2a364e09 faster 2021-03-29 19:26:50 +03:00
Alexander Kuzmenkov
0dfd091011 less flaky functional tests 2021-03-26 19:40:26 +03:00
Alexander Tokmakov
fdae70df6c fix tests 2021-03-18 15:50:03 +03:00
Alexander Tokmakov
735acf27d8 try run stateful tests 2021-03-16 19:39:31 +03:00
Alexander Tokmakov
ab07b3b516 Merge branch 'distributed_ddl_improvements' into test_multiple_nodes 2021-03-15 21:22:24 +03:00
alexey-milovidov
c9f14052bc
Merge pull request #21700 from azat/clickhouse-test-fix-log-comment
Fix log_comment for *.sh in clickhouse-test
2021-03-14 12:29:57 +03:00
Azat Khuzhin
334520557c Fix log_comment for *.sh in clickhouse-test
setdefault will set it only once
2021-03-13 18:15:16 +03:00
Alexander Tokmakov
e62e256e77 fix 2021-03-13 13:22:48 +03:00
Azat Khuzhin
eb3710c164 Fix error message in clickhouse-test
{} was not replaced:

    Cannot get server pid with {}, got {}: {} lsof -i tcp:9000 -s tcp:LISTEN -Fp | awk '/^p[0-9]+$/{print substr($0, 2)}' b'306\n1025011\n' invalid literal for int() with base 10: b'306\n1025011\n'
2021-03-13 08:43:41 +03:00
Alexander Tokmakov
8e00ff7898 try run two nodes with Replicated db and NuKeeper 2021-03-13 04:25:13 +03:00
Alexander Tokmakov
d46fee0f04 Merge branch 'master' into stress_test_results 2021-02-26 00:24:22 +03:00
Alexander Tokmakov
487b162343 fix 2021-02-22 16:53:43 +03:00
Alexander Tokmakov
eaed15b5e1 process result of func and unit tests 2021-02-20 23:04:24 +03:00
Alexander Tokmakov
033f55f498 fix 2021-02-19 17:38:20 +03:00
Alexander Tokmakov
4493c39bf7 fix 2021-02-19 12:57:09 +03:00
Alexander Tokmakov
9c7cf9e92e remove some debug code 2021-02-15 13:26:34 +03:00
Alexander Tokmakov
5e0cbfe972 Merge branch 'master' into database_replicated 2021-02-08 23:01:12 +03:00
Alexander Kuzmenkov
858043cd53 detect unmarked long tests in flaky check 2021-02-04 15:06:48 +03:00
Alexander Tokmakov
d010f97db0 Merge branch 'master' into database_replicated 2021-02-03 20:13:25 +03:00
Alexander Tokmakov
9da445e740 execute initial query in the same thread 2021-02-01 22:29:47 +03:00
Alexey Milovidov
feeb1243ec Fix Python 2021-01-29 06:26:53 +03:00
Alexey Milovidov
93f58257e4 Fix mistake 2021-01-29 04:45:24 +03:00
Alexey Milovidov
d6e34deeee Fix Python 2021-01-29 03:53:21 +03:00
Alexey Milovidov
a121a5250b Add log comment when running .sh tests 2021-01-28 20:31:34 +03:00
Alexander Kuzmenkov
348bbe85b2
Merge pull request #19715 from ClickHouse/aku/flaky-parallel
Run tests in parallel in flaky check
2021-01-28 19:16:28 +03:00
alesapin
879adc5437 Add new line to status 2021-01-28 11:55:20 +03:00
Alexander Kuzmenkov
f4f66e9537 try to use predictable names for stdout/err when possible 2021-01-27 21:37:28 +03:00
Alexander Kuzmenkov
8070562bd0 Run tests in parallel in flaky check 2021-01-27 18:24:39 +03:00
Azat Khuzhin
1ef38148ac Fix all pylint warnings in clickhouse-test 2021-01-26 23:36:04 +03:00
Azat Khuzhin
c4454ab095 Fix colored() usage in clickhouse-test 2021-01-26 23:23:00 +03:00
Alexander Tokmakov
f20d5e3b41 fix 2021-01-26 20:51:25 +03:00
Alexey Milovidov
9f8ab99dd1 Use log_comment in clickhouse-test 2021-01-25 22:29:29 +03:00
alesapin
18fb642e45 Check for hung queries in fast test 2021-01-25 11:53:04 +03:00
Alexander Kuzmenkov
eb7b87ee8d update tests 2021-01-21 21:01:32 +03:00
Alexander Kuzmenkov
ec8ff21526 Reconnect after client errors 2021-01-21 17:28:46 +03:00
Alexander Kuzmenkov
33b941b216 not sure why it doesn't like my f-strings 2021-01-20 10:01:26 +03:00
Alexander Kuzmenkov
107d83b654 Avoid mixing output from parallel test runs.
Also mark some tests as sequential-only.
2021-01-20 08:31:41 +03:00
Alexander Kuzmenkov
d0922e2985 Merge remote-tracking branch 'origin/master' into tmp 2021-01-18 23:23:49 +03:00
Alexey Milovidov
897d51b6e7 Usability improvement of clickhouse-test 2021-01-18 14:38:44 +03:00
Alexander Kuzmenkov
9d6730a846 small fixes 2021-01-16 00:33:53 +03:00
Ivan
35d62b73a7
Check for CLICKHOUSE_CLIENT_OPT env before setting it (#18574) 2020-12-28 18:47:44 +03:00
Ivan
ff80c1f3ce
Move --antlr arg outside of parser group 2020-12-25 15:59:02 +03:00
Ivan
5fd6f260ac
Add support for ANTLR inside clickhouse-test (#18319) 2020-12-22 15:24:46 +03:00
Alexey Milovidov
e6ab6badf9 Fix clickhouse-test 2020-12-22 00:03:41 +03:00
alesapin
ce2028e3ce Fix clickhouse-test 2020-12-21 14:19:12 +03:00
alesapin
30c98adde4 Fix local variable in clickhouse-test 2020-12-17 23:13:49 +03:00
alesapin
d873439846
Merge pull request #15236 from ClickHouse/run_func_tests_in_parallel
Collect list of non-parallel test
2020-12-16 19:29:32 +03:00
alesapin
2e4aa6b9e1 Kill not only database proc 2020-12-15 19:20:09 +03:00
alesapin
873d9d1e1e Better 2020-12-15 16:34:53 +03:00
alesapin
9bb0326fc6 Fix database drop timeout in clickhouse-test 2020-12-15 16:33:14 +03:00
alesapin
b68aa1c76d Merge branch 'master' into run_func_tests_in_parallel 2020-12-03 17:22:09 +03:00
myrrc
9ca35c0b44 Merge remote-tracking branch 'upstream/master' into improvement/diff-types-in-avg-weighted 2020-10-30 17:22:24 +03:00
alesapin
362b2c1cb2 Merge branch 'master' into run_func_tests_in_parallel 2020-10-28 14:12:45 +03:00