| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
shadow's default behavior of spin-looping is bad behavior in a shared
environment.
This is already disabled in integration-shadow.
|
| |
|
|
|
|
| |
In CI, shadow's default behavior of pinning to CPU cores can result in
multiple instances of shadow fighting over the same CPU cores instead of
using idle ones.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These were originally blindly copied over from shadow's own integration
test.
The relatively low BandwidthRate and BandwidthBurst rates in particular
could cause overload in heavily-used relays given the amount of traffic
we're trying to push through the network simultaneously from different
clients.
I'm not aware of a specific problem the other parameters might cause,
but it seems better not to have them without some concrete reason.
Motivated while debugging arti#2399; we hypothesize that the bandwidth
limits + bad luck of many circuits trying to use one relay at once could
be a contributing factor.
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
chutney test: include arti-extra bin
See merge request tpo/core/arti!3772
|
| | |
| |
| |
| |
| | |
Test the arti-extra bin, which includes most of `full` and
`experimental` features, too.
|
| | | |
|
| | |
| |
| |
| |
| | |
The default has been increased to 300, so there's no need to override it
here.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will give us a bit more flexibility, e.g. to pass additional
arguments.
Now that the python linters understand it, we fix some linting issues.
We preserve the ability to run the test on other networks by making the
Config.network optional. The new default of `None` means to use the
built-in module to create the network.
The functionality of the test itself is the same.
|
| |\ \
| |/
|/|
| |
| | |
shadow ci: keep going after first failure
See merge request tpo/core/arti!3766
|
| | |
| |
| |
| | |
It can be useful to see the outcome of the other tests/analysis.
|
| | |
| |
| |
| |
| | |
This helps avoid subtle mismatches of the sort fixed in the previous
commit.
|
| |/
|
|
|
| |
We were accidentally using the arti-bin command-line arg to also
override arti-bench-bin.
|
| | |
|
| |
|
|
| |
Everything now uses the json version, instead.
|
| | |
|
| | |
|
| |
|
|
|
| |
No particular need to separate them, and the merged version is easier to
follow.
|
| |
|
|
|
|
| |
This organizes the code a bit better and gives nicer output. It also
separates individual test cases and subcases, continuing to try to
complete other tests when one fails instead of exiting.
|
| | |
|
| |
|
|
|
|
|
| |
chutney replaced Node.socksport (a single optional port) with
Node.socksport_endpoints (a sequence of bound addresses and ports).
Update for compatibility, and test all of the exposed endpoints where
relevant.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Gets rid of shelling out to jq. We could also accomplish that with the
json module, but this way also gives us:
* Better error detection and handling. In particular this lets mypy
statically detect trying to access fields of the wrong name or type.
It will also make it easier to bump to the latest chutney, which has
replaced `socksport` with `socksport_endpoints`, which would be more
difficult to work with as json, especially via `jq`.
|
| | |
|
| | |
|
| |
|
|
|
| |
This is primarily a proof-of-concept for converting these scripts before
tackling the more complext 'test' script.
|
| | |
|
| |
|
|
|
| |
In particular, use `str` instead of `Path`, so that it's directly
encodable and decodable by the json module.
|
| | |
|
| |
|
|
|
|
| |
Previously this was naively wrapping strings in double-quotes. This
works ok for escaping internal whitespace, but doesn't escape other
special characters.
|
| |
|
|
| |
Bump chutney, and migrate to CLI changes introduced in chutney!101
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
tgen aborts a stream and starts the next one when the "stallout" timeout
is reached. In some cases the arti (or tor) client just needs a bit more
time to establish a connection to the hidden service.
A potential downside is that if a single stream "stalls" forever without
an explicit error, tgen will never give up on it, and thus never try any
more streams. We can worry about that if and when we see it though; and
it would indicate a likely bug since the known clients and servers in
this test shouldn't stall indefinitely in this way.
|
| |
|
|
|
|
|
| |
None of the failures currently recorded in
https://gitlab.torproject.org/tpo/core/arti/-/issues/2209 involve the
c-tor client. I think we can safely require all xfers to succeed for the
c-tor client.
|
| |
|
|
|
|
|
|
| |
From 9/10 to 5/10.
This is to mitigate flakiness.
See
https://gitlab.torproject.org/tpo/core/arti/-/issues/2209#note_3295789
|
| |
|
|
| |
Having this all on one line makes it easier to read.
|
| |
|
|
| |
Now that we no longer echo these, this is useful.
|
| |
|
|
| |
Now that we no longer echo this, it's potentially useful to have it.
|
| |
|
|
|
|
| |
I find that the echoing here does not really contribute to my
understanding of what's going on, and it makes the output quite
difficult to parse.
|
| |
|
|
|
|
| |
articlient-onion-auth was included twice on this list. From looking at
9ad23705e4, where the second instance was introduced, it seems that this
was meant to be articlient-onion-artiserver-auth.
|
| |
|
|
|
|
|
|
| |
It looks like the reliability has increased at some point. Let's ratchet
up the required-success threshold to avoid silent regression.
See
<https://gitlab.torproject.org/tpo/core/arti/-/issues/2109#note_3278828>
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Workaround for arti#2240, though doesn't hurt to be more explicit in
general.
This bug wasn't triggered in versions of shadow before
<https://github.com/shadow/shadow/issues/3659> was fixed - shadow's
implementation of `statx` and other syscalls incorrectly behaved as if the
`AT_EMPTY_PATH` were set.
|
| |
|
|
| |
Also search several candidate paths.
|
| |
|
|
|
|
| |
This is partly just to get more code out of "main", but also paves the
way a bit for reusing this config code in the `integration-e2e-shadow`
wrapper script, to support the same command-line arguments there.
|
| |
|
|
|
|
| |
Since we're validating the presence of jq, we might as well handle it
consistently with the other dependencies and provide a way to specify
where it is.
|
| |
|
|
|
|
| |
Encapsulate the logic of finding and validating each option into their
own objects (e.g. so that specification of corresponding command-line
option goes together with other related logic).
|