-
Notifications
You must be signed in to change notification settings - Fork 235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support tor test suite #3168
Comments
The The sandbox failures are expected since shadow doesn't support seccomp. The The remaining failures are a bit concerning, but could still be artifacts of shadow's environment.
|
Here's the
I think this is detecting shadow's I think we can safely ignore this test. |
This failure comes from
The test is expecting the bandwidth file to be rejected for being too old, but since the test uses Y2018 for an "old" date and shadow simulates time starting at Y2000, the file isn't rejected. So we can safely ignore this one too, though it might be nice to tweak the test so that it passes (or maybe add a feature in Shadow to be able to start simulated time a bit closer to "now"). |
This one's interesting. Here's the code:
I added a printf:
Which prints:
So, the test is validating that the behavior matches the past observed behavior ( Under shadow it does get set to This test doesn't do any network syscalls; There is some time handling earlier in the test setup; I haven't fully traced it but I suspect this is again something to do with unusual wall-clock time of y2000 and hard-coded test dates. i.e. some validation somewhere is getting a different result and making different accept/reject decisions over the test data. It might be useful to track down, since the comments indicate the test isn't really working as the test-writer expected either, but probably not a shadow bug. |
I reran the tests starting from a more recent simulation time, and verified that a lot of the failures were indeed because of the unusual simulated time of Y2000. I ran the tests from a wrapper script that sleeps for ~23 years before starting the tests [EDIT: in hindsight I could've skipped the wrapper script and just set the test process
Output:
I set shadow's
The failing tests from this run:
Summarizing these:
|
If we wanted to add this to the CI, we could pass
OTOH I'm not sure such a CI test is worth fleshing out and maintaining at the moment with both |
Successfully running the tor test suite under shadow would be helpful for verifying that platform functionality that tor uses works as expected under shadow.
Using the not-yet-merged execve implementation I was able to run it. Most tests pass, but there are a few failures. Some of these are worth investigating further.
config:
Full test suite stdout:
shadow-tor-make-test.stdout.txt
Just the failures:
additionally, the test
compat/libevent/postloop_events
deadlocks unlessmodel_unblocked_syscall_latency
is enabled, which could be a busy-loop bug in tor (but may only be an issue in the test).Here are shadow's warnings:
The text was updated successfully, but these errors were encountered: