From 758b3799a8afca1bcfcc80f1863d99417a8de1eb Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 5 Aug 2016 17:46:11 +0200 Subject: 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). --- tests/basics/buildfile | 7 +++++++ tests/basics/driver.cxx | 30 ++++++++++++++++++++++++++++++ tests/build/bootstrap.build | 9 +++++++++ tests/build/root.build | 14 ++++++++++++++ tests/buildfile | 7 +++++++ 5 files changed, 67 insertions(+) create mode 100644 tests/basics/buildfile create mode 100644 tests/basics/driver.cxx create mode 100644 tests/build/bootstrap.build create mode 100644 tests/build/root.build create mode 100644 tests/buildfile (limited to 'tests') 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 + +#include +#include + +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 -- cgit v1.1