/*
Copyright (C) 2020 Red Hat, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see .
*/
/* Test that tests some utils.h functions */
#undef NDEBUG
#include
#include
#include
#include
int main(void)
{
unsigned int i;
uint8_t bytes[64];
memset(bytes, 0, sizeof(bytes));
// some early bytes
set_bitmap(10, bytes);
assert(bytes[1] == 0x4);
assert(test_bitmap(10, bytes));
assert(!test_bitmap(12, bytes));
set_bitmap(12, bytes);
assert(bytes[1] == 0x14);
assert(test_bitmap(10, bytes));
assert(test_bitmap(12, bytes));
// some higher bytes, to check truncation
assert(!test_bitmap(363, bytes));
assert(!test_bitmap(367, bytes));
set_bitmap(367, bytes);
assert(!test_bitmap(363, bytes));
assert(test_bitmap(367, bytes));
set_bitmap(363, bytes);
assert(test_bitmap(363, bytes));
assert(test_bitmap(367, bytes));
// check all bytes are zeroes except one set above
bytes[1] = 0;
bytes[45] = 0;
for (i = 0; i < sizeof(bytes); ++i) {
assert(bytes[i] == 0);
}
return 0;
}