Merge rust-bitcoin/rust-bitcoin#1545: Add CI script for the `internals` crate
f4e7def72f
internals: Add CI test script (Tobin C. Harding)db6b3f1df5
Fix method names in rustdoc (Tobin C. Harding)7593f1f334
Use set -ex (Tobin C. Harding) Pull request description: Quick merge this while noone's looking ... we forgot to test the new `internals` crate in CI. ACKs for top commit: Kixunil: ACKf4e7def72f
apoelstra: ACKf4e7def72f
Tree-SHA512: c603d2308911210eeed17f128ef684ea161e33f5749d3d5567bb15ac4a01695eb07718873e53824bb21159427b453b04265db6728b9839a13092a6817ac9c4d8
This commit is contained in:
commit
57098872ae
|
@ -20,7 +20,7 @@ jobs:
|
|||
DO_LINT: true
|
||||
AS_DEPENDENCY: false
|
||||
DO_NO_STD: true
|
||||
DO_FEATURE_MATRIX: true # Currently only used in hashes crate.
|
||||
DO_FEATURE_MATRIX: true
|
||||
DO_SCHEMARS_TESTS: true # Currently only used in hashes crate.
|
||||
run: ./contrib/test.sh
|
||||
|
||||
|
@ -70,7 +70,7 @@ jobs:
|
|||
uses: dtolnay/rust-toolchain@1.41.1
|
||||
- name: Running test script
|
||||
env:
|
||||
DO_FEATURE_MATRIX: true # Currently only used in hashes crate.
|
||||
DO_FEATURE_MATRIX: true
|
||||
run: ./contrib/test.sh
|
||||
|
||||
NoStd:
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
set -ex
|
||||
|
||||
CRATES="bitcoin hashes"
|
||||
CRATES="bitcoin hashes internals"
|
||||
|
||||
for crate in ${CRATES}
|
||||
do
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#!/bin/sh -ex
|
||||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
FEATURES="serde serde-std std core2"
|
||||
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
FEATURES="std alloc"
|
||||
|
||||
cargo --version
|
||||
rustc --version
|
||||
|
||||
# Work out if we are using a nightly toolchain.
|
||||
NIGHTLY=false
|
||||
if cargo --version | grep nightly >/dev/null; then
|
||||
NIGHTLY=true
|
||||
fi
|
||||
|
||||
# Make all cargo invocations verbose
|
||||
export CARGO_TERM_VERBOSE=true
|
||||
|
||||
# Defaults / sanity checks
|
||||
cargo build
|
||||
cargo test
|
||||
|
||||
if [ "$DO_LINT" = true ]
|
||||
then
|
||||
cargo clippy --all-features --all-targets -- -D warnings
|
||||
fi
|
||||
|
||||
if [ "$DO_FEATURE_MATRIX" = true ]; then
|
||||
# No features
|
||||
cargo build --no-default-features
|
||||
cargo test --no-default-features
|
||||
|
||||
# All features
|
||||
cargo build --no-default-features --features="$FEATURES"
|
||||
cargo test --no-default-features --features="$FEATURES"
|
||||
|
||||
# Single features
|
||||
for feature in ${FEATURES}
|
||||
do
|
||||
cargo build --no-default-features --features="$feature"
|
||||
cargo test --no-default-features --features="$feature"
|
||||
done
|
||||
fi
|
||||
|
||||
# Build the docs if told to (this only works with the nightly toolchain)
|
||||
if [ "$DO_DOCSRS" = true ]; then
|
||||
RUSTDOCFLAGS="--cfg docsrs -D warnings -D rustdoc::broken-intra-doc-links" cargo +nightly doc --all-features
|
||||
fi
|
||||
|
||||
# Build the docs with a stable toolchain, in unison with the DO_DOCSRS command
|
||||
# above this checks that we feature guarded docs imports correctly.
|
||||
if [ "$DO_DOCS" = true ]; then
|
||||
RUSTDOCFLAGS="-D warnings" cargo +stable doc --all-features
|
||||
fi
|
|
@ -112,7 +112,7 @@ impl<'a> DisplayHex for &'a [u8] {
|
|||
}
|
||||
|
||||
#[cfg(feature = "alloc")]
|
||||
#[cfg_attr(docsrs, doc(feature = "alloc"))]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
|
||||
impl<'a> DisplayHex for &'a alloc::vec::Vec<u8> {
|
||||
type Display = DisplayByteSlice<'a>;
|
||||
|
||||
|
@ -130,7 +130,7 @@ impl<'a> DisplayHex for &'a alloc::vec::Vec<u8> {
|
|||
|
||||
/// Displays byte slice as hex.
|
||||
///
|
||||
/// Created by [`<&[u8] as DisplayHex>::display_hex`](DisplayHex::display_hex).
|
||||
/// Created by [`<&[u8] as DisplayHex>::as_hex`](DisplayHex::as_hex).
|
||||
pub struct DisplayByteSlice<'a> {
|
||||
// pub because we want to keep lengths in sync
|
||||
pub(crate) bytes: &'a [u8],
|
||||
|
@ -166,7 +166,7 @@ impl<'a> fmt::UpperHex for DisplayByteSlice<'a> {
|
|||
|
||||
/// Displays byte array as hex.
|
||||
///
|
||||
/// Created by [`<&[u8; LEN] as DisplayHex>::display_hex`](DisplayHex::display_hex).
|
||||
/// Created by [`<&[u8; LEN] as DisplayHex>::as_hex`](DisplayHex::as_hex).
|
||||
pub struct DisplayArray<A: Clone + IntoIterator, B: FixedLenBuf> where A::Item: Borrow<u8> {
|
||||
array: A,
|
||||
_buffer_marker: core::marker::PhantomData<B>,
|
||||
|
|
Loading…
Reference in New Issue