summaryrefslogtreecommitdiff
path: root/crates/tor-hspow/tests
Commit message (Collapse)AuthorAgeFilesLines
* tor-hspow: Shorten the solve_effort1k_aa_41_01 testMicah Elizabeth Scott2023-08-011-1/+1
| | | | | | | | | | | | | | | | | | | | | The solve tests are all tunable so that we can balance execution time with test coverage. A longer solve will test more random programs and it will test more of the nonce increment function, minor benefits at the cost of much more CPU. The starting nonce in solve_effort1k_aa_41_01 was set so that we would exercise a rollover in bit 7 of the nonce increment before the full width rollover, but this wasn't a particularly helpful place to test and certainly not worth the 13+ seconds it takes on my machine. This patch bumps the starting nonce to a value much closer to the target, and still including the full-width rollover. Brings solve_effort1k_aa_41_01 down from 13.2 seconds to 0.5 sec for me. For ticket #991 Signed-off-by: Micah Elizabeth Scott <[email protected]>
* tor-hspow: Split up hspow_vectors testsMicah Elizabeth Scott2023-08-011-8/+106
| | | | | | | | | | | This test had one large function for all the verifies and one for all the solves. The solve test was slow enough to be a bottleneck, documented in ticket #991. This patch splits the existing tests up in to one labeled function per solve or verify configuration. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Start implementing Proposal 327Micah Elizabeth Scott2023-07-271-0/+368
This adds a new tor-hspow crate with the first layers of support in place for onion service client puzzles as described in Proposal 327. The API here is experimental, and it's currently only implementing the self-contained parts of the client puzzle. So, it can verify and solve puzzles, but it has no event loop integration or nonce replay tracking or prioritization code yet. These things seem like they would eventually live in the same crate. Signed-off-by: Micah Elizabeth Scott <[email protected]>