Rombobjörn

summaryrefslogtreecommitdiff
path: root/testsuite/library
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/library')
-rw-r--r--testsuite/library72
1 files changed, 72 insertions, 0 deletions
diff --git a/testsuite/library b/testsuite/library
new file mode 100644
index 0000000..4482215
--- /dev/null
+++ b/testsuite/library
@@ -0,0 +1,72 @@
+# function library for Comfignat's testcases
+# Copyright 2013 - 2014 B. Persson, Bjorn@Rombobeorn.se
+#
+# This material is provided as is, with absolutely no warranty expressed
+# or implied. Any use is at your own risk.
+#
+# Permission is hereby granted to use or copy this testsuite
+# for any purpose, provided the above notices are retained on all copies.
+# Permission to modify the code and to distribute modified code is granted,
+# provided the above notices are retained, and a notice that the code was
+# modified is included with the above copyright notice.
+
+
+expect_configuration () {
+ # If "always" is passed, the testcase is always expected to leave a
+ # configuration file. If this is called without "always", a configuration
+ # file is expected only in a separate build directory.
+ if [ "$1" = always -o "${relative_builddir}" != . ] ; then
+ echo "${builddir}"/comfignat_configuration.mk >>"${file_list}"
+ fi
+}
+
+
+expect_generated_files () {
+ # The testcase is expected to generate files which are listed in the file
+ # generated_files. The list is whitespace-separated and may contain shell
+ # variable references.
+
+ # These directory variables mustn't be conveyed from Comfignat, because then
+ # the testsuite would rely on the same thing that it's supposed to test.
+ prefix=${prefix:-/usr/local}
+ exec_prefix=${exec_prefix:-${prefix}}
+ datarootdir=${datarootdir:-${prefix}/share}
+ bindir=${bindir:-${exec_prefix}/bin}
+ libexecdir=${libexecdir:-${exec_prefix}/libexec}
+ includedir=${includedir:-${prefix}/include}
+ libdir=${libdir:-${exec_prefix}/lib}
+ alidir=${alidir:-${libdir}}
+ gprdir=${gprdir:-${datarootdir}/gpr}
+ stagedir=stage
+ stage_bindir=${stagedir}${bindir}
+ stage_libexecdir=${stagedir}${libexecdir}
+ stage_includedir=${stagedir}${includedir}
+ stage_libdir=${stagedir}${libdir}
+ stage_alidir=${stagedir}${alidir}
+ stage_gprdir=${stagedir}${gprdir}
+
+ for file in $(cat "${srcdir}"/generated_files) ; do
+ # Expand variables in the string to get the pathname.
+ eval file="${file}"
+ # Write the pathname and its parent directories to the file list.
+ # Chop off pathname components until only "." remains, but also avoid
+ # looping forever if the final residue turns out to be "/" or "//".
+ while [ "${file}" != . -a "${file}" != / -a "${file}" != // ] ; do
+ echo "${builddir}/${file}" >>"${file_list}"
+ file=$(dirname "${file}")
+ done
+ done
+}
+
+
+common_setup () {
+ # When the locations file specifies a separate build directory, initialize
+ # the build directory and go there. When the source directory is also the
+ # build directory, just go to that directory.
+ cd "${srcdir}"
+ if [ "${relative_builddir}" != . ] ; then
+ echo "${builddir}"/Makefile >>"${file_list}"
+ make configure builddir="${relative_builddir}"
+ cd "${relative_builddir}"
+ fi
+}