summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* 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).
* 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.