| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | |
|
| |/ / / /
| | | |
| | | |
| | | | |
Closes #2574
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
arti: Rewrite hand-written tests using `trycmd`
See merge request tpo/core/arti!4126
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Now that these test more than just the help output, we need to gate them
behind the `onion-service-service` feature: the tests involve some C Tor
keystores, and require at least one onion service to be configured,
because onion services (and clients) are the only thing these keystores
are used for.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We now have `trycmd` tests that cover most cases, so I am removing this
module. The reason this was introduced in the first place is in the
module level docs
```rust
//! The `assert_cmd` crate is used here instead of the preferred `trycmd` (see
//! [`README`](../README.md)) because the output of `keys list` is not deterministic across
//! different machines. The design choices of some components are workarounds for this limitation.
```
But this is no longer an issue now that the `keys list` output is
sorted.
Ideally, all tests would be written this way (we have a few more modules
in `cli_tests` that we should probably port to `trycmd` sometime).
Note: some of the tests I'm removing here don't have a `trycmd`
counterpart in `arti/tests/testcases/keys`. In my opinion, this is
perfectly fine, because the old tests were unnecessarily testing all the
possible configurations involving 1-2 keystores (one arti, and one C
Tor): it is not the responsibility of the CLI tests to cover all these
permutations (they should be tested in `tor-keymgr`).
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a `trycmd`-based replacement for the
`list_unregistered_keystore_fails()` test, which will be removed soon.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This un-ignores some of the output snippets from the `doc/keys.md` file,
so that our `trycmd` test runner will actually run them. This will force
us to keep the snippet in sync with the code.
This involved adding some extra config for the test C Tor keystore,
and tweaking the output to match what the commands actually print out.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will make the output deterministic and enable us to write some
`trycmd` tests in the form of markdown output snippets.
|
| |\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | |
| | | | | |
NetdocEncodableFields for AddrPolicy
See merge request tpo/core/arti!4113
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Replaces a push by using the chain!() macro from itertools.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
() implements encodable which we will derive soon.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit implements NetdocEncodableFields for AddrPolicy in a
non-trivial fashion. A unit test will be added in a moment.
|
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit makes some policy related constructor functions constant, so
we can use them in const expressions, which will be required for the
next commit.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Bump MSRV to 1.91
See merge request tpo/core/arti!4105
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit bumps the MSRV to 1.91 which was released on 2025-10-30.
The Cargo.toml files were updated as follows:
```sh
git ls-files | \
grep ".*Cargo\.toml$" | \
xargs sed -i '' 's/^rust-version = "1\.89"$/rust-version = "1\.91"/g'
```
The following files were updated manually:
```
modified: .gitlab-ci.yml
modified: README.md
modified: flake.nix
modified: maint/docker-android/Dockerfile
```
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
tor-netdoc: derives: allow handling deprecated fields
See merge request tpo/core/arti!4118
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
We must generally set such a field to the default.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This makes it possible to derive from a struct with deprecated fields,
without triggering the warning.
This doesn't yet treat encoding as yet, because the only deprecated
field I encountered was `skip` which means the derived encoder never
mentions it.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Fix string_slice exceptions outside of netdoc
See merge request tpo/core/arti!4092
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This eliminates some string slicing.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
(Several of our remaining string slicing instances are for
redaction, and it makes sense to have a single tested implementation
for this.)
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| |\ \ \ \ \ \ \
| |_|_|_|/ / /
|/| | | | | |
| | | | | | |
| | | | | | | |
NetDir::pick_n_relays: test and fix
See merge request tpo/core/arti!4110
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
"iter" wasn't an iterator per se. Changed it to "sampled_items", and
renamed other variables to call the items more generically "items" than
"relay", since the mixed usage was a little confusing, and the function
doesn't really know anything about relays.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We have more useful context in the caller, `pick_n_relays`.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This tests our implementation of sampling to ensure the behavior is
as-expected. It also updates the implementation so that the tests pass
(It was broken when updating to rand 0.10; see
https://gitlab.torproject.org/tpo/core/arti/-/work_items/1907#note_3426398).
This removes the direct testing of
`rand::IndexedRandom::sample_weighted`, since this is now an
impplementation detail of `pick_n_filtered_weighted`, which is itself
tested.
Verified that this fixes the case of sometimes not being able to select
a Guard in integration tests.
<https://gitlab.torproject.org/tpo/core/chutney/-/work_items/40057#note_3426299>
<https://gitlab.torproject.org/tpo/core/arti/-/work_items/1907#note_3408157>
<https://gitlab.torproject.org/tpo/core/arti/-/work_items/2209>
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This should be a no-op refactor to callers. It's a step towards
decoupling the weighting and filtering from the sampling.
|
| | | | | | | | |
|
| |/ / / / / / |
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
arti: Various `arti keys list` doc fixes
See merge request tpo/core/arti!4125
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
It's better to use "TODO" like we do in the rest of Arti, because
otherwise this has a chance of being forgotten (because nobody really
greps for "IDEA").
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This actually applies to unrecognized entries too, and besides, most
users aren't going to think in terms of "valid" vs "invalid" entries, so
it's best to omit this qualifier.
|
| | | | | | | | |
|