diff options
-rw-r--r-- | test/Makefile.am | 1 | ||||
-rw-r--r-- | test/local.at | 36 | ||||
-rw-r--r-- | test/nbb-scons.at | 52 |
3 files changed, 89 insertions, 0 deletions
diff --git a/test/Makefile.am b/test/Makefile.am index 41f3def..6c7416b 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -8,6 +8,7 @@ TESTCASES += autotest.at TESTCASES += nbb-basic.at TESTCASES += nbb-detect.at TESTCASES += nbb-config.at +TESTCASES += nbb-scons.at TESTCASES += nbb-automake.at # Add more testcases here diff --git a/test/local.at b/test/local.at index 0b2a309..42136f3 100644 --- a/test/local.at +++ b/test/local.at @@ -3,6 +3,42 @@ AT_TESTED([autom4te autoconf autoheader autoupdate autoreconf]) # Local initialization of the test environment would happen here +dnl AT_WRAP_GIT([stuff-to-do-with-git-repo])dnl +m4_define([AT_WRAP_GIT], [dnl +AT_CHECK([mkdir test.dir && cd test.dir]) +AT_CHECK([cd test.dir && git init], [0], +[Initialized empty Git repository in .git/ +])dnl +$1 +AT_CHECK([rm -rf test.dir])dnl +])dnl + + +dnl AT_WRAP_GIT_SCONS([stuff-to-do-with-tree])dnl +m4_define([AT_WRAP_GIT_SCONS], [dnl +AT_WRAP_GIT([dnl +AT_DATA([test.dir/SConstruct], [dnl +# Test +env = Environment() +env.Configure() +prog = env.Program('foobar', + source=@<:@'foobar.c'@:>@) +env.Install('/usr/bin', prog) +env.Alias('install', '/usr/bin') +]) +AT_DATA([test.dir/foobar.c], [dnl +#include <stdio.h> +int main(int argc, char *argv@<:@@:>@) { + printf("FOOBAR!\n"); + return 0; +} +])dnl +$1 +])dnl +])dnl + + +dnl AT_CREATE_GIT_AM()dnl m4_define([AT_CREATE_GIT_AM], [dnl AT_CHECK([mkdir test.git && cd test.git]) AT_CHECK([cd test.git && git init], [0], diff --git a/test/nbb-scons.at b/test/nbb-scons.at new file mode 100644 index 0000000..08e9a61 --- /dev/null +++ b/test/nbb-scons.at @@ -0,0 +1,52 @@ +dnl =================================================================== + +AT_COPYRIGHT([Copyright (C) 2008 Hans Ulrich Niedermann])dnl +AT_TESTED([nbb])dnl +AT_TESTED([scons])dnl + +dnl =================================================================== + +AT_SETUP([nbb scons: init]) +AT_KEYWORDS([nbb scons init]) +AT_WRAP_GIT_SCONS([dnl +AT_CHECK([cd test.dir && nbb init])dnl +])dnl +AT_CLEANUP()dnl + +dnl =================================================================== + +AT_SETUP([nbb scons: configure]) +AT_KEYWORDS([nbb scons configure]) +AT_WRAP_GIT_SCONS([dnl +AT_CHECK([cd test.dir && nbb configure])dnl +])dnl +AT_CLEANUP()dnl + +dnl =================================================================== + +AT_SETUP([nbb scons: build]) +AT_KEYWORDS([nbb scons build]) +AT_WRAP_GIT_SCONS([dnl +AT_CHECK([echo "scons: Reading SConscript files ... +scons: done reading SConscript files. +scons: Building targets ... +gcc -o foobar.o -c foobar.c +gcc -o foobar foobar.o +scons: done building targets. +RUN: @<:@'scons'@:>@ + in $PWD/test.dir" > expout +cd test.dir && nbb build], [0], [expout])dnl +])dnl +AT_CLEANUP()dnl + +dnl =================================================================== + +dnl AT_SETUP([nbb scons: install]) +dnl AT_KEYWORDS([nbb scons install]) +dnl AT_WRAP_GIT_SCONS([dnl +dnl AT_CHECK([echo "FIXME $PWD/test.dir" > expout +dnl cd test.dir && nbb install], [0], [expout]) +dnl ])dnl +dnl AT_CLEANUP()dnl + +dnl =================================================================== |