diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/basics/buildfile | 8 | ||||
-rw-r--r-- | tests/basics/driver.cxx | 46 | ||||
-rw-r--r-- | tests/build/bootstrap.build | 9 | ||||
-rw-r--r-- | tests/build/root.build | 14 | ||||
-rw-r--r-- | tests/buildfile | 7 |
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 |