summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Get tor-units grcov line coverage to 100%Nick Mathewson2021-12-021-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly a finger exercise, and an experiment in "what does grcov consider to be coverage". Here's what I've found out... * In grcov's eyes, most #[derive(Foo)] lines count as containing code; but calling any one derived function counts as calling those lines. * Unlike with tarpaulin, it is actually possible to reach 100% grcov line coverage. (Tarpaulin likes to pick "}" lines and tell you that you never reached them; or sometimes it picks expression statements that have the effect of a return, and tells you that they're unreached. Even with these tests, tarpaulin claims that the line coverage of tor-units is only 97.3%.) * In rust, it may be a bit hopeless trying to get high function coverage. Even though we've hit every line of the tor-units crate, the function coverage from its own tests is only 9.38% (55.41% from other crates). I think this is probably due to derived functions, or maybe due to generics getting instantiated? I've got no idea; the denominator for the function coverage lines fluctuates oddly.
* | | Implement Eq,PartialEq for BoundedInt32.Nick Mathewson2021-12-022-1/+4
| | |
* | | Merge remote-tracking branch 'origin/mr/165'Nick Mathewson2021-12-023-17/+1
|\ \ \
| * | | Remove dir_port from RouterStatusBuilderNeel Chauhan2021-12-013-17/+1
| | | |
* | | | Merge branch 'postprocess_coverage' into 'main'eta2021-12-022-21/+132
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | Postprocess coverage index.html with python instead Closes #249 See merge request tpo/core/arti!163
| * | | Postprocess coverage index.html with python insteadNick Mathewson2021-12-012-21/+132
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change jettisons the awk and ed dependencies and instead uses a real HTML parser, via the BeautifulSoup library in python. Using BeautifulSoup lets us do trickier stuff, like actually extracting the coverage totals and adding our own table, with per-crate coverage. The script only does this post-processing when it finds python3; the script exits with an error if BeautifulSoup isn't installed.
* | | Merge branch 'tor-dirmgr' into 'main'eta2021-12-011-3/+9
|\ \ \ | | | | | | | | | | | | | | | | Don't warn in bootstrap_from_config when error is Error::ManagerDropped See merge request tpo/core/arti!157
| * | | dont warn on bootstrap error when error == manager droppeddagon2021-11-301-3/+9
| | | |
* | | | Merge branch 'weightkind-bitflags' into 'main'eta2021-12-013-34/+51
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | tor-netdir: Use bitflags for WeightKind See merge request tpo/core/arti!161
| * | | tor-netdir: Use bitflags for WeightKindNeel Chauhan2021-11-303-34/+51
|/ / /
* | | Add a semicolon.Nick Mathewson2021-11-301-1/+1
| | |
* | | Add constructor for TorAddr, to enforce port != 0Nick Mathewson2021-11-302-24/+33
| | | | | | | | | | | | This makes sure that we're checking for a nonzero port in all cases.
* | | Merge remote-tracking branch 'origin/mr/156'Nick Mathewson2021-11-301-2/+5
|\ \ \
| * | | arti-client: Reject Port 0 when parsing address:port combosNeel Chauhan2021-11-291-2/+5
| | | |
* | | | Merge remote-tracking branch 'origin/mr/154'Nick Mathewson2021-11-305-32/+481
|\ \ \ \
| * | | | Add tests & address review commentaryeta2021-11-304-34/+269
| | | | |
| * | | | Actually build preemptive circuits (and minor fixes)eta2021-11-294-1/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new CircMgr::build_circuits_preemptively function actually causes preemptive circuits to be built; it gets called from arti-client, like the other daemon tasks the CircMgr has.
| * | | | Introduce PreemptiveCircuitPredictor and TargetCircUsage::Preemptiveeta2021-11-234-26/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation for making Arti build circuits preemptively, this commit introduces `TargetCircUsage::Preemptive`, a circuit usage that works somewhat differently from other ones: it requires at least 2 circuits to exist that can exit the port it contains in order for an existing circuit to match against it (path-spec.txt § 2.1.1); if that's not the case, that usage will require building new circuits (in order that we build enough to have 2 available). This required refactoring how circuit reuse worked; now, `CircList::find_open` uses the new `AbstractSpec::find_supported` trait method, which we customize to implement the above check in the case of `Preemptive` circuit usages. To make that work, `OpenEntry` now takes two type parameters (the spec and circuit types), instead of taking a builder type parameter and using its associated types. (We also got rid of type constraints on that struct, yay!) A WIP implementation of a preemptive circuit predictor that implements path-spec.txt § 2.1.1 is also included, but this will require additional effort to wire it up with the `CircMgr` properly.
* | | | | Add comments about the absence of tap_key in microdesc.Nick Mathewson2021-11-302-1/+7
| | | | |
* | | | | Merge remote-tracking branch 'origin/mr/151'Nick Mathewson2021-11-303-57/+4
|\ \ \ \ \
| * | | | | Parse RSA public keyNeel Chauhan2021-11-292-5/+9
| | | | | |
| * | | | | Remove unused tap_onion_key and tap_keyNeel Chauhan2021-11-284-64/+7
| | | | | |
* | | | | | Note non-breaking API change in tor-proto.Nick Mathewson2021-11-301-0/+2
| | | | | |
* | | | | | Merge remote-tracking branch 'origin/mr/160'Nick Mathewson2021-11-301-17/+53
|\ \ \ \ \ \
| * | | | | | add constructorsdagon2021-11-301-17/+53
| | |_|_|/ / | |/| | | |
* | | | | | Merge remote-tracking branch 'origin/mr/159'Nick Mathewson2021-11-301-13/+51
|\ \ \ \ \ \
| * | | | | | remember utf8 checkdagon2021-11-301-13/+51
| |/ / / / /
* | | | | | Clear semver_status log now that 0.0.2 is out.Nick Mathewson2021-11-301-13/+1
| | | | | |
* | | | | | Merge branch 'license' into 'main'arti-v0.0.2eta2021-11-302-0/+221
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add MIT and Apache licenses Closes #243 See merge request tpo/core/arti!152
| * | | | | | add licensesdagon2021-11-302-0/+221
| | |/ / / / | |/| | | |
* | | | | | Add dagon to the acknowledgments section for 0.0.2--no-verifyNick Mathewson2021-11-301-3/+3
| | | | | |
* | | | | | One more "cargo update" before the release.Nick Mathewson2021-11-301-15/+6
| | | | | |
* | | | | | Merge branch 'readme_fixes'Nick Mathewson2021-11-3011-43/+76
|\ \ \ \ \ \
| * | | | | | Example needs to be the same as the readmedagon2021-11-304-74/+60
| | | | | | |
| * | | | | | MR review feedbackdagon2021-11-303-22/+23
| | | | | | |
| * | | | | | fix arti-client doc exampledagon2021-11-301-25/+39
| | | | | | |
| * | | | | | fix example for retry-errordagon2021-11-301-2/+15
| | | | | | |
| * | | | | | run ./maint/readmes.shdagon2021-11-298-17/+36
| |/ / / / /
* | | | | | Fixes for CHANGELOG.mdNick Mathewson2021-11-301-5/+6
| | | | | |
* | | | | | Fix a documentation link.Nick Mathewson2021-11-301-2/+3
| | | | | |
* | | | | | Merge branch 'simplify_config_helpers'Nick Mathewson2021-11-300-0/+0
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Run "cargo update" to get latest versions.Nick Mathewson2021-11-294-92/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix a couple of warnings introduced by now-unneeded imports with new ed25519 crate. This is part of the process for releasing our next version.
* | | | | | Fix a bad rustdoc reference.Nick Mathewson2021-11-291-1/+1
| | | | | |
* | | | | | Merge branch 'simplify_config_helpers' into 'main'eta2021-11-296-41/+34
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change sane_defaults() and with_directories() See merge request tpo/core/arti!155
| * | | | | Change sane_defaults() and with_directories()Nick Mathewson2021-11-296-41/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sane_defaults() call is now the same as you get from a default builder: by convention, we just call that method Default::default(). The with_directories() constructor makes more sense as a constructor for the TorClientConfigBuilder than for TorClientConfig.
* | | | | | Bump every crate by one patch version.Nick Mathewson2021-11-2929-163/+163
| | | | | |
* | | | | | script to tell which crates have changed since last release.Nick Mathewson2021-11-291-0/+18
| | | | | |
* | | | | | More changelog entries for 0.0.2Nick Mathewson2021-11-291-12/+28
| | | | | |
* | | | | | Run "cargo update" to get latest versions.Nick Mathewson2021-11-294-92/+87
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix a couple of warnings introduced by now-unneeded imports with new ed25519 crate. This is part of the process for releasing our next version.
* | | | | Merge branch 'config-updates-and-tests'Nick Mathewson2021-11-297-45/+387
|\ \ \ \ \ | |_|_|/ / |/| | | |