aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/.gitignore1
-rw-r--r--tests/basics/buildfile7
-rw-r--r--tests/basics/driver.cxx38
-rw-r--r--tests/build/.gitignore1
-rw-r--r--tests/build/bootstrap.build9
-rw-r--r--tests/build/root.build18
-rw-r--r--tests/buildfile5
7 files changed, 79 insertions, 0 deletions
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 0000000..e54525b
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1 @@
+driver
diff --git a/tests/basics/buildfile b/tests/basics/buildfile
new file mode 100644
index 0000000..7c6a464
--- /dev/null
+++ b/tests/basics/buildfile
@@ -0,0 +1,7 @@
+# file : tests/basics/buildfile
+# copyright : Copyright (c) 2009-2017 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+import libs = libodb-mysql%lib{odb-mysql}
+
+exe{driver}: {hxx cxx}{*} $libs
diff --git a/tests/basics/driver.cxx b/tests/basics/driver.cxx
new file mode 100644
index 0000000..81ab938
--- /dev/null
+++ b/tests/basics/driver.cxx
@@ -0,0 +1,38 @@
+// file : tests/basics/driver.cxx
+// copyright : Copyright (c) 2009-2017 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 <sstream>
+
+#include <odb/mysql/database.hxx>
+#include <odb/mysql/exceptions.hxx>
+#include <odb/mysql/transaction.hxx>
+
+using namespace odb::mysql;
+
+int
+main ()
+{
+ {
+ std::ostringstream os;
+ database::print_usage (os);
+ assert (!os.str ().empty ());
+ }
+
+ // We can't really do much here since that would require a database. We can
+ // create a fake database object as long as we don't expect to get a valid
+ // connection.
+ //
+ database db ("john", "secret", "dummy whammy");
+
+ try
+ {
+ transaction t (db.begin ());
+ assert (false);
+ }
+ catch (const database_exception&) {}
+}
diff --git a/tests/build/.gitignore b/tests/build/.gitignore
new file mode 100644
index 0000000..225c27f
--- /dev/null
+++ b/tests/build/.gitignore
@@ -0,0 +1 @@
+config.build
diff --git a/tests/build/bootstrap.build b/tests/build/bootstrap.build
new file mode 100644
index 0000000..f573687
--- /dev/null
+++ b/tests/build/bootstrap.build
@@ -0,0 +1,9 @@
+# file : tests/build/bootstrap.build
+# copyright : Copyright (c) 2009-2017 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..1f471b6
--- /dev/null
+++ b/tests/build/root.build
@@ -0,0 +1,18 @@
+# file : tests/build/root.build
+# copyright : Copyright (c) 2009-2017 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+cxx.std = 11
+
+using cxx
+
+hxx{*}: extension = hxx
+cxx{*}: extension = cxx
+
+# Every exe{} in this subproject is by default a test.
+#
+exe{*}: test = true
+
+# Specify the test target for cross-testing.
+#
+test.target = $cxx.target
diff --git a/tests/buildfile b/tests/buildfile
new file mode 100644
index 0000000..545984d
--- /dev/null
+++ b/tests/buildfile
@@ -0,0 +1,5 @@
+# file : tests/buildfile
+# copyright : Copyright (c) 2009-2017 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+./: {*/ -build/}