diff --git a/nselib/bits.lua b/nselib/bits.lua index 6eb4438ec..b62016820 100644 --- a/nselib/bits.lua +++ b/nselib/bits.lua @@ -10,6 +10,7 @@ local assert = assert local error = error +local unittest = require "unittest" local _ENV = {} @@ -54,31 +55,25 @@ function arshift(a, b) return a >> b end end -do - local function test8 (a, b) - local r = reverse(a, 8) - if r ~= b then - error(("0x%02X: expected 0x%02X, got 0x%02X"):format(a, b, r)) - end - end - test8(0x00, 0x00) - test8(0x01, 0x80) - test8(0x80, 0x01) - test8(0xff, 0xff) - test8(0x88, 0x11) - test8(0x5c, 0x3a) - local function test32 (a, b) - local r = reverse(a, 32) - if r ~= b then - error(("0x%08X: expected 0x%08X, got 0x%08X"):format(a, b, r)) - end - end - test32(0x00000000, 0x00000000) - test32(0x00000001, 0x80000000) - test32(0x80000000, 0x00000001) - test32(0xffffffff, 0xffffffff) - test32(0x22221234, 0x2c484444) +if not unittest.testing() then + return _ENV end +local equal = unittest.equal + +test_suite = unittest.TestSuite:new() +test_suite:add_test(equal(reverse(0x00, 8), 0x00), "reverse 8-bit number") +test_suite:add_test(equal(reverse(0x01, 8), 0x80), "reverse 8-bit number") +test_suite:add_test(equal(reverse(0x80, 8), 0x01), "reverse 8-bit number") +test_suite:add_test(equal(reverse(0xff, 8), 0xff), "reverse 8-bit number") +test_suite:add_test(equal(reverse(0x88, 8), 0x11), "reverse 8-bit number") +test_suite:add_test(equal(reverse(0x5c, 8), 0x3a), "reverse 8-bit number") + +test_suite:add_test(equal(reverse(0x00000000, 32), 0x00000000), "reverse 32-bit number") +test_suite:add_test(equal(reverse(0x00000001, 32), 0x80000000), "reverse 32-bit number") +test_suite:add_test(equal(reverse(0x80000000, 32), 0x00000001), "reverse 32-bit number") +test_suite:add_test(equal(reverse(0xffffffff, 32), 0xffffffff), "reverse 32-bit number") +test_suite:add_test(equal(reverse(0x22221234, 32), 0x2c484444), "reverse 32-bit number") + return _ENV