create a separate unit-tests dir

This commit is contained in:
Joe Thornber 2011-08-22 10:42:13 +01:00
parent 7dbc18d327
commit 9be40b76b5
18 changed files with 34 additions and 46 deletions

View File

@ -1,35 +1,36 @@
SOURCE=\
endian.cc \
metadata.cc \
metadata_disk_structures.cc \
space_map_disk.cc \
endian_utils.cc \
metadata_disk_structures.cc
# metadata.cc \
TEST_SOURCE=\
block_t.cc \
btree_t.cc \
endian_t.cc \
metadata_t.cc \
space_map_t.cc \
space_map_disk_t.cc \
transaction_manager_t.cc \
unit-tests/block_t.cc \
unit-tests/btree_t.cc \
unit-tests/endian_t.cc \
unit-tests/space_map_t.cc \
unit-tests/space_map_disk_t.cc \
unit-tests/transaction_manager_t.cc \
# unit-tests/metadata_t.cc \
OBJECTS=$(subst .cc,.o,$(SOURCE))
TEST_PROGRAMS=$(subst .cc,,$(TEST_SOURCE))
CPPFLAGS=-Wall -std=c++0x -g
INCLUDES=
TOP_DIR:=$(PWD)
CPPFLAGS=-Wall -std=c++0x -g -I$(TOP_DIR)
LIBS=-lstdc++
.PHONEY: unit-tests test-programs
test-programs: $(TEST_PROGRAMS)
unit-tests: $(TEST_PROGRAMS)
unit-test: $(TEST_PROGRAMS)
for p in $(TEST_PROGRAMS); do echo Running $$p; ./$$p; done
.SUFFIXES: .cc .o .d
%.d: %.cc
$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
g++ -MM $(CPPFLAGS) $< > $@.$$$$; \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
@ -39,25 +40,25 @@ unit-tests: $(TEST_PROGRAMS)
multisnap_display: $(OBJECTS) main.o
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
block_t: block_t.o
unit-tests/block_t: unit-tests/block_t.o
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
btree_t: btree_t.o
unit-tests/btree_t: unit-tests/btree_t.o
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
space_map_t: space_map_t.o
unit-tests/space_map_t: unit-tests/space_map_t.o
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
space_map_disk_t: space_map_disk_t.o $(OBJECTS)
unit-tests/space_map_disk_t: unit-tests/space_map_disk_t.o $(OBJECTS)
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
transaction_manager_t: transaction_manager_t.o
unit-tests/transaction_manager_t: unit-tests/transaction_manager_t.o
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
metadata_t: metadata_t.o $(OBJECTS)
unit-tests/metadata_t: unit-tests/metadata_t.o $(OBJECTS)
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
endian_t: endian_t.o $(OBJECTS)
unit-tests/endian_t: unit-tests/endian_t.o $(OBJECTS)
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
include $(subst .cc,.d,$(SOURCE))

View File

@ -1,7 +1,7 @@
#ifndef BTREE_H
#define BTREE_H
#include "endian.h"
#include "endian_utils.h"
#include "transaction_manager.h"
#include <boost/noncopyable.hpp>

View File

@ -1,4 +1,4 @@
#include "endian.h"
#include "endian_utils.h"
using namespace base;

View File

@ -4,7 +4,7 @@
#include "block.h"
#include "transaction_manager.h"
#include "btree.h"
#include "endian.h"
#include "endian_utils.h"
#include "metadata_disk_structures.h"
#include <string>
@ -119,11 +119,7 @@ namespace thin_provisioning {
public:
typedef boost::shared_ptr<metadata> ptr;
metadata(transaction_manager<MD_BLOCK_SIZE>::ptr tm,
block_address superblock,
sector_t data_block_size,
block_address nr_data_blocks,
bool create);
metadata(std::string const &dev_path);
~metadata();
void commit();
@ -162,7 +158,9 @@ namespace thin_provisioning {
typedef persistent_data::btree<1, block_traits, MD_BLOCK_SIZE> single_mapping_tree;
tm_ptr tm_;
space_map::ptr metadata_sm_;
// Ignoring the metadata sm for now, since we don't need it for the basic 'dump' tool
// space_map::ptr metadata_sm_;
space_map::ptr data_sm_;
detail_tree details_;
dev_tree mappings_top_level_;

View File

@ -9,7 +9,6 @@ using namespace thin_provisioning;
void
device_details_traits::unpack(device_details_disk const &disk, device_details &value)
{
value.dev_size_ = to_cpu<uint64_t>(disk.dev_size_);
value.mapped_blocks_ = to_cpu<uint64_t>(disk.mapped_blocks_);
value.transaction_id_ = to_cpu<uint64_t>(disk.transaction_id_);
value.creation_time_ = to_cpu<uint32_t>(disk.creation_time_);
@ -19,7 +18,6 @@ device_details_traits::unpack(device_details_disk const &disk, device_details &v
void
device_details_traits::pack(device_details const &value, device_details_disk &disk)
{
disk.dev_size_ = to_disk<__le64>(value.dev_size_);
disk.mapped_blocks_ = to_disk<__le64>(value.mapped_blocks_);
disk.transaction_id_ = to_disk<__le64>(value.transaction_id_);
disk.creation_time_ = to_disk<__le32>(value.creation_time_);

View File

@ -1,7 +1,7 @@
#ifndef METADATA_DISK_STRUCTURES_H
#define METADATA_DISK_STRUCTURES_H
#include "endian.h"
#include "endian_utils.h"
#include "btree.h"
//----------------------------------------------------------------
@ -10,7 +10,6 @@ namespace thin_provisioning {
using namespace base; // FIXME: don't use namespaces in headers.
struct device_details_disk {
__le64 dev_size_;
__le64 mapped_blocks_;
__le64 transaction_id_; /* when created */
__le32 creation_time_;
@ -18,7 +17,6 @@ namespace thin_provisioning {
} __attribute__ ((packed));
struct device_details {
uint64_t dev_size_;
uint64_t mapped_blocks_;
uint64_t transaction_id_; /* when created */
uint32_t creation_time_;

View File

@ -1,7 +0,0 @@
#include "space_map_disk.h"
//----------------------------------------------------------------
//----------------------------------------------------------------

View File

@ -3,9 +3,9 @@
#include "space_map.h"
#include "transaction_manager.h"
#include "endian.h"
#include "endian_utils.h"
#include "space_map_disk_structures.h"
#include "math.h"
#include "math_utils.h"
//----------------------------------------------------------------

View File

@ -1,7 +1,7 @@
#ifndef SPACE_MAP_DISK_STRUCTURES_H
#define SPACE_MAP_DISK_STRUCTURES_H
#include "endian.h"
#include "endian_utils.h"
#include "btree.h"
//----------------------------------------------------------------