summaryrefslogtreecommitdiff
path: root/tests/chutney
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* chutney test: remove extra arti processJim Newsome2025-06-054-78/+0
|
* chutney ci test: use chutney net's arti clientJim Newsome2025-06-052-5/+13
|
* chutney CI: add and use custom network with arti and tor clientsJim Newsome2025-06-052-1/+13
|
* chutney CI: set CHUTNEY_ARTI before configuring chutney networkJim Newsome2025-06-051-15/+17
| | | | This is needed to support chutney networks containing arti nodes.
* chutney CI: get tor client port for arti-bench more robustlyJim Newsome2025-06-052-9/+13
| | | | | Use the new exported json metadata to get a tor client port instead of hard-coding it.
* CI: bump chutney commitJim Newsome2025-06-051-1/+1
| | | | | Also update the hard-coded tor client port here to match updates to the chutney network.
* chutney/arti-bench: pass configured net name through to setup scriptJim Newsome2025-06-051-1/+1
|
* chutney dns test: handle multiple addressesJim Newsome2025-06-051-1/+3
|
* integration-e2e-shadow: move simulation seed to yamlJim Newsome2025-04-231-3/+3
| | | | | | Since this significantly affects the behavior of the simulation, it's probably worth having it in the yaml. (It can of course still be overridden from the command-line).
* integration-e2e-shadow: move unblocked-syscall-latency to yamlJim Newsome2025-04-231-1/+1
| | | | | | Since this significantly affects the behavior of the simulation, it's useful to have it in the yaml for reference or if the simulation is manually rerun from the yaml.
* integration-e2e-shadow: use a larger max_unapplied_cpu_latencyJim Newsome2025-04-231-0/+20
| | | | | | | | This should make the simulation results generally more stable with respect to small perturbations, such as adding logging. It also causes a previous "heisenbug" failure in this test to reliably reproduce in every run.
* tests: remove 'cargo build' from chutney setupSteven Engler2025-04-171-2/+9
|
* integration-e2e-shadow: add CLI arg for shadow simulation seedJim Newsome2025-03-311-0/+11
|
* integration-e2e-shadow: tell chutney to disable tor sandboxJim Newsome2025-03-311-0/+2
| | | | | | | | | | | Previously shadow would report a platform of "shadowsys" in the uname syscall, which would cause chutney to disable sandboxing by default. As of https://github.com/shadow/shadow/pull/3442, shadow now returns "Linux", which causes the chutney default to enable sandboxing. When sandboxing is enabled, the tor processes abort with error, since shadow doesn't support the seccomp syscall.
* Fix AF_UNIX terminology in docs, comments, and error messagesIan Jackson2025-03-241-1/+1
|
* Replace CHUTNEY_PATH with CHUTNEY_BINJim Newsome2024-11-065-65/+71
| | | | | | We no longer need a path to a checkout of the chutney repository; we just need the chutney binary itself. We still allow this to be set explicitly with CHUTNEY_BIN, but fall back to finding it on the PATH.
* chutney test: reference network as built-in instead of full pathJim Newsome2024-11-064-14/+9
| | | | | | | | This takes advantage of a feature added in https://gitlab.torproject.org/tpo/core/chutney/-/merge_requests/31. This is a step towards not needing to set CHUTNEY_PATH to point to a chutney repository.
* python: Split lines over 99 chars longNick Mathewson2024-10-241-1/+2
| | | | | | The `black` formatter did most line wrapping for us, and we accept its default of 88 characters there, but for comments and docstrings (which black doesn't wrap) we allow up to 99 characters.
* Run "black" to reformat all our pythonNick Mathewson2024-10-241-48/+59
| | | | | | | | | | | | | | | | | "Black" is an "opinionated" python formatter, whose opinionatedness is somewhat in the spirit of rustfmt. This MR runs black with default settings on all of our python code in Arti. It was produced by the following commands ``` # Everything in python/ black python/ # Everything with a .py extension fd '.py$' -X black # Everything with a python shebang. git grep -l '#! */usr/bin/env *python' | xargs black ```
* Add `tests/chutney/integration-e2e-shadow`Jim Newsome2024-09-182-0/+102
| | | | | This is a wrapper script for running `tests/chutney/integration-e2e` under shadow.
* chutney test: rework installation and tracking of chutney itselfJim Newsome2024-09-182-1/+23
| | | | | | | | | | | Previously `tests/chutney/setup` would locate *or install* chutney and set `CHUTNEY_PATH` for itself. However that `CHUTNEY_PATH` wasn't propagated to other steps or "up" to the new `integration-e2e` wrapper script. Tracking it in the arti.run along with other dynamic info lets us ensure we consistently use the same chutney across steps, and in the higher level `integration-e2e` script.
* chutney test: add option to skip tests incompatible with shadowJim Newsome2024-09-181-5/+17
|
* chutney: don't hard-code expected IP address for example.comJim Newsome2024-09-181-2/+6
| | | | | | It looks like it changed at some point. Rather than hard-coding, just do the lookup locally and compare the tor-lookup result against that.
* chutney test: move logic from .gitlab-ci.yml to integration-e2eJim Newsome2024-09-181-0/+10
| | | | | | | Having this in a script is a step towards being able to run exactly the same test under shadow without duplicating this high-level logic. It's also convenient for running the ci test locally.
* doc: Use locked buildpinkforest2024-05-161-1/+1
|
* make chutney setup script more portabletrinity-1686a2023-07-101-3/+1
|
* fix chutney in CItrinity-1686a2023-07-081-3/+12
|