aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-08-05 17:46:11 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-08-05 17:46:11 +0200
commit758b3799a8afca1bcfcc80f1863d99417a8de1eb (patch)
tree50fa1e01674183d812aa84e35837b48a4fd841b3 /tests
parentbe85d32f0f645e47104ef1241acac1041cc58c16 (diff)
Initial take on build2-based build
Only C++11 is supported with GCC 4.8 and up and VC 14 and up. This change also introduces the ODB_THREADS_CXX11 threading model. It is the default for the build2 build but can be disabled with a global ODB_THREADS_NONE define (global means that it should be in effect both when building and using the library).
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/buildfile7
-rw-r--r--tests/basics/driver.cxx30
-rw-r--r--tests/build/bootstrap.build9
-rw-r--r--tests/build/root.build14
-rw-r--r--tests/buildfile7
5 files changed, 67 insertions, 0 deletions
diff --git a/tests/basics/buildfile b/tests/basics/buildfile
new file mode 100644
index 0000000..a871a6e
--- /dev/null
+++ b/tests/basics/buildfile
@@ -0,0 +1,7 @@
+# file : tests/basics/buildfile
+# copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+import libs = libodb%lib{odb}
+
+exe{driver}: cxx{driver} $libs
diff --git a/tests/basics/driver.cxx b/tests/basics/driver.cxx
new file mode 100644
index 0000000..8994429
--- /dev/null
+++ b/tests/basics/driver.cxx
@@ -0,0 +1,30 @@
+// file : tests/basics/driver.cxx
+// copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
+// license : GNU GPL v2; see accompanying LICENSE file
+
+// Basic test to make sure the library is usable. Functionality testing
+// is done in the odb-tests package.
+
+#include <cassert>
+
+#include <odb/exceptions.hxx>
+#include <odb/transaction.hxx>
+
+using namespace odb;
+
+int
+main ()
+{
+ // Transaction.
+ //
+ {
+ assert (!transaction::has_current ());
+
+ try
+ {
+ transaction::current ();
+ assert(false);
+ }
+ catch (const not_in_transaction&) {}
+ }
+}
diff --git a/tests/build/bootstrap.build b/tests/build/bootstrap.build
new file mode 100644
index 0000000..2f8aad2
--- /dev/null
+++ b/tests/build/bootstrap.build
@@ -0,0 +1,9 @@
+# file : tests/build/bootstrap.build
+# copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+project = # Unnamed subproject.
+
+using config
+using dist
+using test
diff --git a/tests/build/root.build b/tests/build/root.build
new file mode 100644
index 0000000..c731d60
--- /dev/null
+++ b/tests/build/root.build
@@ -0,0 +1,14 @@
+# file : tests/build/root.build
+# copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+using cxx
+
+hxx{*}: extension = hxx
+cxx{*}: extension = cxx
+
+cxx.std = 11
+
+# Every exe{} in this subproject is by default a test.
+#
+exe{*}: test = true
diff --git a/tests/buildfile b/tests/buildfile
new file mode 100644
index 0000000..0341b61
--- /dev/null
+++ b/tests/buildfile
@@ -0,0 +1,7 @@
+# file : tests/buildfile
+# copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+d = basics/
+./: $d
+include $d