ulm 15/05/09 08:01:28
Added: autotools_eaclocal_amflags.sh eutils_eshopts.sh
eutils_estack.sh eutils_evar.sh
eutils_path_exists.sh git-r3_GIT_DIR.sh
git-r3_subrepos.sh
linux-info_get_running_version.sh
multiprocessing_makeopts_jobs.sh
versionator_version_compare.sh
Removed: autotools:eaclocal_amflags.sh eutils:eshopts.sh
eutils:estack.sh eutils:evar.sh
eutils:path_exists.sh git-r3:GIT_DIR.sh
git-r3:subrepos.sh
linux-info:get_running_version.sh
multiprocessing:makeopts_jobs.sh
versionator:version_compare.sh
Log:
Avoid problematic colon char in filenames, bug 548750.
Revision Changes Path
1.1 eclass/tests/autotools_eaclocal_amflags.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/autotools_eaclocal_amflags.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/autotools_eaclocal_amflags.sh?rev=1.1&content-type=text/plain
Index: autotools_eaclocal_amflags.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit autotools
test-it() {
tbegin "eaclocal_amflags $1: $2"
printf "ACLOCAL_AMFLAGS = %b\n" "$2" > Makefile.am
local flags=$(eaclocal_amflags) exp=${3:-$2}
[[ "${flags}" == "${exp}" ]]
if ! tend $? ; then
printf '### INPUT:\n%s\n' "$2"
printf '### FILE:\n%s\n' "$(<Makefile.am)"
printf '### EXPECTED:\n%s\n' "${exp}"
printf '### ACTUAL:\n%s\n' "${flags}"
fi
rm Makefile.am
}
test-it simple "-Im4"
test-it simple "-I m4 -I lakdjfladsfj /////"
test-it shell-exec '`echo hi`' "hi"
test-it shell-exec '`echo {0..3}`' "0 1 2 3"
test-it multiline '-I oneline \\\n\t-I twoline' "-I oneline -I twoline"
texit
1.1 eclass/tests/eutils_eshopts.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/eutils_eshopts.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/eutils_eshopts.sh?rev=1.1&content-type=text/plain
Index: eutils_eshopts.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit eutils
test-it() {
local s0 s1 s2
tbegin "push/pop '$*'"
s0=$(shopt -p)
t eshopts_push $*
s1=$(shopt -p)
t eshopts_pop
s2=$(shopt -p)
[[ ${s0} == "${s2}" ]] && \
[[ ${s1} == *"shopt $*"* ]]
tend $?
}
# should handle bug #395025
for arg in nullglob dotglob extglob ; do
for flag in s u ; do
test-it -${flag} ${arg}
done
done
tbegin "multi push/pop"
s0=$(shopt -p)
t eshopts_push -s dotglob
t eshopts_push -u dotglob
t eshopts_push -s extglob
t eshopts_push -u dotglob
t eshopts_push -s dotglob
t eshopts_pop
t eshopts_pop
t eshopts_pop
t eshopts_pop
t eshopts_pop
s1=$(shopt -p)
[[ ${s0} == "${s1}" ]]
tend $?
texit
1.1 eclass/tests/eutils_estack.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/eutils_estack.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/eutils_estack.sh?rev=1.1&content-type=text/plain
Index: eutils_estack.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit eutils
tbegin "initial stack state"
estack_pop teststack
# Should be empty and thus return 1
[[ $? -eq 1 ]]
tend $?
tbegin "simple push/pop"
estack_push ttt 1
pu=$?
estack_pop ttt
po=$?
[[ ${pu}${po} == "00" ]]
tend $?
tbegin "simple push/pop var"
estack_push xxx "boo ga boo"
pu=$?
estack_pop xxx i
po=$?
[[ ${pu}${po} == "00" ]] && [[ ${i} == "boo ga boo" ]]
tend $?
tbegin "multi push/pop"
estack_push yyy {1..10}
pu=$?
i=0
while estack_pop yyy ; do
: $(( i++ ))
done
[[ ${pu} -eq 0 && ${i} -eq 10 ]]
tend $?
tbegin "umask push/pop"
u0=$(umask)
eumask_push 0000
pu=$?
u1=$(umask)
eumask_pop
po=$?
u2=$(umask)
[[ ${pu}${po}:${u0}:${u1}:${u2} == "00:${u0}:0000:${u0}" ]]
tend $?
texit
1.1 eclass/tests/eutils_evar.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/eutils_evar.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/eutils_evar.sh?rev=1.1&content-type=text/plain
Index: eutils_evar.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit eutils
tbegin "simple push/pop"
VAR=1
evar_push VAR
pu=$?
VAR=2
evar_pop
po=$?
[[ ${pu}${po}${VAR} == "001" ]]
tend $?
tbegin "unset push/pop"
unset VAR
evar_push VAR
pu=$?
VAR=2
evar_pop
po=$?
[[ ${pu}${po}${VAR+set} == "00" ]]
tend $?
tbegin "empty push/pop"
VAR=
evar_push VAR
pu=$?
VAR=2
evar_pop
po=$?
[[ ${pu}${po}${VAR+set}${VAR} == "00set" ]]
tend $?
tbegin "export push/pop"
export VAR=exported
evar_push VAR
pu=$?
VAR=2
evar_pop
po=$?
var=$(bash -c 'echo ${VAR}')
[[ ${pu}${po}${var} == "00exported" ]]
tend $?
tbegin "unexport push/pop"
unset VAR
VAR=not-exported
evar_push VAR
pu=$?
VAR=2
evar_pop
po=$?
var=$(bash -c 'echo ${VAR+set}')
[[ ${pu}${po}${VAR}${var} == "00not-exported" ]]
tend $?
tbegin "multi push/pop"
A=a B=b C=c
evar_push A B C
pu=$?
A=A B=B C=C
evar_pop 1
po1=$?
[[ ${A}${B}${C} == "ABc" ]]
po2=$?
evar_pop 2
po3=$?
var=$(bash -c 'echo ${VAR+set}')
[[ ${pu}${po1}${po2}${po3}${A}${B}${C} == "0000abc" ]]
tend $?
tbegin "simple push_set/pop"
VAR=1
evar_push_set VAR 2
pu=$?
[[ ${VAR} == "2" ]]
po1=$?
evar_pop
po2=$?
[[ ${pu}${po1}${po2}${VAR} == "0001" ]]
tend $?
tbegin "unset push_set/pop"
VAR=1
evar_push_set VAR
pu=$?
[[ ${VAR+set} != "set" ]]
po1=$?
evar_pop
po2=$?
[[ ${pu}${po1}${po2}${VAR} == "0001" ]]
tend $?
texit
1.1 eclass/tests/eutils_path_exists.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/eutils_path_exists.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/eutils_path_exists.sh?rev=1.1&content-type=text/plain
Index: eutils_path_exists.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit eutils
test-path_exists() {
local exp=$1; shift
tbegin "path_exists($*) == ${exp}"
path_exists "$@"
[[ ${exp} -eq $? ]]
tend $?
}
test-path_exists 1
test-path_exists 1 -a
test-path_exists 1 -o
good="/ . tests-common.sh /bin/bash"
test-path_exists 0 ${good}
test-path_exists 0 -a ${good}
test-path_exists 0 -o ${good}
bad="/asjdkfljasdlfkja jlakjdsflkasjdflkasdjflkasdjflaskdjf"
test-path_exists 1 ${bad}
test-path_exists 1 -a ${bad}
test-path_exists 1 -o ${bad}
test-path_exists 1 ${good} ${bad}
test-path_exists 1 -a ${good} ${bad}
test-path_exists 0 -o ${good} ${bad}
texit
1.1 eclass/tests/git-r3_GIT_DIR.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/git-r3_GIT_DIR.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/git-r3_GIT_DIR.sh?rev=1.1&content-type=text/plain
Index: git-r3_GIT_DIR.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit git-r3
testdir=${pkg_root}/git
mkdir "${testdir}" || die "unable to mkdir testdir"
cd "${testdir}" || die "unable to cd to testdir"
EGIT3_STORE_DIR=store
mkdir "${EGIT3_STORE_DIR}" || die "unable to mkdir store"
# Test cleaning up canonical repo URI
test_repouri() {
local uri=${1}
local expect=${2}
local -x GIT_DIR
tbegin "GIT_DIR for ${uri}"
_git-r3_set_gitdir "${uri}" &>/dev/null
local got=${GIT_DIR#${EGIT3_STORE_DIR}/}
[[ ${expect} == ${got} ]]
tend ${?} || eerror "Expected: ${expect}, got: ${got}"
}
test_repouri git://git.overlays.gentoo.org/proj/portage.git proj_portage.git
test_repouri https://git.overlays.gentoo.org/gitroot/proj/portage.git
proj_portage.git
test_repouri git+ssh://[email protected]/proj/portage.git
proj_portage.git
test_repouri git://anongit.freedesktop.org/mesa/mesa mesa_mesa.git
test_repouri ssh://git.freedesktop.org/git/mesa/mesa mesa_mesa.git
test_repouri http://anongit.freedesktop.org/git/mesa/mesa.git mesa_mesa.git
test_repouri http://cgit.freedesktop.org/mesa/mesa/ mesa_mesa.git
test_repouri https://code.google.com/p/snakeoil/ snakeoil.git
test_repouri git://git.code.sf.net/p/xournal/code xournal_code.git
test_repouri http://git.code.sf.net/p/xournal/code xournal_code.git
test_repouri git://git.gnome.org/glibmm glibmm.git
test_repouri https://git.gnome.org/browse/glibmm glibmm.git
test_repouri ssh://[email protected]/git/glibmm glibmm.git
test_repouri git://git.kernel.org/pub/scm/git/git.git git_git.git
test_repouri http://git.kernel.org/pub/scm/git/git.git git_git.git
test_repouri https://git.kernel.org/pub/scm/git/git.git git_git.git
test_repouri https://git.kernel.org/cgit/git/git.git/ git_git.git
#test_repouri [email protected]:gentoo/identity.gentoo.org.git
gentoo_identity.gentoo.org.git
test_repouri https://github.com/gentoo/identity.gentoo.org.git
gentoo_identity.gentoo.org.git
#test_repouri [email protected]:mgorny/python-exec.git mgorny_python-exec.git
test_repouri https://[email protected]/mgorny/python-exec.git
mgorny_python-exec.git
texit
1.1 eclass/tests/git-r3_subrepos.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/git-r3_subrepos.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/git-r3_subrepos.sh?rev=1.1&content-type=text/plain
Index: git-r3_subrepos.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit git-r3
# Test getting submodule URIs
test_subrepos() {
local suburi=${1}
local expect=( "${@:2}" )
tbegin "subrepos for ${suburi} -> ${expect[0]}${expect[1]+...}"
local subrepos
_git-r3_set_subrepos "${suburi}" "${repos[@]}"
[[ ${expect[@]} == ${subrepos[@]} ]]
tend ${?} || eerror "Expected: ${expect[@]}, got: ${subrepos[@]}"
}
# parent repos
repos=( http://foohub/fooman/foo.git git://foohub/fooman/foo.git )
# absolute URI
test_subrepos http://foo/bar http://foo/bar
test_subrepos /foo/bar /foo/bar
# plain relative URI
test_subrepos ./baz http://foohub/fooman/foo.git/baz
git://foohub/fooman/foo.git/baz
# backward relative URIs
test_subrepos ../baz.git http://foohub/fooman/baz.git
git://foohub/fooman/baz.git
test_subrepos ../../bazman/baz.git http://foohub/bazman/baz.git
git://foohub/bazman/baz.git
texit
1.1 eclass/tests/linux-info_get_running_version.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/linux-info_get_running_version.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/linux-info_get_running_version.sh?rev=1.1&content-type=text/plain
Index: linux-info_get_running_version.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit linux-info
test_get_running_version() {
local test_kv=$1 major=$2 minor=$3 patch=$4 extra=$5
tbegin "get_running_version ${test_kv}"
uname() { echo "${test_kv}" ; }
ROOT=/:/:/:/: get_running_version
local r=$?
[[ ${r} -eq 0 &&
${major} == "${KV_MAJOR}" &&
${minor} == "${KV_MINOR}" &&
${patch} == "${KV_PATCH}" &&
${extra} == "${KV_EXTRA}" ]]
tend $? "FAIL: {ret: ${r}==0} {major: ${major}==${KV_MAJOR}} {minor:
${minor}==${KV_MINOR}} {patch: ${patch}==${KV_PATCH}} {extra:
${extra}==${KV_EXTRA}}"
}
tests=(
# KV_FULL MAJOR MINOR PATCH EXTRA
1.2.3 1 2
3 ''
1.2.3.4 1 2
3 .4
1.2.3-ver+1.4 1 2 3
-ver+1.4
1.2-kern.3 1 2
0 -kern.3
1.2+kern.5 1 2
0 +kern.5
1.2.3_blah 1 2
3 _blah
3.2.1-zen-vs2.3.2.5+ 3 2 1
-zen-vs2.3.2.5+
)
for (( i = 0; i < ${#tests[@]}; i += 5 )) ; do
test_get_running_version "${tests[@]:i:5}"
done
texit
1.1 eclass/tests/multiprocessing_makeopts_jobs.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/multiprocessing_makeopts_jobs.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/multiprocessing_makeopts_jobs.sh?rev=1.1&content-type=text/plain
Index: multiprocessing_makeopts_jobs.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit multiprocessing
test-makeopts_jobs() {
local exp=$1; shift
tbegin "makeopts_jobs($*) == ${exp}"
local act=$(makeopts_jobs "$@")
[[ ${act} == "${exp}" ]]
tend $? "Got back: ${act}"
}
tests=(
999 "-j"
999 "--jobs"
1 ""
1 "-l9 -w"
1 "-l9 -w-j4"
1 "-l9--jobs=3"
1 "-l9--jobs=8"
2 "-j2"
3 "-j 3"
4 "-l3 -j 4 -w"
5 "--jobs=5"
6 "--jobs 6"
7 "-l3 --jobs 7 -w"
4 "-j1 -j 2 --jobs 3 --jobs=4"
8 " -j 8 "
)
for (( i = 0; i < ${#tests[@]}; i += 2 )) ; do
test-makeopts_jobs "${tests[i]}" "${tests[i+1]}"
done
texit
1.1 eclass/tests/versionator_version_compare.sh
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/versionator_version_compare.sh?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/tests/versionator_version_compare.sh?rev=1.1&content-type=text/plain
Index: versionator_version_compare.sh
===================================================================
#!/bin/bash
source tests-common.sh
inherit versionator
eshopts_push -s extglob
ver=( "" "lt" "eq" "gt" )
lt=1 eq=2 gt=3
test_version_compare() {
tbegin "version_compare ${1} -${ver[${2}]} ${3}"
version_compare "${1}" "${3}"
local r=$?
[[ ${r} -eq ${2} ]]
tend $? "FAIL: ${@} (got ${r} exp ${2})"
}
echo "
0 $lt 1
1 $lt 2
2 $gt 1
2 $eq 2
0 $eq 0
10 $lt 20
68 $eq 068
068 $gt 67
068 $lt 69
1.0 $lt 2.0
2.0 $eq 2.0
2.0 $gt 1.0
1.0 $gt 0.0
0.0 $eq 0.0
0.0 $lt 1.0
0.1 $lt 0.2
0.2 $eq 0.2
0.3 $gt 0.2
1.2 $lt 2.1
2.1 $gt 1.2
1.2.3 $lt 1.2.4
1.2.4 $gt 1.2.3
1.2.0 $gt 1.2
1.2.1 $gt 1.2
1.2 $lt 1.2.1
1.2b $eq 1.2b
1.2b $lt 1.2c
1.2b $gt 1.2a
1.2b $gt 1.2
1.2 $lt 1.2a
1.3 $gt 1.2a
1.3 $lt 1.3a
1.0_alpha7 $lt 1.0_beta7
1.0_beta $lt 1.0_pre
1.0_pre5 $lt 1.0_rc2
1.0_rc2 $lt 1.0
1.0_p1 $gt 1.0
1.0_p1-r1 $gt 1.0_p1
1.0_alpha6-r1 $gt 1.0_alpha6
1.0_beta6-r1 $gt 1.0_alpha6-r2
1.0_pre1 $lt 1.0_p1
1.0p $gt 1.0_p1
1.0r $gt 1.0-r1
1.6.15 $gt 1.6.10-r2
1.6.10-r2 $lt 1.6.15
" | while read a b c ; do
[[ -z "${a}${b}${c}" ]] && continue
test_version_compare "${a}" "${b}" "${c}"
done
for q in "alpha beta pre rc=${lt};${gt}" "p=${gt};${lt}" ; do
for p in ${q%%=*} ; do
c=${q##*=}
alt=${c%%;*} agt=${c##*;}
test_version_compare "1.0" $agt "1.0_${p}"
test_version_compare "1.0" $agt "1.0_${p}1"
test_version_compare "1.0" $agt "1.0_${p}068"
test_version_compare "2.0_${p}" $alt "2.0"
test_version_compare "2.0_${p}1" $alt "2.0"
test_version_compare "2.0_${p}068" $alt "2.0"
test_version_compare "1.0_${p}" $eq "1.0_${p}"
test_version_compare "0.0_${p}" $lt "0.0_${p}1"
test_version_compare "666_${p}3" $gt "666_${p}"
test_version_compare "1_${p}7" $lt "1_${p}8"
test_version_compare "1_${p}7" $eq "1_${p}7"
test_version_compare "1_${p}7" $gt "1_${p}6"
test_version_compare "1_${p}09" $eq "1_${p}9"
test_version_compare "1_${p}7-r0" $eq "1_${p}7"
test_version_compare "1_${p}7-r0" $lt "1_${p}7-r1"
test_version_compare "1_${p}7-r0" $lt "1_${p}7-r01"
test_version_compare "1_${p}7-r01" $eq "1_${p}7-r1"
test_version_compare "1_${p}8-r1" $gt "1_${p}7-r100"
test_version_compare "1_${p}_alpha" $lt "1_${p}_beta"
done
done
for p in "-r" "_p" ; do
test_version_compare "7.2${p}1" $lt "7.2${p}2"
test_version_compare "7.2${p}2" $gt "7.2${p}1"
test_version_compare "7.2${p}3" $gt "7.2${p}2"
test_version_compare "7.2${p}2" $lt "7.2${p}3"
done
# The following tests all come from portage's test cases:
test_version_compare "6.0" $gt "5.0"
test_version_compare "5.0" $gt "5"
test_version_compare "1.0-r1" $gt "1.0-r0"
test_version_compare "1.0-r1" $gt "1.0"
test_version_compare "999999999999999999999999999999" $gt
"999999999999999999999999999998"
test_version_compare "1.0.0" $gt "1.0"
test_version_compare "1.0.0" $gt "1.0b"
test_version_compare "1b" $gt "1"
test_version_compare "1b_p1" $gt "1_p1"
test_version_compare "1.1b" $gt "1.1"
test_version_compare "12.2.5" $gt "12.2b"
test_version_compare "4.0" $lt "5.0"
test_version_compare "5" $lt "5.0"
test_version_compare "1.0_pre2" $lt "1.0_p2"
test_version_compare "1.0_alpha2" $lt "1.0_p2"
test_version_compare "1.0_alpha1" $lt "1.0_beta1"
test_version_compare "1.0_beta3" $lt "1.0_rc3"
test_version_compare "1.001000000000000000001" $lt "1.001000000000000000002"
test_version_compare "1.00100000000" $lt "1.0010000000000000001"
test_version_compare "999999999999999999999999999998" $lt
"999999999999999999999999999999"
test_version_compare "1.01" $lt "1.1"
test_version_compare "1.0-r0" $lt "1.0-r1"
test_version_compare "1.0" $lt "1.0-r1"
test_version_compare "1.0" $lt "1.0.0"
test_version_compare "1.0b" $lt "1.0.0"
test_version_compare "1_p1" $lt "1b_p1"
test_version_compare "1" $lt "1b"
test_version_compare "1.1" $lt "1.1b"
test_version_compare "12.2b" $lt "12.2.5"
test_version_compare "4.0" $eq "4.0"
test_version_compare "1.0" $eq "1.0"
test_version_compare "1.0-r0" $eq "1.0"
test_version_compare "1.0" $eq "1.0-r0"
test_version_compare "1.0-r0" $eq "1.0-r0"
test_version_compare "1.0-r1" $eq "1.0-r1"
# The following were just tests for != in portage, we need something a bit
# more precise
test_version_compare "1" $lt "2"
test_version_compare "1.0_alpha" $lt "1.0_pre"
test_version_compare "1.0_beta" $gt "1.0_alpha"
test_version_compare "0" $lt "0.0"
test_version_compare "1.0-r0" $lt "1.0-r1"
test_version_compare "1.0-r1" $gt "1.0-r0"
test_version_compare "1.0" $lt "1.0-r1"
test_version_compare "1.0-r1" $gt "1.0"
test_version_compare "1_p1" $lt "1b_p1"
test_version_compare "1b" $gt "1"
test_version_compare "1.1b" $gt "1.1"
test_version_compare "12.2b" $gt "12.2"
# The following tests all come from paludis's test cases:
test_version_compare "1.0" $gt "1"
test_version_compare "1" $lt "1.0"
test_version_compare "1.0_alpha" $gt "1_alpha"
test_version_compare "1.0_alpha" $gt "1"
test_version_compare "1.0_alpha" $lt "1.0"
test_version_compare "1.2.0.0_alpha7-r4" $gt "1.2_alpha7-r4"
test_version_compare "0001" $eq "1"
test_version_compare "01" $eq "001"
test_version_compare "0001.1" $eq "1.1"
test_version_compare "01.01" $eq "1.01"
test_version_compare "1.010" $eq "1.01"
test_version_compare "1.00" $eq "1.0"
test_version_compare "1.0100" $eq "1.010"
test_version_compare "1" $eq "1-r0"
test_version_compare "1-r00" $eq "1-r0"
eshopts_pop
texit