Fix cross-test
1. Comment in the middle of multi-line shell command joined by \ does
not work, change to multiple individual commands instead.
2. Fix a py 2vs3 compat issue missed in 24df0a5 used in cross runner.
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fee8b72..423a0b5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -619,13 +619,12 @@
- name: Set back executable flags
run: |
- chmod a+x \
- lib/java/build/run* \
- lib/kotlin/cross-test-client/build/install/TestClient/bin/* \
- lib/kotlin/cross-test-server/build/install/TestServer/bin/* \
- # THRIFT-5864 test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/* \
- test/rs/bin/* \
- test/go/bin/*
+ chmod a+x lib/java/build/run*
+ chmod a+x lib/kotlin/cross-test-client/build/install/TestClient/bin/*
+ chmod a+x lib/kotlin/cross-test-server/build/install/TestServer/bin/*
+ # THRIFT-5864 chmod a+x test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/*
+ chmod a+x test/rs/bin/*
+ chmod a+x test/go/bin/*
- name: Create tmp domain socket folder
run: mkdir /tmp/v0.16
diff --git a/test/test.py b/test/test.py
index a288c26..e03cb45 100755
--- a/test/test.py
+++ b/test/test.py
@@ -36,7 +36,6 @@
import sys
import crossrunner
-from crossrunner.compat import path_join
# 3.3 introduced subprocess timeouts on waiting for child
req_version = (3, 3)
@@ -46,15 +45,15 @@
ROOT_DIR = os.path.dirname(os.path.realpath(os.path.dirname(__file__)))
TEST_DIR_RELATIVE = 'test'
-TEST_DIR = path_join(ROOT_DIR, TEST_DIR_RELATIVE)
-FEATURE_DIR_RELATIVE = path_join(TEST_DIR_RELATIVE, 'features')
+TEST_DIR = os.path.join(ROOT_DIR, TEST_DIR_RELATIVE)
+FEATURE_DIR_RELATIVE = os.path.join(TEST_DIR_RELATIVE, 'features')
CONFIG_FILE = 'tests.json'
def run_cross_tests(server_match, client_match, jobs, skip_known_failures, only_known_failures, retry_count, regex):
logger = multiprocessing.get_logger()
logger.debug('Collecting tests')
- with open(path_join(TEST_DIR, CONFIG_FILE), 'r') as fp:
+ with open(os.path.join(TEST_DIR, CONFIG_FILE), 'r') as fp:
j = json.load(fp)
tests = crossrunner.collect_cross_tests(j, server_match, client_match, regex)
if not tests:
@@ -85,12 +84,12 @@
def run_feature_tests(server_match, feature_match, jobs, skip_known_failures, only_known_failures, retry_count, regex):
- basedir = path_join(ROOT_DIR, FEATURE_DIR_RELATIVE)
+ basedir = os.path.join(ROOT_DIR, FEATURE_DIR_RELATIVE)
logger = multiprocessing.get_logger()
logger.debug('Collecting tests')
- with open(path_join(TEST_DIR, CONFIG_FILE), 'r') as fp:
+ with open(os.path.join(TEST_DIR, CONFIG_FILE), 'r') as fp:
j = json.load(fp)
- with open(path_join(basedir, CONFIG_FILE), 'r') as fp:
+ with open(os.path.join(basedir, CONFIG_FILE), 'r') as fp:
j2 = json.load(fp)
tests = crossrunner.collect_feature_tests(j, j2, server_match, feature_match, regex)
if not tests:
@@ -171,7 +170,7 @@
client_match = list(chain(*[x.split(',') for x in options.client]))
if options.update_failures or options.print_failures:
- dire = path_join(ROOT_DIR, FEATURE_DIR_RELATIVE) if options.features is not None else TEST_DIR
+ dire = os.path.join(ROOT_DIR, FEATURE_DIR_RELATIVE) if options.features is not None else TEST_DIR
res = crossrunner.generate_known_failures(
dire, options.update_failures == 'overwrite',
options.update_failures, options.print_failures)