Ian Jackson
25e51f212a
tor-dirmgr: bridge descriptor tests: Use MockRuntime (fmt)
...
Run rustfmt.
2023-07-06 15:14:40 +01:00
Ian Jackson
5eb066acf9
tor-dirmgr: bridge descriptor tests: Use MockRuntime
...
This abolishes a bodge sleep. It should make the tests deterministic.
2023-07-06 15:14:40 +01:00
Ian Jackson
473fd23f8b
tor-dirmgr: bridge descriptor tests: Fix a v. low prob. race
...
Drain a number of events, not just one. The stream might yield many
events, as explained in this new comment.
This fails every time with MockExecutor::try_test_with_various().
I think it might fail with the tokio exeuctor too, but evidently not
with high probability or we would have noticed.
2023-07-06 15:14:40 +01:00
Ian Jackson
bc63fdb34c
tor-hsclient: Abolish ad-hoc real-world-time sleeps
...
Now we can reliably wait precisely for the tasks to be all waiting.
This test case no longer involves any real executor.
2023-07-06 15:14:40 +01:00
Ian Jackson
dc28b320f4
tor-rtmock: MockRuntime: provide test_with_various
...
In both fallible and infallible variants, for convenience.
2023-07-06 15:14:40 +01:00
Ian Jackson
e23b1e00b5
tor-rtmock: MockExecutor: Configurable scheduling policy
2023-07-06 15:14:40 +01:00
Ian Jackson
be632ba0f9
tor-rtmock: Provide MockRuntime
2023-07-06 15:14:40 +01:00
Ian Jackson
67941488ab
tor-rtmock: Unit tests for MockExecutor
2023-07-06 15:14:40 +01:00
Ian Jackson
d82ed8d793
tor-rtmock: Provide MockExecutor
2023-07-06 15:14:40 +01:00
Ian Jackson
70fdd92030
tor-rtmock: impl Default for MockNetProvider
2023-07-06 15:14:40 +01:00
Ian Jackson
24da490ef5
tor-rtmock: impl Default for MockNetProvider (prep)
...
We want MockNetProvider to be Default.
In this commit: impl Default for MockNetwork and use it in new().
2023-07-06 15:14:40 +01:00
Ian Jackson
29cc83b35e
tor-rtmock: impl Default for MockSleepProvider
...
Pick an arbitrary start time roughly now. This will do for many
tests.
2023-07-06 15:14:40 +01:00
Ian Jackson
395a616c9f
tor-rtmock: net: "Provide" a UDP "implementation" which doesn't work
...
Nothing in our tree actually *uses* the UDP in tests.
We want a mock UDP provider that isn't part of a real runtime, so that
we can make a totally-mock runtime for properly controlled testing.
It seems best to make this part of MockNetProvider rather than a
separate type.
2023-07-06 15:14:40 +01:00
Ian Jackson
070a934451
tor-rtmock: Introduce impl_runtime_prelude (fmt)
2023-07-06 15:14:40 +01:00
Ian Jackson
492699d522
tor-rtmock: Introduce impl_runtime_prelude
...
This deduplicates some imports, which would otherwise be about to
become triplicated.
2023-07-06 15:14:40 +01:00
Ian Jackson
97e817b330
tor-rtmock: Introduce impl_runtime! macro
...
This deduplicates some trait delegation.
We want this now because we're about to introduce a third mock
runtime, so this would become triplication otherwise.
2023-07-06 15:14:40 +01:00
Nick Mathewson
5a46dfef8f
arti: comments about catch_unwind
2023-07-06 09:44:51 -04:00
Nick Mathewson
6b6b3d9e53
time_granularity: Make sure formatter can't panic
...
I was unable to assure myself that tracing_subscriber could
withstand a panicking Timer, so instead I'm trying to make sure
our own LogTimer can't panic.
2023-07-06 09:44:50 -04:00
Nick Mathewson
512064cc19
arti: Add a `logging.time_granularity` option with 1s default.
...
This lets us provide less information in our logs: in particular, it
lets us avoid logging with microsecond precision.
Closes #551 .
2023-07-06 09:44:09 -04:00
Nick Mathewson
5f896aa504
Merge branch 'tracing-panic' into 'main'
...
arti: Install a panic hook that sends messages to `tracing`
Closes #921
See merge request tpo/core/arti!1377
2023-07-06 13:09:54 +00:00
Nick Mathewson
d2b6fee3f9
arti: Note possibility for future use of other tracing panic provider
2023-07-06 08:50:53 -04:00
Nick Mathewson
01f1192b20
arti: On panic, avoid allocation even more.
...
The original version of our panic handler would allocate a string
for the panic `Location`. But if we're panicking we'd like to keep
allocations to a minimum: so instead format the `Location`
conditionally.
This also drops a useless `std::borrow::Cow`. (The possibility of a
"Don't have a `Cow`" commit message was considered and rejected.)
2023-07-06 08:45:34 -04:00
gabi-250
e3189857c4
Merge branch 'keymgr-enc-key-todo' into 'main'
...
keymgr: Explain why the TODO regarding EncodableKey can't be addressed.
See merge request tpo/core/arti!1372
2023-07-05 22:32:20 +00:00
Gabriela Moldovan
258dd195e0
keymgr: Explain why the TODO regarding EncodableKey can't be addressed.
2023-07-05 22:21:47 +01:00
Nick Mathewson
afa51fd5ca
Add TODO comments about possibly migrating away from the backtrace crate.
2023-07-05 16:39:11 -04:00
Nick Mathewson
9c4de185e9
arti: Install a panic hook that sends messages to `tracing`
...
(Also leaves installed the default handler that sends messages to
stderr.)
Closes #921 .
2023-07-05 16:37:10 -04:00
Nick Mathewson
877c480bfe
Merge branch 'shadow-onion' into 'main'
...
CI: extend shadow test to test an onion service connection
See merge request tpo/core/arti!1292
2023-07-05 19:50:53 +00:00
Ian Jackson
0003a632de
Merge branch 'unpublishing' into 'main'
...
Mark several crates with `publish=false`.
Closes #944
See merge request tpo/core/arti!1371
2023-07-05 16:49:41 +00:00
Saksham Mittal
c94b1b6574
Remove now unnecessary lines for import
2023-07-05 19:03:53 +05:30
Saksham Mittal
68948e9677
Import CompoundFactory regardless of feature level
2023-07-05 18:59:54 +05:30
Saksham Mittal
58df83dcde
Create new method to expose CompoundFactory
2023-07-05 18:53:22 +05:30
Saksham Mittal
7600200f15
Expose CompoundFactory for later exposure in API
2023-07-05 18:39:44 +05:30
gabi-250
d0c9140bb2
Merge branch 'faster-ci' into 'main'
...
try making CI faster
See merge request tpo/core/arti!1373
2023-07-04 23:56:10 +00:00
trinity-1686a
7c797d822e
fix audit
2023-07-04 20:57:25 +02:00
trinity-1686a
25f4eb1dc5
try making CI faster
2023-07-04 20:53:38 +02:00
Alexander Færøy
b77a7280f5
Merge branch 'bridge-pt-docs' into 'main'
...
Additional documentation around bridges/PT configuration
Closes #706
See merge request tpo/core/arti!1370
2023-07-03 21:56:48 +00:00
Jim Newsome
0b33969030
CI: enable onion-service-client in rust-latest build
...
The shadow test needs this to use this build when testing onion
services.
2023-07-03 14:44:33 -05:00
Jim Newsome
3eda3a7936
articlient-onion: don't filter onion addresses
2023-07-03 14:15:23 -05:00
Jim Newsome
3b01f3ba61
Dedupe arti configs and match TestingTorNetworks HS config
2023-07-03 14:15:23 -05:00
Nick Mathewson
517bf1cf03
Mark arti-bench with "publish = false"
...
This crate is only useful for development; earlier we published it,
but I believe that was in error.
2023-07-03 13:52:20 -04:00
Nick Mathewson
2c5b81e872
Mark vestigial crates as "publish=false"
...
These crates were started, but they aren't integrated into
Arti (yet?). As such it doesn't make sense to keep publishing
updated versions of them every time we tweak our standard
lints.
2023-07-03 13:49:51 -04:00
Jim Newsome
2b895f4de3
shadow test: disable trace-level logging
...
Some hosts were configured to log at trace level instead of the global
default (debug level). This was resulting in quite large shadow log
output.
2023-07-03 12:49:14 -05:00
Jim Newsome
5755add5e0
shadow test: disable worker spinning
...
This optimization doesn't seem to help much for this test; disable it to
avoid burning CI runner CPU.
2023-07-03 12:49:14 -05:00
Jim Newsome
3dc90f03ec
shadow test: enable arti's `log_sensitive_information` option
2023-07-03 12:49:14 -05:00
Jim Newsome
e773d2c44a
shadow test: fix hidden service dir permissions
2023-07-03 12:49:14 -05:00
Jim Newsome
1baa1193ce
shadow test: add 2 more relays
...
Without this, the onion client was failing to find a guard.
We recently made this change in shadow's "tor minimal" test as well.
2023-07-03 12:49:14 -05:00
Jim Newsome
c846898406
shadow test: fail the test if streams didn't succeed
2023-07-03 12:49:14 -05:00
Jim Newsome
9c3bb8dcbb
shadow test: add and validate arti onion client
2023-07-03 12:49:14 -05:00
Jim Newsome
e850654afb
shadow test: add onion server
2023-07-03 12:49:14 -05:00
Nick Mathewson
19b1d3bba5
Additional documentation around bridges/PT configuration
...
This tries to flesh out some of the details for users who may be new
to bridges and PTs.
Closes #706 .
2023-07-03 13:00:25 -04:00