summaryrefslogtreecommitdiff
path: root/tests/chutney
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* integration-e2e-shadow: add CLI arg for shadow simulation seedJim Newsome2025-03-311-0/+11
|
* 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 ```
* 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.
* doc: Use locked buildpinkforest2024-05-161-1/+1
|
* make chutney setup script more portabletrinity-1686a2023-07-101-3/+1
|
* fix chutney in CItrinity-1686a2023-07-081-3/+12
|
* shell: use /usr/bin/env instead of absolute pathsEmil Engler2023-01-255-5/+5
| | | | | | | | | | This commit changes the shebang in all shell scripts from absolute paths (such as `/bin/bash` or `/usr/bin/python3`) to the `/usr/bin/env` binary with the accompanying interpreter as it's argument. The reason for this are as follows: - NixOS cannot work with absolute paths - BSD systems install their packages in /usr/local/bin
* test/chutney/setup: Set allow_running_as_root as needed.Nick Mathewson2022-08-241-1/+9
|
* add default chutney path to arti-bench scripttrinity-1686a2022-05-261-3/+11
|
* make almost all scripts use bash and set euo pipefailtrinity-1686a2022-05-253-5/+7
|
* chutney/teardown: validate that pid is setJim Newsome2022-05-231-1/+1
|
* chutney test stop network when arti died or did not starttrinity-1686a2022-05-052-15/+15
|
* Use port 35353 for testing, not 5353.Nick Mathewson2022-03-152-3/+3
| | | | | Apparently 5353 is commonly used for mDNS, and so counts as "already in use" on many consumer machines.
* comment AAAA test and explain why it's disabledtrinity-1686a2022-03-141-1/+4
|
* add simple unit test on UDPtrinity-1686a2022-03-141-1/+1
|
* add integration test and fill semver_statustrinity-1686a2022-03-142-1/+7
|
* tests/chutney/setup: Transfer changes from just-deleted codeIan Jackson2022-03-111-3/+3
| | | | | | | It turns out that the clone-and-hack in tests/chutney/arti-bench was not identical to the original in tests/chutney/setup. I diffed the two and preferred the version from arti-bench.
* tests/chutney: Merge chutney-launching scriptsNick Mathewson2022-03-102-28/+53
| | | | | | | | | Formerly, the "launch a chutney network" code was duplicated in "setup" and "arti-bench", since "setup" always launched an arti proxy, while "arti-bench" didn't want that functionality. Now the "setup" script launches an arti proxy conditionally, depending on whether the "proxy" argument is given.
* chutney/setup: Wait for port 9150 to open after launching artiNick Mathewson2022-02-281-1/+15
| | | | | This is not a replacement for a real startup protocol, but it may help repair our CI.
* tests/chutney/setup: Reduce sleepIan Jackson2022-02-181-1/+3
| | | | Now that arti listens immediately, a very short sleep ought to do.
* rename *.sh scripts to bare nameIan Jackson2022-02-184-1/+1
| | | | | | | | | As per #309 Update all references. There is one remaining hit for git-grep '\.sh\b' namely "build.sh" in maint/reproducible_build, which I think is the build script for osxcross - ie, an external project.
* arti-bench: run the benchmarks in CI, and keep the resultseta2022-02-031-0/+16
| | | | | This adds `arti-bench` to the `integration` job in the CI pipelines, and keeps around the JSON benchmark output for later comparison.
* Fix/suppress shellcheck errors in teardown.shNick Mathewson2022-01-271-0/+14
| | | | Rationale: It's good to have all of our scripts pass shellcheck.
* arti-bench.sh: Handle the case where CHUTNEY_PATH is set.Nick Mathewson2021-12-211-8/+32
| | | | | Previously, this case would cause arti-bench to hang forever, trying to bootstrap against one network while another network was running.
* arti-bench.sh: set $RUST_LOG if it isn't set.Nick Mathewson2021-12-211-0/+5
| | | | (An empty $RUST_LOG no output, and confuse the nickm^Wuser.)
* tests/chutney/setup.sh: Fix a shellcheck warning.Nick Mathewson2021-12-212-2/+4
| | | | | shellcheck doesn't like `export FOO="$(bar)"` as one line, since it has the possibility of missing errors.
* Introduce an experimental benchmarking utility for Artieta2021-12-161-0/+14
| | | | | | | | | | | | | | | | | | | The new `arti-bench` crate does a simple end-to-end benchmark test embedding Arti: it generates some random data (of configurable amount, depending on command-line parameters), and then sends said data back and forth via Arti (which should be configured to use a local Chutney network). Additionally, the benchmark can also be run via a local SOCKS5 server (in order to benchmark the performance via a local Chutney node, for comparison). The `tests/chutney/arti-bench.sh` sets up and tears down Chutney as required to make this work. This is very much a first cut; there are many things that should eventually get added, such as support for multiple connections, JSON output capabilities, running multiple tests, ...
* chutney: Make $target relative to ${CHUTNEY_PATH}Nick Mathewson2021-12-052-6/+11
| | | | This is per a suggestion from @trinity-1686a.
* When tearing down test net, always tear down test net :)Nick Mathewson2021-12-021-1/+3
| | | | | Previously, if the arti process had died or been killed, we wouldn't reach the point where we called "chutney stop".
* Detect and use CHUTNEY_PATH in test scripts.Nick Mathewson2021-12-022-9/+29
| | | | | | | | If the user has CHUTNEY_PATH set, respect that value, rather than cloning a local chutney. Also, if we have a local chutney, then update it in case there have been changes.
* move integration tests to scriptsTrinity Pointard2021-10-283-0/+46