summaryrefslogtreecommitdiff
path: root/crates/arti-testing/src/config.rs
Commit message (Collapse)AuthorAgeFilesLines
* 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>.
* 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.
* arti-config abolition: Change references to use tor_configIan Jackson2022-05-131-1/+3
| | | | | | | | 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.
* Directory filtering in arti-testing.Nick Mathewson2022-03-311-0/+14
| | | | | | | | | 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.
* arti-testing: support for conditional TCP failure.Nick Mathewson2022-03-071-0/+13
|
* arti-testing: add support for black-holing TCP connections.Nick Mathewson2022-03-071-1/+1
|
* arti-testing: CLI for making TCP connections break.Nick Mathewson2022-03-071-1/+41
|
* arti-testing: Initial implementationNick Mathewson2022-03-031-0/+144
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.