// test_crypt.c // Crypt unit test for libutil // Copyright (C) 2021, Jakob Wakeling // MIT Licence #include "../crypt.h" #include "unit.h" #include #include int main(void) { { ASSERT("G00T00 ROL8 1", ROL8(0xF0u, 1) == 0xE1u); ASSERT("G00T01 ROL8 7", ROL8(0xF0u, 7) == 0x78u); ASSERT("G00T02 ROL16 1", ROL16(0xF000u, 1) == 0xE001u); ASSERT("G00T03 ROL16 15", ROL16(0xF000u, 15) == 0x7800u); ASSERT("G00T04 ROL32 1", ROL32(0xF0000000uL, 1) == 0xE0000001uL); ASSERT("G00T05 ROL32 31", ROL32(0xF0000000uL, 31) == 0x78000000uL); ASSERT("G00T06 ROL64 1", ROL64(0xF000000000000000uLL, 1) == 0xE000000000000001uLL); ASSERT("G00T07 ROL64 63", ROL64(0xF000000000000000uLL, 63) == 0x7800000000000000uLL); } { ASSERT("G01T00 ROR8 1", ROR8(0x0Fu, 1) == 0x87u); ASSERT("G01T01 ROR8 7", ROR8(0x0Fu, 7) == 0x1Eu); ASSERT("G01T02 ROR16 1", ROR16(0x000Fu, 1) == 0x8007u); ASSERT("G01T03 ROR16 15", ROR16(0x000Fu, 15) == 0x001Eu); ASSERT("G01T04 ROR32 1", ROR32(0x0000000FuL, 1) == 0x80000007uL); ASSERT("G01T05 ROR32 31", ROR32(0x0000000FuL, 31) == 0x0000001EuL); ASSERT("G01T06 ROR64 1", ROR64(0x000000000000000FuLL, 1) == 0x8000000000000007uLL); ASSERT("G01T07 ROR64 63", ROR64(0x000000000000000FuLL, 63) == 0x000000000000001EuLL); } printf("%d of %d tests passed\n", testspassed, testsrun); return testsfailed; }