From b2cbb5f13c751f577bc9470c1ed665d39f1fa26a Mon Sep 17 00:00:00 2001 From: Amaury Chamayou Date: Thu, 5 Mar 2026 15:01:11 +0000 Subject: [PATCH 1/2] [PoC] CTest bypass --- tests/infra/e2e_args.py | 2 +- tests/infra/network.py | 2 +- tests/infra/remote.py | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/infra/e2e_args.py b/tests/infra/e2e_args.py index 7cbf6c1f4a9b..c3d3abf60398 100644 --- a/tests/infra/e2e_args.py +++ b/tests/infra/e2e_args.py @@ -66,7 +66,7 @@ def cli_args( "-b", "--binary-dir", help="Path to CCF binaries (cchost, scurl, keygenerator)", - default=".", + default="../build", ) parser.add_argument( "--library-dir", diff --git a/tests/infra/network.py b/tests/infra/network.py index 853d3fa434a3..669e5191223c 100644 --- a/tests/infra/network.py +++ b/tests/infra/network.py @@ -301,7 +301,7 @@ def __init__( for host in self.hosts: self.create_node( - host, version=self.version, node_data_json_file=node_data_json_file + host, binary_dir=binary_dir, version=self.version, node_data_json_file=node_data_json_file ) def _get_next_local_node_id(self): diff --git a/tests/infra/remote.py b/tests/infra/remote.py index 3ddb9d295763..81446cd5842b 100644 --- a/tests/infra/remote.py +++ b/tests/infra/remote.py @@ -376,7 +376,7 @@ def __init__( self.BIN = infra.path.build_bin_path(self.BIN, binary_dir=binary_dir) # 7.x releases combined binaries and removed the separate cchost entry-point if major_version is None or major_version >= 7: - self.BIN = enclave_file + self.BIN = infra.path.build_bin_path(enclave_file, binary_dir=binary_dir) self.common_dir = common_dir self.pub_host = host.get_primary_interface().public_host @@ -554,7 +554,10 @@ def __init__( json.dump(j, f, indent=2) - exe_files += [self.BIN, enclave_file] + self.DEPS + exe_files += [self.BIN] + if major_version is not None and major_version < 7: + exe_files += [enclave_file] + exe_files += self.DEPS data_files += [self.ledger_dir] if self.ledger_dir else [] data_files += [self.snapshots_dir] if self.snapshots_dir else [] data_files += ( From aa37ecdc51be94855e70f6c38a8b1b417e12a542 Mon Sep 17 00:00:00 2001 From: Amaury Chamayou Date: Thu, 5 Mar 2026 15:29:59 +0000 Subject: [PATCH 2/2] missing --- tests/pyproject.toml | 48 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/pyproject.toml diff --git a/tests/pyproject.toml b/tests/pyproject.toml new file mode 100644 index 000000000000..30a2e6f75866 --- /dev/null +++ b/tests/pyproject.toml @@ -0,0 +1,48 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "ccf-tests" +version = "0.0.0" +requires-python = ">=3.12" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.envs.default] +skip-install = true +dependencies = [ + "ccf @ {root:uri}/../python/", + "wheel >= 0.46.2, < 0.47", + "loguru >= 0.7.3, < 0.8", + "openapi-spec-validator >= 0.7.2, < 0.8", + "PyJWT >= 2.10.0, < 3", + "docutils >= 0.22.2, < 0.23", + "python-iptables >= 1.2.0, < 1.3", + "py-spy >= 0.4.1, < 0.5", + "GitPython >= 3.1.45, < 4", + "better_exceptions >= 0.3.3, < 0.4", + "pyasn1 >= 0.6.1, < 0.7", + "Jinja2 >= 3.1.6, < 4", + # Later versions of httpx cause failures in long forwarding, + # extended character range and JWT tests. + "httpx[http2] == 0.23.*", + "locust >= 2.41.6, < 3", + "JWCrypto >= 1.5.6, < 2", + "rich >= 14.2.0, < 15", + "gelidum >= 0.9.1, < 1", + "matplotlib >= 3.10.7, < 4", + # Piccolo dependencies + "fastparquet >= 2024.11.0, < 2025", + "prettytable >= 3.16.0, < 4", + "polars >= 1.34.0, < 2", + "plotext >= 5.3.2, < 6", + "boofuzz >= 0.4.2, < 0.5", + "numpy >= 1.26.4, < 2", + "cwt >= 3.2.0, < 4", + "aiohttp >= 3.13.0, < 4", +] + +[tool.hatch.envs.default.scripts] +commit-latency = "python commit_latency.py {args}"