summaryrefslogtreecommitdiff
path: root/crates/arti-testing/src
Commit message (Collapse)AuthorAgeFilesLines
* clippy: deny `mod_module_files`Steven Engler2025-01-061-0/+1
| | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* tor-rtcompat: Implement StreamOps for all the stream types.Gabriela Moldovan2024-12-102-2/+17
| | | | Part of #1769
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-031-0/+1
| | | | | | | | In 1.83, this warning triggers on many of our crates. We're thinking of fixing them all, but for now, we're going to disable the warning. This is part of #1765.
* TimerangeBound: Stop using std::ops::Bound.Wesley Aptekar-Cassels2024-11-251-6/+12
| | | | Fixes: #1691
* rtcompat: remove async_trait from NetStreamListener.Nick Mathewson2024-09-242-2/+0
| | | | (The trait no longer has any async methods.)
* Make Runtime require NetStreamProvider<unix::SocketAddr>Nick Mathewson2024-09-241-2/+2
|
* Documentation updates for "NetStreamProvider" renameNick Mathewson2024-09-242-4/+4
| | | | | | Stop referring to TCP streams in its documentation; update other documentation to refer to NetStreamProvider rather than TcpProvider.
* rtcompat: Rename TcpProvider to NetStreamProvider.Nick Mathewson2024-09-242-17/+17
| | | | | | | | | | | | | | (And similarly rename TcpListener to NetStreamListener, along with their TcpStream/TcpListener associated types.) These types are about to become generic over addresses, and therefore shouldn't be named after TCP. Renaming was done mostly with Rust Analyzer, except for some macros that needed to be hand-edited. (I'll revise the comments in the next commit; this one is all about renaming.)
* rtcompat: Remove accept() from TcpListenerNick Mathewson2024-09-242-19/+0
| | | | | | | | | | It's redundant with the incoming() method (which turns the TcpListener into a Stream of connections), and nothing actually used it outside of tests. Removing this method allows us to simplify our TcpListener code a good deal, as can be seen by some of the implementations we removed from our example and testing code.
* rtcompat: Add an extension trait for building modified RuntimesNick Mathewson2024-09-241-9/+2
| | | | | | | With this extension trait, we no longer need to construct `CompoundRuntime` directly outside of tor-rtcompat. This in turn will make it a little less painful when we have to add more generics to CompoundRuntime.
* Re-run maint/add_warning.Nick Mathewson2024-05-061-2/+2
| | | | This commit is automatically generated.
* tor-rtcompat: CompoundRuntime: Add a CoarseTimeProvider, and implIan Jackson2024-03-251-0/+1
| | | | | | In all the uses in-crate, this is just a RealCoarseTimeProvider. Now all the compound runtimes impl CoarseTimeProvider.
* deny clippy::unchecked_duration_subtractiontrinity-1686a2024-02-291-0/+1
|
* Run add_warnings on all files.Nick Mathewson2023-08-041-2/+2
|
* Merge branch 'clippy-allow' into 'main'Ian Jackson2023-07-111-0/+1
|\ | | | | | | | | clippy: Allow some of our existing code patterns See merge request tpo/core/arti!1396
| * Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-101-0/+1
| |
* | rng ranges: Use gen_range_infallible() for Duration::ZERO..=TIan Jackson2023-07-101-2/+3
|/
* rng ranges: Use inclusive Duration ranges in several placesIan Jackson2023-07-071-1/+1
| | | | | | | | | | | | | | Many of these call sites would panic if, somehow, the upper bound was zero. In most cases it is very complicated to see if whether this could happen. However, there is a better answer: Durations are (conceptually) dense, so picking the closed set (which includes its boundary) rather than the open one (which doesn't) will make little practical difference. So change four call sites to use `..=` instead of just `..`.
* Run add_warning to remove `missing_panics_doc` deny.Nick Mathewson2023-07-061-1/+0
| | | | Closes #950.
* lints: Run maint/add_warning to actually apply new lintsIan Jackson2023-06-211-0/+2
|
* 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
|