summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* 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 ```
* shadow tests: Enable and turn on memquotaIan Jackson2024-10-211-0/+5
| | | | This detected the account lifetime bugs fixed in this branch.
* shadow tests: Provide an arti.extra.toml to arti-extra binaryIan Jackson2024-10-2117-0/+26
|
* shadow CI: Add arti hidden service test using a C Tor keystore.Gabriela Moldovan2024-10-0812-0/+101
|
* 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.
* shadow CI: Disable SOCKS/DNS proxying for the arti onion services.Gabriela Moldovan2024-09-171-0/+6
| | | | This tests that #1569 works.
* shadow: add obfs4 arti client + tor bridgeopara2024-08-2116-1/+82
|
* shadow ci: don't explicitly set storage.keystore.enabledJim Newsome2024-08-061-4/+0
| | | | | | | | Setting it for all arti processes causes a warning to be logged to stderr, which causes the shadow ci script to fail. It's enabled by default anyway when the feature is compiled in, so we don't need to enable it explicitly.
* shadow CI: fail on arti logged errorsJim Newsome2024-08-061-0/+9
|
* shadow ci: fail on nonempty stderr fileJim Newsome2024-08-061-0/+9
| | | | This would have caught #1513 before it was merged.
* shadow test: Add another client for the restricted discovery service.Gabriela Moldovan2024-08-056-0/+75
| | | | | This tests that the client configured in the `authorized_clients` directory of the service is able to connect.
* shadow test: Set the right permissions for authorized_clients.Gabriela Moldovan2024-08-051-0/+1
|
* shadow test: Add a new arti client for connecting to filserver-onion-arti-auth.Gabriela Moldovan2024-08-056-0/+63
| | | | | This will be used with the new `fileserver-onion-arti-auth` test hidden service.
* shadow test: Add fileserver-onion-arti-authGabriela Moldovan2024-08-057-0/+46
| | | | | | | | | This adds a new restricted discovery hidden service (`fpqqmiwzqiv63jczrshh4qcmlxw6gujcai3arobq23wikt7hk7ojadid.onion`) that has 2 authorized clients: * `alice`, the client configured in the `restricted_discovery.static` list in its TOML config * `default`, the client configured in `authorized_clients/default.auth`
* ci: Fix variable not expanding.Gabriela Moldovan2024-06-051-3/+4
|
* ci: Fix shellcheck warnings.Gabriela Moldovan2024-06-051-2/+2
|
* ci: If there are internal errors, log where they were found.Gabriela Moldovan2024-06-051-2/+3
|
* ci: Make the shadow simulation fail if an internal error is logged.Gabriela Moldovan2024-06-041-0/+24
|
* Revert "shadow ci: Increase start_time of the new test."Gabriela Moldovan2024-06-031-2/+2
| | | | | | We don't need this now that #1417 is fixed. This reverts commit a9010f6300c25e4602ecf8017ca176c724ecdfa5.
* shadow ci: Increase start_time of the new test.Gabriela Moldovan2024-06-031-2/+2
| | | | | | | | | | | | | | Without this change, one of the tgen processes doesn't exit as expected: ``` 618990:00:06:50.991981 [4717:shadow-worker] 00:30:00.000000000 [ERROR] [torclient-onion-artiserver:11.0.0.19] [process.rs:1525] [shadow_rs::host::process] process 'torclient-onion-artiserver.tgen.1001' exited with status StoppedByShadow; expected end state was exited: 0 but was running ``` This is because of a stub circuit selection bug that only manifests when the `torclient-onion-artiserver` and `torclient-onion-artiserver-full-vanguards` tests are run at the same time. See #1417 for more details.
* shadow test: Add test for onion svc using full vanguards.Gabriela Moldovan2024-06-039-0/+106
| | | | | | | This adds an onion service that uses full vanguards, and a client that connects to it. Closes #1408
* shadow ci: Put the test hosts in a HOSTS variable.Gabriela Moldovan2024-06-031-2/+9
| | | | | Moving them to a separate variable makes the script more readable as we add more hosts.
* Merge branch 'script-suffixes' into 'main'Ian Jackson2024-05-162-1/+1
|\ | | | | | | | | Forbid script suffixes See merge request tpo/core/arti!2153
| * Rename tests/shadow/run.sh to runIan Jackson2024-05-162-1/+1
| |
* | doc: Use locked buildpinkforest2024-05-162-2/+2
|/
* CI: Don't build arti with experimental features in rust-latest.Gabriela Moldovan2024-03-141-1/+1
| | | | | | | | Some experimental features (i.e. `vanguards`) break the shadow integration tests. Since the examples enable `experimental`, we need `rust-latest` to build arti using `-p arti`, rather than from the workspace level (because cargo does feature unification when building the packages as a workspace).