summaryrefslogtreecommitdiffstats
path: root/vespalib/src/tests/assert/assert_test.cpp
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@verizonmedia.com>2019-05-27 10:40:48 +0000
committerTor Brede Vekterli <vekterli@verizonmedia.com>2019-05-27 13:58:49 +0000
commit1b3e34605eba38778deaa09f81998c9b8c80acc7 (patch)
tree49d96ed7b1cdf57f58bd3cbe2383d55f1c320edf /vespalib/src/tests/assert/assert_test.cpp
parent92dca89a98d9912fdefc0150fa914b788acfa056 (diff)
Move datastore and btree code from searchlib to vespalib
Namespace is still `search` and not `vespalib` due to the massive amount of code that would need to be modified for such a change. Other changes: - Move `BufferWriter` from searchlib to vespalib - Move assertion and rand48 utilities from staging_vespalib to vespalib - Move gtest utility code from staging_vespalib to vespalib
Diffstat (limited to 'vespalib/src/tests/assert/assert_test.cpp')
-rw-r--r--vespalib/src/tests/assert/assert_test.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/vespalib/src/tests/assert/assert_test.cpp b/vespalib/src/tests/assert/assert_test.cpp
new file mode 100644
index 00000000000..454c0957974
--- /dev/null
+++ b/vespalib/src/tests/assert/assert_test.cpp
@@ -0,0 +1,39 @@
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/vespalib/testkit/test_kit.h>
+#include <vespa/vespalib/util/slaveproc.h>
+#include <vespa/vespalib/util/stringfmt.h>
+#include <vespa/vespalib/util/assert.h>
+#include <vespa/vespalib/io/fileutil.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <vespa/defaults.h>
+
+using namespace vespalib;
+
+TEST("that it borks the first time.") {
+ std::string assertName;
+ const char * assertDir = "var/db/vespa/tmp";
+ vespalib::rmdir("var", true);
+ ASSERT_TRUE(vespalib::mkdir(assertDir, true));
+ {
+ SlaveProc proc("ulimit -c 0 && exec env VESPA_HOME=./ ./staging_vespalib_asserter_app myassert 10000");
+ proc.wait();
+ ASSERT_EQUAL(proc.getExitCode() & 0x7f, 6);
+ }
+ {
+ SlaveProc proc("ulimit -c 0 && exec env VESPA_HOME=./ ./staging_vespalib_asserter_app myassert 10000");
+ proc.readLine(assertName);
+ proc.wait();
+ ASSERT_EQUAL(proc.getExitCode() & 0x7f, 0);
+ }
+ ASSERT_EQUAL(0, unlink(assertName.c_str()));
+ {
+ SlaveProc proc("ulimit -c 0 && exec env VESPA_HOME=./ ./staging_vespalib_asserter_app myassert 10000");
+ proc.wait();
+ ASSERT_EQUAL(proc.getExitCode() & 0x7f, 6);
+ }
+ ASSERT_EQUAL(0, unlink(assertName.c_str()));
+ ASSERT_TRUE(vespalib::rmdir("var", true));
+}
+
+TEST_MAIN_WITH_PROCESS_PROXY() { TEST_RUN_ALL(); }