summaryrefslogtreecommitdiffhomepage
path: root/test-elf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test-elf.cpp')
-rw-r--r--test-elf.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/test-elf.cpp b/test-elf.cpp
index d1aebd3..dba220e 100644
--- a/test-elf.cpp
+++ b/test-elf.cpp
@@ -12,10 +12,12 @@
#include <map>
#include <memory>
#include <string>
+#include <system_error>
#include <utility>
#include <vector>
using namespace std::string_literals;
+namespace fs = std::filesystem;
class ElfTest: public ::testing::Test
{
@@ -25,10 +27,32 @@ protected:
}
~ElfTest() {
}
+ fs::path TempFilename(){return "tempfile.txt";}
+
+ void SetUp(){
+ std::error_code ec;
+ fs::remove(TempFilename(), ec);
+ }
+ void TearDown(){
+ std::error_code ec;
+ //fs::remove(TempFilename(), ec);
+ }
};
+#if 0
TEST_F(ElfTest, read) {
}
+#endif
TEST_F(ElfTest, write) {
+ Elf::Write(TempFilename(),
+ {
+ 0x48, 0xc7, 0xc0, 0x3c, 0x00, 0x00, 0x00, // mov $0x3c,%rax # syscall 60
+ 0x48, 0x31, 0xff, // xor %rdi,%rdi # exit code 0
+ 0x0f, 0x05 // syscall
+ });
+
+ ASSERT_TRUE(fs::exists(TempFilename()));
+ ASSERT_GT(fs::file_size(TempFilename()), 0);
}
+