summaryrefslogtreecommitdiff
path: root/crates/arti-testing/src
Commit message (Collapse)AuthorAgeFilesLines
* arti-testing: remove some needless ::default()sNick Mathewson2023-05-111-4/+4
| | | | | | This fixes a warning from nightly clippy. I don't care for this warning, but fixing it is easier than adding a version-conditional warning exception.
* Convert blockers in arti-testing to TODOsIan Jackson2023-03-211-2/+2
| | | | I don't think these are that bad in testing code.
* Disable clippy::unlinlined-format-argsNick Mathewson2023-01-271-0/+1
| | | | | | | | This warning kind of snuck up on us! (See #748) For now, let's disable it. (I've cleaned it up in a couple of examples, since those are meant to be more idiomatic and user-facing.) Closes #748.
* Upgrade to clap 3: replace deprecated functionsGabriel de Perthuis2022-11-041-61/+74
| | | | | | | | | | | Also replace Arg::takes_value with Arg::action to configure flags that don't take parameters vs options that do. This makes it easy to upgrade to clap 4. Tested deprecations with: cargo check --workspace --all-features --features clap/deprecated
* Upgrade to clap 3 with minimal changesGabriel de Perthuis2022-11-041-7/+5
| | | | | | | | This removes the last cargo audit override (for the unmaintained ansi_term). Don't mark options as required when they have default values: see <https://github.com/clap-rs/clap/pull/3793>.
* Run add_warnings.Nick Mathewson2022-11-031-0/+1
|
* tor-config: Replace dir detection with ConfigurationSource enumIan Jackson2022-08-251-2/+7
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/682#note_2830860 And subsequent IRC discussion. Having done the work as per review comments, I don't much like the result. It's quite un-ergonomiuc. If we can't have fs autodetection, I think syntactic autodetection within sources.rs would be nearly as nice. However, I seem to be outvoted. At least the externally visible functionality (of an arti binary, say) is reasonably ergonomic.
* Run maint/add_warning crates/*/src/{lib,main}.rsIan Jackson2022-06-231-0/+3
| | | | Update all lint blocks
* lints: Make lint blocks consistentIan Jackson2022-05-311-1/+2
| | | | The remaining consequences of running add_warning
* lints: arti-testing: Move some allows outside the auto blockIan Jackson2022-05-311-2/+3
|
* lints: Add let_unit_value allow to all cratesIan Jackson2022-05-311-0/+1
| | | | | From running add_warning, with manual picking of the right hunks/lines.
* lints: Add lint block delimiters to every crateIan Jackson2022-05-311-0/+2
| | | | | | This was the result of: maint/add_warning crates/*/src/{lib,main}.rs and then manually curating the results.
* Split TorClientConfig out of ArtiConfig, and Resolvable traitIan Jackson2022-05-241-3/+3
| | | | | | | | | | | | This gets rid of `#[serde(flatten)]` which prevents serde_ignored (and other kinds of introspection) from working properly. The price is now that the toplevel has to deal with two configuration objects. The Resolvable trait is overkill right now, but is going to do More Things in a moment. In particular, we need the impl on tuples, so that the whole config can be processed in one go.
* arti-config abolition: Change references to use tor_configIan Jackson2022-05-132-2/+5
| | | | | | | | Generally, change the paths that mention the crate name to go via a module-level "use". This involves adding tor-config as a direct dependency for a few crates.
* ConfigurationSource: Rename new to new_emptyIan Jackson2022-05-111-1/+1
| | | | | This emphasises its nature. We're going to provide a more cooked constructor in a moment.
* Fix grammar and typosSamanta Navarro2022-04-271-1/+1
|
* squash! Bump every crate's edition to 2021.Nick Mathewson2022-04-251-1/+0
| | | | | Remove all `use` statements for `TryFrom` and `TryInto`. These are now redundant in Rust 2021.
* Directory filtering in arti-testing.Nick Mathewson2022-03-313-0/+213
| | | | | | | | | This feature allows us to detect different failing cases for arti#329 that would otherwise be hard to induce. It works by filtering consensus directory objects and/or microdescriptor objects before introducing them to the directory manager. Closes #397.
* Move ArtiConfig to new arti::cfg moduleIan Jackson2022-03-211-1/+1
| | | | Code motion and import fixups.
* add udp to runtimetrinity-1686a2022-03-141-0/+1
|
* arti-testing: Make Action implement CopyNick Mathewson2022-03-101-2/+2
|
* arti-testing: reverse two more attrs in attempt to fix min-versionsNick Mathewson2022-03-071-1/+1
|
* arti-testing: reverse two attrs in attempt to fix min-versionsNick Mathewson2022-03-071-1/+1
|
* arti-testing: todo comment cleanupNick Mathewson2022-03-071-8/+1
|
* arti-testing: support for conditional TCP failure.Nick Mathewson2022-03-073-9/+89
|
* arti-testing: add support for black-holing TCP connections.Nick Mathewson2022-03-073-7/+112
|
* arti-testing: CLI for making TCP connections break.Nick Mathewson2022-03-073-9/+146
|
* arti-testing: Initial support for broken TCP.Nick Mathewson2022-03-073-7/+97
| | | | | | This commit adds support for a BrokenTcp provider that can make connection attempts fail or time out. It doesn't yet have a way to turn on the failure.
* fix reproducible build summary giving invalid branch and commit idtrinity-1686a2022-03-041-1/+1
| | | | | fix #378 also fix unrelated error in nightly rustdoc CI
* Allow println in arti-testing.Nick Mathewson2022-03-031-0/+2
|
* arti-testing: Initial implementationNick Mathewson2022-03-035-0/+657
This commit adds a new program to try to implement the ideas behind experimentation in arti#329. In particular, it tries to implement basic client "can I bootstrap and connect" functionality testing, with a lot of instrumentation, and support for breaking things. So far, the instrumentation is limited to counting TCP bytes and connections, and counting events. Still, this is enough to measure behavior on some of the incorrect-clock tests. NOTE: For now, you are _required_ to pass in an explicit configuration, in hopes that this will lead you to override your storage directories for doing specific experiments.