summaryrefslogtreecommitdiff
path: root/tests/shadow
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* 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.
* 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.
* 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
|
* 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
|
* 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-161-1/+1
|/
* 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).
* tor-hsclient: Remove client nickname from the client key specifiers.Gabriela Moldovan2024-02-221-0/+0
| | | | Closes #1283
* arti, arti-client, tor-keymgr: Remove keystore dir configuration.Gabriela Moldovan2024-02-211-1/+3
| | | | Closes #1202
* tor-hsservice: Rename the service keystore dir to "hss".Gabriela Moldovan2024-02-012-0/+0
| | | | | | | | | | | The onion service keys now live in the `hss/<nickname>` subdirectory within the keystore. This layout change is **not** backwards-compatible, so if you want to use your existing hidden service keys, you will need to manually move them to `<keystore_root>/hss`. Closes #1260
* tor-keymgr: Lowercase the role when building the ArtiPath.Gabriela Moldovan2024-01-313-1/+1
| | | | | | | The role is a slug, and slugs are not allowed to contain uppercase characters. Closes #1195
* tor-keymgr: Strip .onion suffix from HsId before building Slug.Gabriela Moldovan2024-01-311-0/+0
| | | | | | We are about to replace `ArtiPathComponent` with `Slug`, but `Slug`s don't support `.`, so let's strip the `.onion` suffix before encoding it in the `ArtiPath`.
* shadow ci: add instructions for building arti-extraJim Newsome2024-01-161-2/+20
|
* shadow test: Update the test client auth keys.Gabriela Moldovan2023-12-142-7/+6
| | | | | The algorithm name for x25519 keys has changed, so the test keys need to be updated.
* shadow test: Update hidden service keys.Gabriela Moldovan2023-12-143-8/+8
| | | | | The algorithm name for expanded ed25519 keys has changed, so the test keys need to be updated.
* shadow test: remove workaround for #1170Jim Newsome2023-12-131-9/+0
| | | | | | | Disabling the shadow option --model-unblocked-syscall-latency causes this bug not to surface. Better to remove this workaround for now so that we can revisit again if/when it does rather than continue to mask it.
* shadow test: disable --model-unblocked-syscall-latencyJim Newsome2023-12-131-1/+0
| | | | | | | | | This option is mostly a workaround for busy loops and other subtle race conditions. While having it enabled can let us ignore some benign busy loops and timing edge cases, it can also hide real problems; e.g. burning extra CPU in a busy-loop. https://shadow.github.io/docs/guide/limitations.html#busy-loops
* shadow test: add tor client connecting to arti hsJim Newsome2023-12-134-1/+16
|
* shadow test: add client for arti hsJim Newsome2023-12-135-1/+64
| | | | | This also adds a workaround - the arti service doesn't appear to register itself (set up intro points) unless first used as a client.
* shadow test: add hidden service keystore to templateJim Newsome2023-12-132-0/+9
| | | | This is to ensure a stable HS address.
* shadow test: add fileserver-onion-artiJim Newsome2023-12-132-0/+24
|
* shadow ci: use proxy.sock_listen instead of socks_portJim Newsome2023-12-131-5/+5
| | | | socks_port is deprecated
* shadow ci: reformat arti argument lists (no-op)Jim Newsome2023-12-131-5/+33
| | | | | Put one argument per line and use a yaml list instead of string (shadow accepts either here).