summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* shadow CI: disable stallouts for onion clientsJim Newsome2025-12-087-0/+21
| | | | | | | | | | | | tgen aborts a stream and starts the next one when the "stallout" timeout is reached. In some cases the arti (or tor) client just needs a bit more time to establish a connection to the hidden service. A potential downside is that if a single stream "stalls" forever without an explicit error, tgen will never give up on it, and thus never try any more streams. We can worry about that if and when we see it though; and it would indicate a likely bug since the known clients and servers in this test shouldn't stall indefinitely in this way.
* shadow CI: *increase* required success rate for c-tor clientJim Newsome2025-12-021-5/+5
| | | | | | | None of the failures currently recorded in https://gitlab.torproject.org/tpo/core/arti/-/issues/2209 involve the c-tor client. I think we can safely require all xfers to succeed for the c-tor client.
* shadow CI: reduce arti client HS required successesJim Newsome2025-12-021-7/+7
| | | | | | | | From 9/10 to 5/10. This is to mitigate flakiness. See https://gitlab.torproject.org/tpo/core/arti/-/issues/2209#note_3295789
* ci: Improve formatting of shadow results.Wesley Aptekar-Cassels2025-11-251-3/+3
| | | | Having this all on one line makes it easier to read.
* ci: Print host names in shadow run script.Wesley Aptekar-Cassels2025-11-251-1/+1
| | | | Now that we no longer echo these, this is useful.
* ci: Print seed in shadow run script.Wesley Aptekar-Cassels2025-11-251-0/+2
| | | | Now that we no longer echo this, it's potentially useful to have it.
* ci: Disable echoing in shadow test script.Wesley Aptekar-Cassels2025-11-251-1/+1
| | | | | | I find that the echoing here does not really contribute to my understanding of what's going on, and it makes the output quite difficult to parse.
* tests: Fix error in shadow checking script.Wesley Aptekar-Cassels2025-11-241-1/+1
| | | | | | articlient-onion-auth was included twice on this list. From looking at 9ad23705e4, where the second instance was introduced, it seems that this was meant to be articlient-onion-artiserver-auth.
* shadow CI: increase success threshold for onion svc xfersJim Newsome2025-11-041-13/+13
| | | | | | | | It looks like the reliability has increased at some point. Let's ratchet up the required-success threshold to avoid silent regression. See <https://gitlab.torproject.org/tpo/core/arti/-/issues/2109#note_3278828>
* shadow CI: add check_host_xfers helper function and improve outputJim Newsome2025-11-041-36/+30
|
* shadow CI: Use ./ prefix for logging pathJim Newsome2025-11-031-1/+1
| | | | | | | | | | Workaround for arti#2240, though doesn't hurt to be more explicit in general. This bug wasn't triggered in versions of shadow before <https://github.com/shadow/shadow/issues/3659> was fixed - shadow's implementation of `statx` and other syscalls incorrectly behaved as if the `AT_EMPTY_PATH` were set.
* 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.
* 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.