Commit Graph

23 Commits

Author SHA1 Message Date
Alfredo Garcia 887d4a2457
fix(beta-toolchain): Warnings (#8404)
* fix beta imports and other warnings

* clippy lints beta

* move attributes to after docs

Co-authored-by: Marek <mail@marek.onl>

* move some code to test module

* implement display instead of direct tostring for LongPollId

Co-authored-by: Arya <aryasolhi@gmail.com>

* fix typo

---------

Co-authored-by: Marek <mail@marek.onl>
Co-authored-by: Arya <aryasolhi@gmail.com>
2024-04-18 01:45:22 +00:00
teor 8cf62b4a17
change(deps): Update dependencies that only appear in the lock file (#6217)
* Manually update duplicate dependency exceptions

* Update the release checklist to check for missed dependency updates

* Fix a clippy "unused result" lint

* Run `cargo update`

Output:
```
$ cargo update
    Updating crates.io index
    Updating addr2line v0.17.0 -> v0.19.0
    Updating ahash v0.8.2 -> v0.8.3
    Updating aho-corasick v0.7.18 -> v0.7.20
    Updating anyhow v1.0.69 -> v1.0.70
    Updating arrayref v0.3.6 -> v0.3.7
    Updating async-stream v0.3.2 -> v0.3.4
    Updating async-stream-impl v0.3.2 -> v0.3.4
    Updating async-trait v0.1.52 -> v0.1.67
    Updating axum v0.5.17 -> v0.6.12
    Updating axum-core v0.2.9 -> v0.3.3
    Updating backtrace v0.3.64 -> v0.3.67
    Updating base64 v0.13.0 -> v0.13.1
    Updating bit-set v0.5.2 -> v0.5.3
    Removing block-buffer v0.7.3
    Removing block-buffer v0.10.2
      Adding block-buffer v0.10.4
    Removing block-padding v0.1.5
    Updating bls12_381 v0.7.0 -> v0.7.1
    Updating bstr v0.2.17 -> v1.4.0
    Updating byte-slice-cast v1.2.1 -> v1.2.2
    Removing byte-tools v0.3.1
    Updating bytemuck v1.8.0 -> v1.13.1
    Updating cc v1.0.73 -> v1.0.79
    Removing chunked_transfer v1.4.0
    Updating cipher v0.4.3 -> v0.4.4
    Updating clang-sys v1.3.1 -> v1.6.0
    Updating clap v3.2.20 -> v3.2.23
    Updating console v0.15.4 -> v0.15.5
    Updating constant_time_eq v0.2.4 -> v0.2.5
    Updating crossbeam-channel v0.5.4 -> v0.5.7
    Updating crossbeam-deque v0.8.1 -> v0.8.3
    Updating crossbeam-epoch v0.9.7 -> v0.9.14
    Updating crossbeam-utils v0.8.7 -> v0.8.15
      Adding cxx-build v1.0.93
    Updating cxx-gen v0.7.74 -> v0.7.93
    Updating darling v0.14.1 -> v0.14.4
    Updating darling_core v0.14.1 -> v0.14.4
    Updating darling_macro v0.14.1 -> v0.14.4
    Removing digest v0.8.1
    Removing digest v0.10.5
      Adding digest v0.10.6
    Updating dirs-sys v0.3.6 -> v0.3.7
    Updating either v1.6.1 -> v1.8.1
    Updating encoding_rs v0.8.30 -> v0.8.32
    Updating enum-iterator v1.2.0 -> v1.4.0
    Updating enum-iterator-derive v1.1.0 -> v1.2.0
    Updating eyre v0.6.7 -> v0.6.8
    Removing fake-simd v0.1.2
    Updating fastrand v1.7.0 -> v1.9.0
    Updating ff v0.12.0 -> v0.12.1
    Updating fixedbitset v0.4.1 -> v0.4.2
    Updating flate2 v1.0.22 -> v1.0.25
    Updating form_urlencoded v1.0.1 -> v1.1.0
    Removing generic-array v0.12.4
    Removing generic-array v0.14.5
      Adding generic-array v0.14.6
    Updating gimli v0.26.1 -> v0.27.2
    Updating glob v0.3.0 -> v0.3.1
    Updating globset v0.4.8 -> v0.4.10
    Updating h2 v0.3.11 -> v0.3.16
    Updating hashbrown v0.12.1 -> v0.12.3
    Updating hdrhistogram v7.5.0 -> v7.5.2
    Updating heck v0.4.0 -> v0.4.1
    Updating http v0.2.8 -> v0.2.9
    Removing http-range-header v0.3.0
    Updating hyper-rustls v0.23.0 -> v0.23.2
    Updating iana-time-zone v0.1.46 -> v0.1.54
      Adding iana-time-zone-haiku v0.1.1
    Updating idna v0.2.3 -> v0.3.0
    Updating io-lifetimes v1.0.4 -> v1.0.9
    Updating ipnet v2.4.0 -> v2.7.1
    Updating is-terminal v0.4.4 -> v0.4.5
    Updating itoa v1.0.4 -> v1.0.6
    Updating jobserver v0.1.24 -> v0.1.26
    Updating js-sys v0.3.59 -> v0.3.61
    Updating libc v0.2.139 -> v0.2.140
    Updating libloading v0.7.3 -> v0.7.4
    Updating libm v0.2.2 -> v0.2.6
    Updating libz-sys v1.1.4 -> v1.1.8
    Updating link-cplusplus v1.0.7 -> v1.0.8
    Updating lock_api v0.4.6 -> v0.4.9
    Removing maplit v1.0.2
    Removing matches v0.1.9
    Updating matchit v0.5.0 -> v0.7.0
    Updating memoffset v0.6.5 -> v0.8.0
    Updating mime v0.3.16 -> v0.3.17
    Updating miniz_oxide v0.4.4 -> v0.6.2
    Updating minreq v2.6.0 -> v2.7.0
    Updating mio v0.8.4 -> v0.8.6
    Updating net2 v0.2.37 -> v0.2.38
    Updating nom v7.1.0 -> v7.1.3
    Updating num-format v0.4.3 -> v0.4.4
    Updating num-traits v0.2.14 -> v0.2.15
    Updating object v0.27.1 -> v0.30.3
    Removing opaque-debug v0.2.3
    Updating openssl v0.10.38 -> v0.10.48
      Adding openssl-macros v0.1.0
    Updating openssl-sys v0.9.72 -> v0.9.83
    Updating os_info v3.5.1 -> v3.7.0
    Updating os_str_bytes v6.3.0 -> v6.5.0
    Updating parity-scale-codec v3.1.2 -> v3.4.0
    Updating parity-scale-codec-derive v3.1.2 -> v3.1.4
    Updating parking_lot v0.12.0 -> v0.12.1
    Removing parking_lot_core v0.8.5
    Removing parking_lot_core v0.9.1
      Adding parking_lot_core v0.8.6
      Adding parking_lot_core v0.9.7
    Updating pasta_curves v0.4.0 -> v0.4.1
    Updating percent-encoding v2.1.0 -> v2.2.0
    Updating pest v2.1.3 -> v2.5.6
    Updating pest_derive v2.1.0 -> v2.5.6
    Updating pest_generator v2.1.3 -> v2.5.6
    Updating pest_meta v2.1.3 -> v2.5.6
    Updating petgraph v0.6.0 -> v0.6.3
    Updating pkg-config v0.3.24 -> v0.3.26
    Updating plotters v0.3.1 -> v0.3.4
    Updating plotters-backend v0.3.2 -> v0.3.4
    Updating plotters-svg v0.3.1 -> v0.3.3
    Updating portable-atomic v0.3.15 -> v0.3.19
    Updating ppv-lite86 v0.2.16 -> v0.2.17
    Updating prettyplease v0.1.9 -> v0.1.25
    Updating proc-macro-crate v1.1.3 -> v1.3.1
    Updating proc-macro2 v1.0.52 -> v1.0.53
    Updating prost-build v0.11.1 -> v0.11.8
    Updating prost-types v0.11.1 -> v0.11.8
    Updating raw-cpuid v10.2.0 -> v10.7.0
    Updating redox_syscall v0.2.11 -> v0.2.16
    Updating redox_users v0.4.0 -> v0.4.3
    Updating rgb v0.8.32 -> v0.8.36
    Updating rustc-demangle v0.1.21 -> v0.1.22
    Updating rustix v0.36.7 -> v0.36.11
    Updating rustls v0.20.7 -> v0.20.8
    Updating rustls-pemfile v1.0.0 -> v1.0.2
    Updating rustversion v1.0.11 -> v1.0.12
    Updating ryu v1.0.9 -> v1.0.13
    Updating schannel v0.1.19 -> v0.1.21
      Adding scratch v1.0.5
    Updating security-framework v2.6.1 -> v2.8.2
    Updating security-framework-sys v2.6.1 -> v2.8.0
    Removing sha-1 v0.8.2
      Adding sha2 v0.10.6
    Updating signal-hook-registry v1.4.0 -> v1.4.1
    Updating similar v2.1.0 -> v2.2.1
    Updating slab v0.4.5 -> v0.4.8
    Updating socket2 v0.4.7 -> v0.4.9
    Removing syn v1.0.104
    Removing syn v2.0.3
      Adding syn v1.0.109
      Adding syn v2.0.8
    Updating sync_wrapper v0.1.1 -> v0.1.2
    Updating termcolor v1.1.3 -> v1.2.0
    Updating textwrap v0.15.0 -> v0.16.0
    Updating thread_local v1.1.4 -> v1.1.7
    Removing time v0.1.44
    Removing time v0.3.17
      Adding time v0.1.43
      Adding time v0.3.20
    Updating time-macros v0.2.6 -> v0.2.8
    Updating tinyvec_macros v0.1.0 -> v0.1.1
    Updating tokio-macros v1.7.0 -> v1.8.2
    Updating tokio-native-tls v0.3.0 -> v0.3.1
    Updating tokio-rustls v0.23.2 -> v0.23.4
    Updating tokio-util v0.6.9 -> v0.6.10
    Updating toml_edit v0.19.7 -> v0.19.8
    Updating tonic v0.8.2 -> v0.8.3
    Updating tonic-build v0.8.2 -> v0.8.4
    Removing tower-http v0.3.4
    Updating tower-layer v0.3.1 -> v0.3.2
    Updating tower-service v0.3.1 -> v0.3.2
    Updating try-lock v0.2.3 -> v0.2.4
    Updating typenum v1.15.0 -> v1.16.0
    Updating ucd-trie v0.1.3 -> v0.1.5
    Updating unicode-bidi v0.3.7 -> v0.3.13
    Updating unicode-ident v1.0.2 -> v1.0.8
    Updating unicode-normalization v0.1.19 -> v0.1.22
    Updating unicode-segmentation v1.9.0 -> v1.10.1
    Updating unicode-width v0.1.9 -> v0.1.10
    Updating unicode-xid v0.2.2 -> v0.2.4
    Updating ureq v2.5.0 -> v2.6.2
    Updating url v2.2.2 -> v2.3.1
    Updating uuid v1.1.0 -> v1.3.0
    Updating walkdir v2.3.2 -> v2.3.3
    Updating wasi v0.10.0+wasi-snapshot-preview1 -> v0.10.2+wasi-snapshot-preview1
    Updating wasm-bindgen v0.2.82 -> v0.2.84
    Updating wasm-bindgen-backend v0.2.82 -> v0.2.84
    Updating wasm-bindgen-futures v0.4.29 -> v0.4.34
    Updating wasm-bindgen-macro v0.2.82 -> v0.2.84
    Updating wasm-bindgen-macro-support v0.2.82 -> v0.2.84
    Updating wasm-bindgen-shared v0.2.82 -> v0.2.84
    Updating web-sys v0.3.56 -> v0.3.61
    Updating webpki-roots v0.22.5 -> v0.22.6
    Updating which v4.2.4 -> v4.4.0
      Adding windows v0.46.0
    Removing windows-sys v0.32.0
    Removing windows-sys v0.36.1
    Updating windows-targets v0.42.1 -> v0.42.2
    Updating windows_aarch64_gnullvm v0.42.1 -> v0.42.2
    Removing windows_aarch64_msvc v0.32.0
    Removing windows_aarch64_msvc v0.36.1
    Removing windows_aarch64_msvc v0.42.1
      Adding windows_aarch64_msvc v0.42.2
    Removing windows_i686_gnu v0.32.0
    Removing windows_i686_gnu v0.36.1
    Removing windows_i686_gnu v0.42.1
      Adding windows_i686_gnu v0.42.2
    Removing windows_i686_msvc v0.32.0
    Removing windows_i686_msvc v0.36.1
    Removing windows_i686_msvc v0.42.1
      Adding windows_i686_msvc v0.42.2
    Removing windows_x86_64_gnu v0.32.0
    Removing windows_x86_64_gnu v0.36.1
   Removing windows_x86_64_gnu v0.42.1
      Adding windows_x86_64_gnu v0.42.2
    Updating windows_x86_64_gnullvm v0.42.1 -> v0.42.2
    Removing windows_x86_64_msvc v0.32.0
    Removing windows_x86_64_msvc v0.36.1
    Removing windows_x86_64_msvc v0.42.1
      Adding windows_x86_64_msvc v0.42.2
    Updating winnow v0.3.6 -> v0.4.0
    Updating wyz v0.5.0 -> v0.5.1
    Updating zeroize_derive v1.3.2 -> v1.3.3
```

* Update deny.toml
2023-03-26 23:53:17 +00:00
teor 256b1c0008
fix(clippy): Fix new lints in nightly clippy (#5959)
* Derive default using #[default]

* Implement PartialEq manually to satisfy clippy

* Allow a manual derive in test-only code

* Fix some missing docs warnings in the Docker build
2023-01-18 00:27:42 +00:00
teor 09836d2800
fix(clippy): Put Rust format variables inline (#5783)
* cargo clippy --fix --all-features --all-targets

With rustc 1.67.0-nightly (234151769 2022-12-03)

* cargo fmt --all
2022-12-08 01:05:57 +00:00
teor c812f880cf
cleanup(clippy): Use inline format strings (#5489)
* Inline format strings using an automated clippy fix

```sh
cargo clippy --fix --all-features --all-targets -- -A clippy::all -W clippy::uninlined_format_args
cargo fmt --all
```

* Remove unused & and &mut using an automated clippy fix

```sh
cargo clippy --fix --all-features --all-targets -- -A clippy::all -W clippy::uninlined_format_args
```
2022-10-27 13:25:18 +00:00
teor f46d0115e5
fix(test): Show full Zebra test panic details in CI logs (#4942)
* Handle test failure regexes using Result::Err, rather than panicking

* Add output logs to test context, and add tests for that

* Let empty test child logs be read again (and produce empty output)

* Ignore missing test children when killing with ignore_exited

* Fix a clippy lint

* Rename `line` to `line_result` for clarity

* Revert a redundant context_from() on kill()

* Only ignore "no such process" kill() errors in sync_until() tests

* Log the command timeout when an acceptance test fails

* fix clippy

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-08-28 23:52:19 +00:00
Conrado Gouvea 6fd750e168
build(deps): bump insta from 1.15.0 to 1.17.1 (#4884)
* build(deps): bump insta from 1.15.0 to 1.17.1

Bumps [insta](https://github.com/mitsuhiko/insta) from 1.15.0 to 1.17.1.
- [Release notes](https://github.com/mitsuhiko/insta/releases)
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/insta/compare/1.15.0...1.17.1)

---
updated-dependencies:
- dependency-name: insta
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make zebra_test::init() return the insta drop guard

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-08-04 15:44:44 +00:00
teor fd7f49fb0c
Limit output length in some tests (#4387) 2022-05-12 05:36:09 +00:00
Janito Vaqueiro Ferreira Filho c47dac8d5f
change(test): Refactor how extra arguments are handled when spawing lightwalled (#4067)
* Join similar imports

Avoid the confusion that might cause one to think that they come from
different modules or crates.

* Create an `Arguments` helper type

A type to keep track of a list of arguments for a sub-process. It makes
it easier for overriding parameters with new values.

* Create an `args!` helper macro

Make it simpler to create `Arguments` instances with known values.

* Require `Arguments` for `spawn_child` method

Change the method to have an `Arguments` parameter, and merge it with
some default values before passing them forward.

* Use `Arguments` in `spawn_lightwalletd_child`

Change the method to use an `Arguments` instance, and merge it with some
default options.

* Use `Arguments` in `spawn_child_with_command`

Require an `Arguments` instance in the `spawn_child_with_command`
extension method. Makes it simpler to call from `spawn_child` and
`spawn_lightwalletd_child` extension methods.

* Test if argument order is preserved

Check that when building an `Arguments` instance, the order that the
arguments are set is preserved in the generated list of strings.

* Refactor test to improve readability

Also separates some common code to be reused by later tests.

* Test overriding arguments

Check to see if overriding arguments behaves as expected, by keeping the
argument order when overriding and not introducing duplicates.

* Refactor test to improve readability

Move out a chunk of code so that the test itself is easier to read and
to make that code reusable by a later test.

* Test that `Arguments` instances can be merged

Merge two `Arguments` instances built from two lists of arguments, and
check that the expanded strings preserve order and override rules.

* Add Eq derives on Arguments

Co-authored-by: teor <teor@riseup.net>
2022-04-19 10:28:52 +00:00
Alfredo Garcia f687ab947f
feat(rpc): Implement `getblockchaininfo` RPC method (#3891)
* Implement `getblockchaininfo` RPC method

* add a test for `get_blockchain_info`

* fix tohex/fromhex

* move comment

* Update lightwalletd acceptance test for getblockchaininfo RPC (#3914)

* change(rpc): Return getblockchaininfo network upgrades in height order (#3915)

* Update lightwalletd acceptance test for getblockchaininfo RPC

* Update some doc comments for network upgrades

* List network upgrades in order in the getblockchaininfo RPC

Also:
- Use a constant for the "missing consensus branch ID" RPC value
- Simplify fetching consensus branch IDs
- Make RPC type derives consistent
- Update RPC type documentation

* Make RPC type derives consistent

* Fix a confusing test comment

* get hashand height at the same time

* fix estimated_height

* fix lint

* add extra check

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>

* fix typo

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>

* split test

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>

* fix(rpc): ignore an expected error in the RPC acceptance tests (#3961)

* Add ignored regexes to test command failure regex methods

* Ignore empty chain error in getblockchaininfo

We expect this error when zebrad starts up with an empty state.

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-03-25 12:25:31 +00:00
teor a5d7b9c1e0
T2. add(test): add test API that checks process logs for failures (#3899)
* Revert "Revert Option<Child> process handling"

This reverts commit 2af30086858d104dcb0ec87383996c36bcaa7371.

* Add a set of failure regexes to test command output

* Allow debug-printing TestChild again

* When the child is dropped, check any remaining output

* Document a wait_with_output edge case

* Improve failure regex panic output

* Improve builder ergonomics

* Add internal tests for failure regex panics

It would be easy to disable these panics, and never realise.

* Add some module structure TODOs

* Stop panicking if the child process has already been taken

* Add test APIs for consuming child output lines

* Fix a hang on child process drop

* Handle output being already taken in wait_with_output

And document some edge cases we don't handle yet

* Use bash's read command in the TestChild stderr test

And check the actual command we're using to see if it errors.

* Pretty print full failure regex list

* Add the test child command line to the failure regex logs
2022-03-22 23:53:24 +00:00
teor cef146edbd
lint(clippy): warn on manual printing to stdout or stderr (#3767)
Most logging should use `tracing::trace!()` or `tracing::debug!()` instead.
2022-03-08 09:14:15 +00:00
teor 00aa5d96a3
Consolidate standard lints into a cargo config file (#3386)
* Move standard lints into .cargo/config.toml

* Ignore "wrong self convention" in a futures-based trait

This lint might only trigger on beta or nightly at the moment.

* Warn if future incompatibile code is added to Zebra

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-24 16:25:06 +00:00
Janito Vaqueiro Ferreira Filho 51c6550602
Replace `tempdir` dependency with `tempfile` (#3337)
* Use `testdir()` instead of `TempDir::new()`

Reduce repeated code and make it easier to change from using `tempdir`
to use `tempfile` instead.

* Replace `tempdir` with `tempfile` in `zebrad`

Use `tempfile`'s `TempDir` instead.

* Use `tempdir()` instead of `TempDir::new()`

Reduce repeated code and make it easier to upgrade to `tempfile`.

* Use `tempfile` instead of `tempdir`

Replace obsoleted `tempdir` dependency with `tempfile`.

* Use `tempfile` instead of `tempdir`

Replace obsoleted `tempdir` dependency with `tempfile`.

* Update `Cargo.lock`

Update it now that `tempdir` has been replaced with `tempfile`.

* Remove `tempdir` from `deny.toml` exceptions

Ban duplicate versions of the `tempdir` dependency.

* Remove `inferno` from `deny.toml` exceptions

It apparently isn't needed anymore.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2022-01-14 15:11:23 +00:00
Janito Vaqueiro Ferreira Filho 0960e4fb0b
Update to Tokio 1.13.0 (#2994)
* Update `tower` to version `0.4.9`

Update to latest version to add support for Tokio version 1.

* Replace usage of `ServiceExt::ready_and`

It was deprecated in favor of `ServiceExt::ready`.

* Update Tokio dependency to version `1.13.0`

This will break the build because the code isn't ready for the update,
but future commits will fix the issues.

* Replace import of `tokio::stream::StreamExt`

Use `futures::stream::StreamExt` instead, because newer versions of
Tokio don't have the `stream` feature.

* Use `IntervalStream` in `zebra-network`

In newer versions of Tokio `Interval` doesn't implement `Stream`, so the
wrapper types from `tokio-stream` have to be used instead.

* Use `IntervalStream` in `inventory_registry`

In newer versions of Tokio the `Interval` type doesn't implement
`Stream`, so `tokio_stream::wrappers::IntervalStream` has to be used
instead.

* Use `BroadcastStream` in `inventory_registry`

In newer versions of Tokio `broadcast::Receiver` doesn't implement
`Stream`, so `tokio_stream::wrappers::BroadcastStream` instead. This
also requires changing the error type that is used.

* Handle `Semaphore::acquire` error in `tower-batch`

Newer versions of Tokio can return an error if the semaphore is closed.
This shouldn't happen in `tower-batch` because the semaphore is never
closed.

* Handle `Semaphore::acquire` error in `zebrad` test

On newer versions of Tokio `Semaphore::acquire` can return an error if
the semaphore is closed. This shouldn't happen in the test because the
semaphore is never closed.

* Update some `zebra-network` dependencies

Use versions compatible with Tokio version 1.

* Upgrade Hyper to version 0.14

Use a version that supports Tokio version 1.

* Update `metrics` dependency to version 0.17

And also update the `metrics-exporter-prometheus` to version 0.6.1.
These updates are to make sure Tokio 1 is supported.

* Use `f64` as the histogram data type

`u64` isn't supported as the histogram data type in newer versions of
`metrics`.

* Update the initialization of the metrics component

Make it compatible with the new version of `metrics`.

* Simplify build version counter

Remove all constants and use the new `metrics::incement_counter!` macro.

* Change metrics output line to match on

The snapshot string isn't included in the newer version of
`metrics-exporter-prometheus`.

* Update `sentry` to version 0.23.0

Use a version compatible with Tokio version 1.

* Remove usage of `TracingIntegration`

This seems to not be available from `sentry-tracing` anymore, so it
needs to be replaced.

* Add sentry layer to tracing initialization

This seems like the replacement for `TracingIntegration`.

* Remove unnecessary conversion

Suggested by a Clippy lint.

* Update Cargo lock file

Apply all of the updates to dependencies.

* Ban duplicate tokio dependencies

Also ban git sources for tokio dependencies.

* Stop allowing sentry-tracing git repository in `deny.toml`

* Allow remaining duplicates after the tokio upgrade

* Use C: drive for CI build output on Windows

GitHub Actions uses a Windows image with two disk drives, and the
default D: drive is smaller than the C: drive. Zebra currently uses a
lot of space to build, so it has to use the C: drive to avoid CI build
failures because of insufficient space.

Co-authored-by: teor <teor@riseup.net>
2021-11-02 18:46:57 +00:00
teor 56ef08e385 Rewrite acceptance test matching
- Add a custom semver match for `zebrad` versions
- Prefer "line contains string" matches, so tests ignore minor changes
- Escape regex meta-characters when a literal string match is intended
- Rename test functions so they are more precise
- Rewrite match internals to remove duplicate code and enable custom matches
- Document match functions
2021-06-10 22:46:33 -04:00
teor 2f0f379a9e
Standardise clippy lints and require docs (#2238)
* Standardise lints across Zebra crates, and add missing docs

The only remaining module with missing docs is `zebra_test::command`

* Todo -> TODO

* Clarify what a transcript ErrorChecker does

Also change `Error` -> `BoxError`

* TransError -> ExpectedTranscriptError

* Output Descriptions -> Output descriptions
2021-06-04 08:48:40 +10:00
Deirdre Connolly 902c6f6b29 Remove test attributes and allow(dead_code) for command timeout tests that exercise currently broken properties 2020-11-21 05:40:25 -05:00
teor e3e85f5dbd Add tests for TestDirExt
Some of these tests are ignored, because they trigger known TestDirExt
bugs. See #1140 for details.
2020-10-15 19:54:00 -04:00
Jane Lusby e6b849568f
Add support for errors in zebra_test::Transcript (#678)
* Add support for errors in zebra_test::Transcript

* test transcript with an error checker

* switch to option instead of MockError

* update docs

* dont use verifier against ready_and

* cleanup exports and add docs

* handle todos

* fix doctest

* temp: use cleaner error handling example

* add ability to test only for presence of error
2020-07-31 11:54:18 -07:00
Jane Lusby 2abf4b93a8 consolidate test init functions into zebra-test (#541)
* consolidate test init logic into one place

* rustfmt

Co-authored-by: Jane Lusby <jane@zfnd.org>
2020-06-24 11:47:18 -07:00
Henry de Valence e8d42264e8 Add a check method to the Transcript. 2020-06-24 11:47:18 -07:00
Henry de Valence 5c9cd52baf Add a Transcript Service for testing. 2020-06-24 11:47:18 -07:00