summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/fileheadertk
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
commit72231250ed81e10d66bfe70701e64fa5fe50f712 (patch)
tree2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /searchlib/src/tests/fileheadertk
Publish
Diffstat (limited to 'searchlib/src/tests/fileheadertk')
-rw-r--r--searchlib/src/tests/fileheadertk/.gitignore6
-rw-r--r--searchlib/src/tests/fileheadertk/CMakeLists.txt8
-rw-r--r--searchlib/src/tests/fileheadertk/DESC1
-rw-r--r--searchlib/src/tests/fileheadertk/FILES1
-rw-r--r--searchlib/src/tests/fileheadertk/fileheadertk_test.cpp47
5 files changed, 63 insertions, 0 deletions
diff --git a/searchlib/src/tests/fileheadertk/.gitignore b/searchlib/src/tests/fileheadertk/.gitignore
new file mode 100644
index 00000000000..6aa8c365240
--- /dev/null
+++ b/searchlib/src/tests/fileheadertk/.gitignore
@@ -0,0 +1,6 @@
+.depend
+Makefile
+fileheadertk.dat
+fileheadertk_test
+versiontags.dat
+searchlib_fileheadertk_test_app
diff --git a/searchlib/src/tests/fileheadertk/CMakeLists.txt b/searchlib/src/tests/fileheadertk/CMakeLists.txt
new file mode 100644
index 00000000000..bc6969fbac2
--- /dev/null
+++ b/searchlib/src/tests/fileheadertk/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(searchlib_fileheadertk_test_app
+ SOURCES
+ fileheadertk_test.cpp
+ DEPENDS
+ searchlib
+)
+vespa_add_test(NAME searchlib_fileheadertk_test_app COMMAND searchlib_fileheadertk_test_app)
diff --git a/searchlib/src/tests/fileheadertk/DESC b/searchlib/src/tests/fileheadertk/DESC
new file mode 100644
index 00000000000..08ad9a0769d
--- /dev/null
+++ b/searchlib/src/tests/fileheadertk/DESC
@@ -0,0 +1 @@
+Ensures that FileHeaderTk works as expected.
diff --git a/searchlib/src/tests/fileheadertk/FILES b/searchlib/src/tests/fileheadertk/FILES
new file mode 100644
index 00000000000..fe82bf13af7
--- /dev/null
+++ b/searchlib/src/tests/fileheadertk/FILES
@@ -0,0 +1 @@
+fileheadertk.cpp
diff --git a/searchlib/src/tests/fileheadertk/fileheadertk_test.cpp b/searchlib/src/tests/fileheadertk/fileheadertk_test.cpp
new file mode 100644
index 00000000000..14c5d0ed6f6
--- /dev/null
+++ b/searchlib/src/tests/fileheadertk/fileheadertk_test.cpp
@@ -0,0 +1,47 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/fastos/fastos.h>
+#include <vespa/log/log.h>
+LOG_SETUP("fileheadertk_test");
+
+#include <vespa/searchlib/util/fileheadertk.h>
+#include <vespa/vespalib/testkit/testapp.h>
+
+using namespace search;
+
+class Test : public vespalib::TestApp {
+private:
+ void testVersionTags();
+
+public:
+ int Main() {
+ TEST_INIT("fileheadertk_test");
+
+ testVersionTags(); TEST_FLUSH();
+
+ TEST_DONE();
+ }
+};
+
+TEST_APPHOOK(Test);
+
+void
+Test::testVersionTags()
+{
+ vespalib::FileHeader header;
+ FileHeaderTk::addVersionTags(header);
+
+ FastOS_File file;
+ ASSERT_TRUE(file.OpenWriteOnlyTruncate("versiontags.dat"));
+ EXPECT_EQUAL(header.getSize(), header.writeFile(file));
+ file.Close();
+
+ EXPECT_EQUAL(8u, header.getNumTags());
+ EXPECT_TRUE(header.hasTag("version-arch"));
+ EXPECT_TRUE(header.hasTag("version-builder"));
+ EXPECT_TRUE(header.hasTag("version-component"));
+ EXPECT_TRUE(header.hasTag("version-date"));
+ EXPECT_TRUE(header.hasTag("version-system"));
+ EXPECT_TRUE(header.hasTag("version-system-rev"));
+ EXPECT_TRUE(header.hasTag("version-tag"));
+ EXPECT_TRUE(header.hasTag("version-pkg"));
+}