#!/bin/sh

# testsuite - run installation tests
#
# Copyright (C) 2019 Arthur de Jong
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in
#    the documentation and/or other materials provided with the
#    distribution.
# 3. The name of the author may not be used to endorse or promote
#    products derived from this software without specific prior
#    written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


# Fail on any errors
set -e

# get the script name
script="`basename "$0"`"

# Redirect stderr to stdout
exec 2>&1

echo "$script: Create SVN repo..."
svnrepo=`mktemp -d -t svnrepo.XXXXXX`
svnadmin create "$svnrepo"

echo "$script: Check out repo..."
svnco=`mktemp -d -t svnco.XXXXXX`
cd "$svnco"
svn checkout "file://$svnrepo" .

echo "$script: Make an initial commit..."
echo 'Some random text' > test.txt
svn add test.txt
svn commit -m 'Test commit'
svn update

echo "$script: Generate ChangeLog file..."
svn2cl > ChangeLog

echo "$script: Check that our commit message was found..."
grep -q 'Test commit' ChangeLog

echo "$script: OK"

echo "$script: Cleaning up..."
cd /
rm -rf "$svnrepo" "$svnco"
exit 0
