echangelog: Make test case POSIX conform.
authoridl0r <idl0r@gentoo.org>
Tue, 16 Nov 2010 16:27:05 +0000 (16:27 -0000)
committeridl0r <idl0r@gentoo.org>
Tue, 16 Nov 2010 16:27:05 +0000 (16:27 -0000)
svn path=/trunk/gentoolkit-dev/; revision=850

ChangeLog
src/echangelog/Makefile
src/echangelog/test/test.sh

index 479e985d759e47bed6230e0fe029ca1b90e5e4ba..4bf2dbebb40b87b6c34df818105f902c6137c782 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2010-11-16: Christian Ruppert <idl0r@gentoo.org>
+       * echangelog: Make test case POSIX conform.
+
 2010-10-28: Tomáš Chvátal <scarabeus@gentoo.org>
        * eshowkw: Deprecate eshowkw.
                This package (more of its full rewrite) will be from now on at
index 3d7e0cd87004281e2a717354943bc2d594818e2b..36134df87c8572bc64b083ac7f291c6c0f2eb720 100644 (file)
@@ -11,7 +11,7 @@ include ../../makedefs.mak
 all:
 
 test:
-       cd test; bash test.sh
+       cd test; sh test.sh
 
 dist:
        mkdir -p ../../$(distdir)/src/echangelog/test/templates
index 14703d453398e5819c1786126fd9ea4a7f4a6b06..82f9533a58ba7fc331af6ccab31606cad0932d9f 100755 (executable)
@@ -1,8 +1,9 @@
-#!/bin/bash
+#!/bin/sh
 
-source /etc/init.d/functions.sh
+# Load functions.sh
+. "/etc/init.d/functions.sh"
 
-SUPPORTED_VCS=( "cvs" "svn" "git" )
+SUPPORTED_VCS="cvs svn git"
 VCSTEST="echangelog-test/vcstest"
 _ROOT=$(pwd)
 
@@ -15,19 +16,20 @@ MD5_COPYRIGHT="6f39fa409ea14bb6506347c53f6dee50"
 MD5_OBSOLETE="0aedadf159c6f3add97a3f79fb867221"
 MD5_FINAL="17eb0df69f501cc6fdaffebd118b7764"
 
