From 5b3bcd8d1ed06046b4acb91245cf242798c4d95c Mon Sep 17 00:00:00 2001 From: Maka Date: Sat, 28 Sep 2024 02:56:40 +0100 Subject: [PATCH 1/2] [+] rust.yml --- .github/workflows/rust.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/rust.yml diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml new file mode 100644 index 0000000..9b32549 --- /dev/null +++ b/.github/workflows/rust.yml @@ -0,0 +1,25 @@ +name: Cargo Build & Test + +on: + push: + pull_request: + +env: + CARGO_TERM_COLOR: always + +jobs: + build_and_test: + name: Rust project - latest + runs-on: ubuntu-latest + strategy: + matrix: + toolchain: + - stable + - beta + - nightly + steps: + - uses: actions/checkout@v4 + - run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} + - run: cargo build --verbose + - run: cargo test --verbose + From fe37c88839459e41cd2b135be22abbe18bf1b17a Mon Sep 17 00:00:00 2001 From: maka Date: Sat, 28 Sep 2024 12:50:21 +0100 Subject: [PATCH 2/2] [+] tests --- tests/kwl32_util.rs | 50 +++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/tests/kwl32_util.rs b/tests/kwl32_util.rs index 934b985..823b393 100644 --- a/tests/kwl32_util.rs +++ b/tests/kwl32_util.rs @@ -1,10 +1,12 @@ + //-----------------------------------------------------------------------------------------------// //-------- -------- KWL32::CON TEST -------- --------// -//----------------------------------------------------------------------------- + #[cfg(test)] mod kwl32_util { use kawala::kwl32::util; + //-----------------------------------------------------------------------------------------------// //-------- -------- PAD32 -------- --------// @@ -40,6 +42,7 @@ mod kwl32_util { let expected = [[1u8;16], [0u8;16]] .concat(); assert_eq!(util::pad32r(&input), expected . as_slice()); } + #[test] fn pad32l_less_than_32_bytes() { let input = [1u8; 16]; @@ -180,40 +183,43 @@ mod kwl32_util { assert_eq!(util::and32(&a, &b), [0u8; 32]); } -//-----------------------------------------------------------------------------------------------// + fn or32() { + let a = [0xFFu8; 32]; + let b = [0x00u8; 32]; + + assert_eq!(util::or32(&a, &b), a); + } + + #[test] + fn not32() { + let a = [0xFFu8; 32]; + assert_eq!(util::not32(&a), [0u8;32]); + } -//-------- -------- OR32 -------- --------// //-----------------------------------------------------------------------------------------------// -//-------- -------- NOT32 -------- --------// +//-------- -------- EDGE CASES -------- --------// - // edge case: #[test] fn xor32_same_input() { let a = [0xFFu8; 32]; assert_eq!(util::xor32(&a, &a), [0u8; 32]); } -//-------- -------- XOR32 -------- --------// - - -//-----------------------------------------------------------------------------------------------// - -//-------- -------- AND32 -------- --------// - - -//-----------------------------------------------------------------------------------------------// + #[test] + fn and32_same_input() { + let a = [0xFFu8; 32]; + assert_eq!(util::and32(&a, &a), a); + } -//-------- -------- OR32 -------- --------// + #[test] + fn or32_same_input() { + let a = [0xFFu8; 32]; + assert_eq!(util::or32(&a, &a), a); + } +} //-----------------------------------------------------------------------------------------------// - -//-------- -------- NOT32 -------- --------// - -/* -*/ -} -//-----------------------------------------------------------------------------