aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-08-08 08:41:01 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-08-08 08:41:01 +0200
commit1135f674150e9486c91bc16e9fb09aa755591e25 (patch)
treecc8798f75c87c97da6b317b337cfb5fe89242022 /tests
parent2dbfb23e8ada74da6d54e5398cd3071de6b10423 (diff)
Initial build2 build support
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/buildfile8
-rw-r--r--tests/basics/driver.cxx46
-rw-r--r--tests/build/bootstrap.build9
-rw-r--r--tests/build/root.build14
-rw-r--r--tests/buildfile7
5 files changed, 84 insertions, 0 deletions
diff --git a/tests/basics/buildfile b/tests/basics/buildfile
new file mode 100644
index 0000000..833a7c8
--- /dev/null
+++ b/tests/basics/buildfile
@@ -0,0 +1,8 @@
+# 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} # @@
+import libs += libodb-sqlite%lib{odb-sqlite}
+
+exe{driver}: cxx{driver} $libs
diff --git a/tests/basics/driver.cxx b/tests/basics/driver.cxx
new file mode 100644
index 0000000..bcdd210
--- /dev/null
+++ b/tests/basics/driver.cxx
@@ -0,0 +1,46 @@
+// 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/sqlite/database.hxx>
+#include <odb/sqlite/exceptions.hxx>
+#include <odb/sqlite/transaction.hxx>
+
+using namespace odb::sqlite;
+
+int
+main ()
+{
+ database db (":memory:");
+
+ {
+ transaction t (db.begin ());
+ db.execute ("CREATE TABLE test (id INTEGER PRIMARY KEY, str TEXT)");
+ t.commit ();
+ }
+
+ {
+ transaction t (db.begin ());
+ db.execute ("INSERT INTO test VALUES (123, 'abc')");
+ t.commit ();
+ }
+
+ try
+ {
+ transaction t (db.begin ());
+ db.execute ("INSERT INTO test VALUES (123, 'ABC')");
+ assert (false);
+ }
+ catch (const database_exception&) {}
+
+ {
+ transaction t (db.begin ());
+ db.execute ("DROP TABLE test");
+ t.commit ();
+ }
+}
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