summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'chutney-arti-extra' into 'main'Jim Newsome2026-03-185-46/+156
|\ | | | | | | | | chutney test: include arti-extra bin See merge request tpo/core/arti!3772
| * 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.
* | Merge branch 'shadow-keep-going' into 'main'Alexander Hansen Færøy2026-03-121-10/+14
|\ \ | |/ |/| | | | | shadow ci: keep going after first failure See merge request tpo/core/arti!3766
| * shadow ci: keep going after first failureJim Newsome2026-03-111-10/+14
| | | | | | | | It can be useful to see the outcome of the other tests/analysis.
* | 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
|
* 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
|