diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2010-10-30 23:02:32 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2010-10-30 23:02:32 +0000 |
commit | b3cded65e92ba4d9b5e5a33fb95c4d551bda9c1b (patch) | |
tree | 69d40fbef2c0c4ee32fe97b7a28b510f2e3c2dbc /gold/testsuite/object_unittest.cc | |
parent | 7a815afd9b5121ee0f65dc1e1de1c0de6de97679 (diff) |
Notes
Diffstat (limited to 'gold/testsuite/object_unittest.cc')
-rw-r--r-- | gold/testsuite/object_unittest.cc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gold/testsuite/object_unittest.cc b/gold/testsuite/object_unittest.cc new file mode 100644 index 000000000000..c15237d822bd --- /dev/null +++ b/gold/testsuite/object_unittest.cc @@ -0,0 +1,41 @@ +// object_unittest.cc -- test Object, Relobj, etc. + +#include "gold.h" + +#include "object.h" + +#include "test.h" +#include "testfile.h" + +namespace gold_testsuite +{ + +using namespace gold; + +// Test basic Object functionality. + +bool +Object_test(Test_report*) +{ + Input_file input_file("test.o", test_file_1, test_file_1_size); + Object* object = make_elf_object("test.o", &input_file, 0, + test_file_1, test_file_1_size); + CHECK(object->name() == "test.o"); + CHECK(!object->is_dynamic()); + CHECK(object->target() == target_test_pointer); + CHECK(object->is_locked()); + object->unlock(); + CHECK(!object->is_locked()); + object->lock(); + CHECK(object->shnum() == 5); + CHECK(object->section_name(0).empty()); + CHECK(object->section_name(1) == ".test"); + CHECK(object->section_flags(0) == 0); + CHECK(object->section_flags(1) == elfcpp::SHF_ALLOC); + object->unlock(); + return true; +} + +Register_test object_register("Object", Object_test); + +} // End namespace gold_testsuite. |