-function md5() {
+md5() {
        local fname=$1
        echo $(md5sum ${fname} | awk '{ print $1 }')
 }
 
-function ech() {
+ech() {
        local bin=$1
-       local msg=$2
+       shift
+       local msg="${*}"
 
        perl -I$(dirname $(dirname ${bin})) ${bin} "${msg}"
 }
 
-function make_test() {
+make_test() {
        local root=$1
        local vcs=$2
 
@@ -38,23 +40,20 @@ function make_test() {
        cd $root
        mkdir -p ${tmp}
        cd ${tmp}
-       
-       [[ "${vcs}" == "cvs" ]] && mkdir -p ${tmp}/cvsroot
-       [[ "${vcs}" == "svn" ]] && mkdir -p ${tmp}/svnroot
 
-       if [[ "${vcs}" == "git" ]];
-       then
+       [ "${vcs}" = "cvs" ] && mkdir -p ${tmp}/cvsroot
+       [ "${vcs}" = "svn" ] && mkdir -p ${tmp}/svnroot
+
+       if [ "${vcs}" = "git" ]; then
                git init
                touch .gitignore
                git add .gitignore
                git commit -a -m 'Initial Commit'
-       elif [[ "${vcs}" == "svn" ]];
-       then
+       elif [ "${vcs}" = "svn" ]; then
                svnadmin create svnroot
                svn co file://${tmp}/svnroot svn
                cd svn
-       elif [[ "${vcs}" == "cvs" ]];
-       then
+       elif [ "${vcs}" = "cvs" ]; then
                CVSROOT="${tmp}/cvsroot" cvs init
                mkdir cvsroot/cvs
                cvs -d:local:${tmp}/cvsroot co cvs
@@ -65,8 +64,7 @@ function make_test() {
 
        cp ${template}/vcstest-0.0.1.ebuild ${VCSTEST}
        ${vcs} add $(dirname ${VCSTEST})
-       if [[ "${vcs}" == "cvs" ]];
-       then
+       if [ "${vcs}" = "cvs" ]; then
                ${vcs} add ${VCSTEST}
                ${vcs} add "${VCSTEST}/vcstest-0.0.1.ebuild"
        fi
@@ -74,15 +72,13 @@ function make_test() {
        cd ${VCSTEST}
        ech ${echangelog} 'New ebuild for bug <id>.'
 
-       if [[ "${MD5_INIT}" != "$(md5 ChangeLog)" ]];
-       then
+       if [ "${MD5_INIT}" != "$(md5 ChangeLog)" ]; then
                eerror "WRONG MD5_INIT!"
        fi
 
        mkdir files
        cp ${template}/test.patch files
-       if [[ "${vcs}" == "cvs" ]];
-       then
+       if [ "${vcs}" = "cvs" ]; then
                ${vcs} add files/
                ${vcs} add files/test.patch
        else
@@ -91,40 +87,35 @@ function make_test() {
 
        ech ${echangelog} "Added adittional patch to fix foo."
 
-       if [[ "${MD5_PATCH}" != "$(md5 ChangeLog)" ]];
-       then
+       if [ "${MD5_PATCH}" != "$(md5 ChangeLog)" ]; then
                eerror "WRONG MD5_PATCH!"
        fi
 
-       if [[ "${vcs}" == "svn" ]];
-       then
+       if [ "${vcs}" = "svn" ]; then
                ${vcs} commit -m 'New ebuild for bug <id>.' ../
        else
                ${vcs} commit -m 'New ebuild for bug <id>.'
        fi
 
-       [[ "${vcs}" == "cvs" ]] && sed -i -e 's:# $Header\: .*$:# $Header\: $:' ChangeLog
+       [ "${vcs}" = "cvs" ] && sed -i -e 's:# $Header\: .*$:# $Header\: $:' ChangeLog
 
        cp vcstest-0.0.1.ebuild vcstest-0.0.1-r1.ebuild
        ${vcs} add vcstest-0.0.1-r1.ebuild
 
        ech ${echangelog} "Revbump..."
 
-       if [[ "${MD5_REVBUMP}" != "$(md5 ChangeLog)" ]];
-       then
+       if [ "${MD5_REVBUMP}" != "$(md5 ChangeLog)" ]; then
                eerror "WRONG MD5_REVBUMP!"
        fi
 
        sed -i -e 's:# Copyright 1999-2009 Gentoo Foundation:# Copyright 1999-2010 Gentoo Foundation:' vcstest-0.0.1.ebuild
        ech ${echangelog} "Revbump...; Just copyright changed."
 
-       if [[ "${MD5_COPYRIGHT}" != "$(md5 ChangeLog)" ]];
-       then
+       if [ "${MD5_COPYRIGHT}" != "$(md5 ChangeLog)" ]; then
                eerror "WRONG MD5_COPYRIGHT!"
        fi
 
-       if [[ "${vcs}" == "cvs" ]];
-       then
+       if [ "${vcs}" = "cvs" ]; then
                rm -f files/test.patch
                ${vcs} remove files/test.patch
        else
@@ -133,27 +124,24 @@ function make_test() {
 
        ech ${echangelog} "Revbump...; Just copyright changed; Removed obsolete patch."
 
-       if [[ "${MD5_OBSOLETE}" != "$(md5 ChangeLog)" ]];
-       then
+       if [ "${MD5_OBSOLETE}" != "$(md5 ChangeLog)" ]; then
                eerror "WRONG MD5_OBSOLETE!"
        fi
 
        echo>>vcstest-0.0.1.ebuild
        ech ${echangelog} "Revbump...; Just copyright changed; Removed obsolete patch; Modified more then just the copyright."
 
-       if [[ "${MD5_FINAL}" != "$(md5 ChangeLog)" ]];
-       then
+       if [ "${MD5_FINAL}" != "$(md5 ChangeLog)" ]; then
                eerror "WRONG MD5_FINAL!"
        fi
 }
 
-[[ -d "${_ROOT}/tmp" ]] && rm -rf ${_ROOT}/tmp
+[ -d "${_ROOT}/tmp" ] && rm -rf ${_ROOT}/tmp
 mkdir -p ${_ROOT}/tmp
 
 ebegin "Preparing echangelog"
 
-if [[ -e ../echangelog ]];
-then
+if [ -e "../echangelog" ]; then
        cp ../echangelog "${_ROOT}/tmp" || set $?
        sed -i -e 's:use POSIX qw.*:use POSIX qw(setlocale getcwd);\nuse TEST qw(strftime);:' "${_ROOT}/tmp/echangelog" || set $?
        eend ${1:-0} || exit ${1}
@@ -163,10 +151,8 @@ else
        exit 1
 fi
 
-for vcs in ${SUPPORTED_VCS[*]};
-do
-       if [[ -x "$(which ${vcs} 2>/dev/null)" ]];
-       then
+for vcs in $SUPPORTED_VCS; do
+       if [ -x "$(which ${vcs} 2>/dev/null)" ]; then
                ebegin "Starting test with ${vcs}"
                make_test $_ROOT "${vcs}" || set $?
                eend ${1:-0}