source: trunk/test/init.sh.in @ 1092

Last change on this file since 1092 was 1092, checked in by Peter Johansson, 11 years ago

fixes #445. tests are now performed in testSubDir/foo and each test has its own wc (and own svndigest cache) to work on.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.5 KB
Line 
1#!@SHELL@
2# @configure_input@
3
4# $Id: init.sh.in 1092 2010-06-12 23:50:18Z peter $
5
6# Copyright (C) 2007, 2008 Jari Häkkinen, Peter Johansson
7# Copyright (C) 2009, 2010 Peter Johansson
8#
9# This file is part of svndigest, http://dev.thep.lu.se/svndigest
10#
11# svndigest is free software; you can redistribute it and/or modify it
12# under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 3 of the License, or
14# (at your option) any later version.
15#
16# svndigest is distributed in the hope that it will be useful, but
17# WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19# General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with svndigest. If not, see <http://www.gnu.org/licenses/>.
23
24exit_fail ()
25{
26  echo "$me: failed test: $@";
27  exit 1
28}
29
30exit_skip ()
31{
32  echo "$me: skipped test: $@"
33  exit 77
34}
35
36exit_success ()
37{
38  echo "$me: successsful test: $@";
39  exit 0
40}
41
42# primary variables - set by config.status
43abs_top_builddir=@abs_top_builddir@
44abs_top_srcdir=@abs_top_srcdir@
45abs_builddir=@abs_builddir@
46mkdir_p="@MKDIR_P@"
47repo="@abs_test_repo@"
48shell=@SHELL@
49test_repo_found=@test_repo_found@
50wc_found="@wc_found@"
51
52test -z "$SVNDIGEST" && SVNDIGEST="@abs_top_builddir@/bin/svndigest --verbose";
53test -z "$SVNCOPYRIGHT" && SVNCOPYRIGHT="${abs_top_builddir}/bin/svncopyright";
54test -z "$srcdir" && srcdir="@srcdir@";
55test -z "$SVN" && SVN=svn;
56
57# some helpful derived variables
58rootdir=toy_project
59targetdir=$abs_builddir/generated_output
60repo_url="file://$repo"
61svn_update=${abs_builddir}/svn_update.sh
62
63me=$0
64
65test_dir=`echo $me.dir | sed -e 's,.*[\\/],,'`
66test_dir="testSubDir/$test_dir"
67$mkdir_p --verbose $test_dir
68cd $test_dir
69
70abs_wcdir=${abs_builddir}/${test_dir}/toy_project
71
72for r in : $required; do
73  case $r in
74    repo*)
75      if test x$test_repo_found = xyes; then
76        $shell ${svn_update} || exit_fail;
77      else
78        exit_skip "no test repository available";
79      fi;;
80    wc)
81      if test x$wc_found = xno; then
82        exit_skip "not subversion working copy";
83      fi;;
84    *)
85    :
86  esac
87done
88
89
90foo_run ()
91{
92    expected_exitcode=$1
93    shift
94    exitcode=0
95    $foo_prog ${1+"$@"} > stdout 2>stderr || exitcode=$?
96    cat stderr >&2
97    cat stdout
98    test $exitcode = $expected_exitcode || exit_fail
99}
100
101SVNDIGEST_run ()
102{
103    foo_prog="$SVNDIGEST --verbose"
104    foo_run $@
105}
106
107SVNCOPYRIGHT_run ()
108{
109    foo_prog="$SVNCOPYRIGHT"
110    foo_run $@
111}
112
113
114echo "=== running $me ==="
115
116# turn on trace
117set -x;
Note: See TracBrowser for help on using the repository browser.