diff --git a/unit-tests/Makefile.in b/unit-tests/Makefile.in index 589ba6f..8fdaa79 100644 --- a/unit-tests/Makefile.in +++ b/unit-tests/Makefile.in @@ -24,8 +24,6 @@ TEST_SOURCE=\ unit-tests/space_map_disk_t.cc \ unit-tests/transaction_manager_t.cc -# unit-tests/space_map_t.cc \ - TEST_PROGRAMS=$(subst .cc,,$(TEST_SOURCE)) unit-test: $(TEST_PROGRAMS) diff --git a/unit-tests/space_map_t.cc b/unit-tests/space_map_t.cc deleted file mode 100644 index fbcb3d2..0000000 --- a/unit-tests/space_map_t.cc +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright (C) 2011 Red Hat, Inc. All rights reserved. -// -// This file is part of the thin-provisioning-tools source. -// -// thin-provisioning-tools is free software: you can redistribute it -// and/or modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// thin-provisioning-tools 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 General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with thin-provisioning-tools. If not, see -// . - -#include "persistent-data/space_map.h" - -#define BOOST_TEST_MODULE SpaceMapTests -#include - -using namespace std; -using namespace boost; - -unsigned const NR_BLOCKS = 1024; - -//---------------------------------------------------------------- - -BOOST_AUTO_TEST_CASE(test_get_nr_blocks) -{ - core_map sm(NR_BLOCKS); - BOOST_CHECK_EQUAL(sm.get_nr_blocks(), NR_BLOCKS); -} - -BOOST_AUTO_TEST_CASE(test_get_nr_free) -{ - core_map sm(NR_BLOCKS); - BOOST_CHECK_EQUAL(sm.get_nr_free(), NR_BLOCKS); - - for (unsigned i = 0; i < NR_BLOCKS; i++) { - sm.new_block(); - BOOST_CHECK_EQUAL(sm.get_nr_free(), NR_BLOCKS - i - 1); - } - - for (unsigned i = 0; i < NR_BLOCKS; i++) { - sm.dec(i); - BOOST_CHECK_EQUAL(sm.get_nr_free(), i + 1); - } -} - -BOOST_AUTO_TEST_CASE(test_throws_no_space) -{ - core_map sm(NR_BLOCKS); - for (unsigned i = 0; i < NR_BLOCKS; i++) - sm.new_block(); - - BOOST_CHECK_THROW(sm.new_block(), std::runtime_error); -} - -BOOST_AUTO_TEST_CASE(test_inc_and_dec) -{ - core_map sm(NR_BLOCKS); - block_address b = 63; - - for (unsigned i = 0; i < 50; i++) { - BOOST_CHECK_EQUAL(sm.get_count(b), i); - sm.inc(b); - } - - for (unsigned i = 50; i > 0; i--) { - BOOST_CHECK_EQUAL(sm.get_count(b), i); - sm.dec(b); - } -} - -BOOST_AUTO_TEST_CASE(test_not_allocated_twice) -{ - core_map sm(NR_BLOCKS); - block_address b = sm.new_block(); - - try { - for (;;) - BOOST_CHECK(sm.new_block() != b); - } catch (...) { - } -} - -BOOST_AUTO_TEST_CASE(test_set_count) -{ - core_map sm(NR_BLOCKS); - sm.set_count(43, 5); - BOOST_CHECK_EQUAL(sm.get_count(43), 5); -}