summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* shadow: Update shadow syntax for prop330Clara Engler2025-09-161-3/+1
|
* shadow CI: decrease onion service xfer sizesJim Newsome2025-09-037-14/+21
| | | | | | | | This partially reverts b223d504f6a033600c61e81a0b0a0eea3e43fd44 from arti!3047. Increasing the transfer size exacerbates the failure rate of the onion services too much. We should increase it again once arti#2109 is resolved.
* shadow CI: less-verbose loggingJim Newsome2025-08-271-1/+1
| | | | | With the increased transfer sizes and simulation run-time, the previous log levels resulted in excessively large log files.
* CI shadow test: increase transfer sizes to 5 MBJim Newsome2025-08-2710-19/+19
| | | | | | | | This is the transfer size used in the tor CI chutney tests, to more-fully exercise SENDMEs / congestion control. We also increase the simulation run time to allow time for the larger transfers.
* shadow.yaml: move arti build dir to a yaml anchorJim Newsome2025-08-261-15/+22
|
* Integration testing: use quicktest buildJim Newsome2025-08-263-28/+35
|
* 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.
* shadow CI: have arti processes log to file instead of consoleJim Newsome2025-06-173-17/+54
| | | | | | | | | | | | | | This is in preparation to switch arti's console logging to use stderr instead of stdout. The test script currently fails the test if there are non-empty stderr files, since that's where rust panics end up getting recorded. It will also make it easier to see if there is any other non-logging output. Also disable trace-level logging for the tor_proto module. It's unclear exactly when/why this was added, but it's probably overkill other than when debugging.
* 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
|
* Merge branch 'debug-ci' into 'main'gabi-2502025-05-062-1/+20
|\ | | | | | | | | shadow CI tweaks See merge request tpo/core/arti!2989
| * shadow CI: enable model-unblocked-syscall-latencyJim Newsome2025-05-051-0/+20
| | | | | | | | | | | | | | | | | | | | | | Not expected to solve any immediate issue, but helpful for consistency with the chutney-shadow CI, and I think in the past we've hit busy-loop deadlock without it if/when we try increasing the simulation end time. Similarly, we apply the same tuning of "max_unapplied_cpu_latency" as we use in the chutney-shadow simulation, which gets back some of the simulation stability that enabling model-unblocked-syscall-latency otherwise sometimes sacrifices.
| * shadow CI: disable strace loggingJim Newsome2025-05-051-1/+0
| | | | | | | | | | While useful, it significantly slows down the test. We should probably just enable it when needed.
* | shadow CI test: only require 1 successful HS transferJim Newsome2025-05-051-5/+5
|/ | | | | | | | | | | | | | | As per previous discussion there is some known flakiness around hidden services with TestingTorNetwork enabled: <https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1399#note_2921505> Previously, only requiring 5 of 10 transfers to succeed has been enough to keep this stable, but recently we've gotten unlucky and dipped under this threshold: <https://gitlab.torproject.org/tpo/core/arti/-/issues/1986> More investigation is warranted, especially wrt why the problem seems to mostly be affecting articlient-onion-auth, but for now it's better to have a low success threshold than to have folks overriding the CI failure.
* 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
|
* shadow: capture only 40 bytes of packetsSteven Engler2025-04-011-0/+4
| | | | | | | | | | The pcaps are only used to check for leaks by reading the packet source/destination, so we don't need the entire packet. This should make CI artifacts a bit smaller. The fixed-size portion of an IP header is 20 bytes for IPv4 and 40 bytes for IPv6. Shadow doesn't support IPv6, but used the IPv6 header size anyways.
* tor-circmgr: removed "ntor_v3" feature flagSteven Engler2025-04-011-1/+1
| | | | ntor v3 is now always enabled.
* integration-e2e-shadow: add CLI arg for shadow simulation seedJim Newsome2025-03-311-0/+11
|
* shadow ci README: add notes about reproducibilityJim Newsome2025-03-311-0/+22
|
* shadow ci: add CLI option to run with specified seedJim Newsome2025-03-311-0/+31
|
* shadow test README: update with latest feature setJim Newsome2025-03-311-1/+1
|
* 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
|