diff options
Diffstat (limited to 'testsuite/library')
| -rw-r--r-- | testsuite/library | 72 | 
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 +} |