summaryrefslogtreecommitdiff
path: root/tests/chutney
Commit message (Collapse)AuthorAgeFilesLines
* chutney test: include arti-extra binJim Newsome2026-03-114-19/+80
| | | | | Test the arti-extra bin, which includes most of `full` and `experimental` features, too.
* network.py: break up construction of configs listJim Newsome2026-03-111-47/+46
|
* chutney test: don't override CHUTNEY_START_TIMEJim Newsome2026-03-111-3/+0
| | | | | The default has been increased to 300, so there's no need to override it here.
* chutney ci: convert chutney-script to a normal python moduleJim Newsome2026-03-115-44/+97
| | | | | | | | | | | | | This will give us a bit more flexibility, e.g. to pass additional arguments. Now that the python linters understand it, we fix some linting issues. We preserve the ability to run the test on other networks by making the Config.network optional. The new default of `None` means to use the built-in module to create the network. The functionality of the test itself is the same.
* chutney test setup: use explicit namespace destJim Newsome2026-03-091-10/+27
| | | | | This helps avoid subtle mismatches of the sort fixed in the previous commit.
* chutney test setup: fix override for arti-bench-binJim Newsome2026-03-091-1/+1
| | | | | We were accidentally using the arti-bin command-line arg to also override arti-bench-bin.
* chutney scripts: opt into strict typecheckingJim Newsome2026-03-091-1/+1
|
* chutney setup: no longer dump shell snippetJim Newsome2026-03-091-13/+0
| | | | Everything now uses the json version, instead.
* chutney teardown: convert from shell to pythonJim Newsome2026-03-091-10/+15
|
* chutney integration-e2e: convert from shell to pythonJim Newsome2026-03-091-7/+16
|
* chutney integration-e2e-shadow: redirect stderr to stdoutJim Newsome2026-03-092-2/+8
| | | | | No particular need to separate them, and the merged version is easier to follow.
* chutney test: use unittest frameworkJim Newsome2026-03-091-103/+125
| | | | | | This organizes the code a bit better and gives nicer output. It also separates individual test cases and subcases, continuing to try to complete other tests when one fails instead of exiting.
* Document tests/chutney/config.pyJim Newsome2026-03-051-0/+13
|
* chutney test: bump CHUTNEY commit and update to test all endpointsJim Newsome2026-03-041-50/+61
| | | | | | | chutney replaced Node.socksport (a single optional port) with Node.socksport_endpoints (a sequence of bound addresses and ports). Update for compatibility, and test all of the exposed endpoints where relevant.
* chutney test: test all relevant clients, not just an arbitrary oneJim Newsome2026-03-041-53/+56
|
* chutney test: don't shell out to chutney for 'verify' testJim Newsome2026-03-041-2/+3
|
* chutney test: drop jq dependencyJim Newsome2026-03-042-25/+0
|
* chutney test: use chutney module to inspect NetworkJim Newsome2026-03-041-29/+31
| | | | | | | | | | | * Gets rid of shelling out to jq. We could also accomplish that with the json module, but this way also gives us: * Better error detection and handling. In particular this lets mypy statically detect trying to access fields of the wrong name or type. It will also make it easier to bump to the latest chutney, which has replaced `socksport` with `socksport_endpoints`, which would be more difficult to work with as json, especially via `jq`.
* chutney test: move some common functionality into a moduleJim Newsome2026-03-043-14/+22
|
* chutney test: convert to pythonJim Newsome2026-03-042-39/+103
|
* chutney bootstrap: convert to pythonJim Newsome2026-03-042-11/+32
| | | | | This is primarily a proof-of-concept for converting these scripts before tackling the more complext 'test' script.
* chutney test: dump config as json, for use by python scriptsJim Newsome2026-03-042-1/+8
|
* chutney Config: use json-friendly typesJim Newsome2026-03-042-10/+10
| | | | | In particular, use `str` instead of `Path`, so that it's directly encodable and decodable by the json module.
* chutney CI: move config class to a module for reuseJim Newsome2026-03-042-10/+20
|
* tests/chutney/setup: use shlex.quoteJim Newsome2026-01-211-6/+10
| | | | | | Previously this was naively wrapping strings in double-quotes. This works ok for escaping internal whitespace, but doesn't escape other special characters.
* Bump chutneyJim Newsome2026-01-214-6/+9
| | | | Bump chutney, and migrate to CLI changes introduced in chutney!101
* Bump blackJim Newsome2026-01-211-24/+8
|
* chutney ci: make arti-bench bin configurableJim Newsome2025-10-092-1/+43
| | | | Also search several candidate paths.
* chutney ci setup: encapsulate config as a wholeJim Newsome2025-09-291-23/+35
| | | | | | This is partly just to get more code out of "main", but also paves the way a bit for reusing this config code in the `integration-e2e-shadow` wrapper script, to support the same command-line arguments there.
* chutney CI: store and use jq pathJim Newsome2025-09-292-5/+5
| | | | | | Since we're validating the presence of jq, we might as well handle it consistently with the other dependencies and provide a way to specify where it is.
* chutney setup: refactor config options into Resolver objectsJim Newsome2025-09-291-79/+127
| | | | | | Encapsulate the logic of finding and validating each option into their own objects (e.g. so that specification of corresponding command-line option goes together with other related logic).
* chutney ci: remove CHUTNEY_BIN env variableJim Newsome2025-09-295-17/+10
| | | | | | This wasn't a pre-existing environment variable, and now it can be set via command-line if it needs to be overridden. I don't see much reason to use an environment variable here.
* chutney ci setup: allow bin locations to be set by cmd lineJim Newsome2025-09-291-20/+36
|
* chutney setup: break into functionsJim Newsome2025-09-291-36/+50
|
* chutney ci: rewrite setup script in pythonJim Newsome2025-09-291-92/+75
| | | | | We avoid much refactoring at this step to minimize functional changes from the shell script.
* chutney CI: move benchmark from e2e script to `test` scriptJim Newsome2025-09-292-12/+7
|
* chutney ci: move "chutney bootstrap" from `setup` to `bootstrap`Jim Newsome2025-09-293-5/+19
| | | | | | This makes the `setup` script a bit more clearly single-purpose of resolving and storing the configuration, without actually acting on it yet.
* chutney ci: move "chutney verify" test from `setup` to `test`Jim Newsome2025-09-292-1/+13
| | | | | | | | | It made sense to have this as part of the setup when the chutney network itself didn't include arti; i.e. this used to be just validating the non-chutney tor network before adding chutney nodes. Now that the chutney network natively includes arti nodes, `chutney verify` is testing those nodes; i.e., testing arti.
* Integration testing: use quicktest buildJim Newsome2025-08-261-1/+5
|
* integration-e2e-shadow: update simulated time more frequentlyJim Newsome2025-08-111-1/+6
| | | | | | | | In particular, this is to avoid floods of: > compute_drain_rate(): Bug: Computing stream drain rate with zero time delta in tor logs.
* chutney test net: add 2nd exit and bridge for conflux compatJim Newsome2025-08-111-2/+2
| | | | | | arti isn't trying to use conflux yet, but the tor nodes are. Things were stumbling along without this, but adding it reduces some log noise, and might help with consistency.
* chutney test network: use multi-phase launchJim Newsome2025-08-111-7/+22
| | | | | | This reduces some noise and warnings, and may help with consistency. e.g. this avoids everything trying to repeatedly contact the directory authorities before they're up.
* chutney ci: use "chutney bootstrap" to support multi-phase networksJim Newsome2025-08-111-3/+1
| | | | | | | | | In this commit there should be little effective difference, other than combining the "setup", "configure", and "wait_for_bootstrap" steps. "chutney bootstrap" also support multi-phase networks, though, in which chutney waits for some nodes to fully bootstrap before bringing up other nodes.
* CI: increase CHUTNEY_START_TIME to defaultJim Newsome2025-08-111-1/+1
| | | | | | | | | | | This is the time we wait for the network to bootstrap before giving up. With the larger network we seem to need this extra time. We've already increased the default in chutney to 300; no reason to use a smaller value here. Keep the explicit-setting for now as a convenience in case we want to modify it again.
* arti ci: add a bridge clientJim Newsome2025-06-051-0/+7
|
* arti test network: add fewer exit relaysJim Newsome2025-06-051-2/+3
| | | | Authorities also function as exit relays; we don't need to add so many.
* arti-ci network: inline node definitionsJim Newsome2025-06-051-9/+11
|
* arti-bench script: ensure chutney teardown on exitJim Newsome2025-06-051-0/+6
|
* integration-e2e: ensure chutney network teardown on exitJim Newsome2025-06-051-2/+3
|
* chutney CI: Remove no-op PROXY moduleJim Newsome2025-06-052-9/+2
| | | | An arti proxy is already started as part of the chutney network.