diff options
Diffstat (limited to 'tests/cc/libu/testscript')
-rw-r--r-- | tests/cc/libu/testscript | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/tests/cc/libu/testscript b/tests/cc/libu/testscript index 454a443..78a3eb3 100644 --- a/tests/cc/libu/testscript +++ b/tests/cc/libu/testscript @@ -7,6 +7,10 @@ test.arguments = config.cxx="$recall($cxx.path)" .include ../../common.test ++cat <<EOI >+build/bootstrap.build +using test +EOI + +cat <<EOI >=build/root.build cxx.std = latest @@ -14,6 +18,8 @@ using cxx hxx{*}: extension = hxx cxx{*}: extension = cxx + +exe{*}: test = true EOI # Common source files that are symlinked in the test directories if used. @@ -23,24 +29,40 @@ EOI # define LIBFOO_EXPORT #endif - LIBFOO_EXPORT void f (); + LIBFOO_EXPORT extern int f; EOI +cat <<EOI >=foo.cxx - void f () {} + #include <foo.hxx> + int f; + EOI + ++cat <<EOI >=bar.cxx + #include <foo.hxx> + struct b { b () {++f;} } b_; EOI +cat <<EOI >=driver.cxx + #include <cassert> #include <foo.hxx> - int main () {f ();} + int main () {assert (f != 0);} + EOI + +: basic +: +ln -s ../foo.hxx ../foo.cxx ../bar.cxx ../driver.cxx ./; +$* test clean <<EOI + cc.poptions += "-I$src_base" + exe{foo}: cxx{driver} libu{foo} + libu{foo}: cxx{foo bar} EOI : members : : Test building individual libuX{} members. : -ln -s ../foo.hxx ../foo.cxx ../driver.cxx ./; -$* update clean <<EOI +ln -s ../foo.hxx ../foo.cxx ../bar.cxx ../driver.cxx ./; +$* test clean <<EOI cc.poptions += "-I$src_base" # {exe liba libs}{foo} @@ -50,5 +72,5 @@ $* update clean <<EOI liba{foo}: libua{foo} libs{foo}: libus{foo} - libu{foo}: cxx{foo} + libu{foo}: cxx{foo bar} EOI |