You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.4 KiB
77 lines
1.4 KiB
#!/bin/bash
|
|
|
|
source tests-common.sh
|
|
|
|
inherit savedconfig
|
|
|
|
quiet() {
|
|
local out ret
|
|
out=$("$@" 2>&1)
|
|
ret=$?
|
|
[[ ${ret} -eq 0 ]] || echo "${out}"
|
|
return ${ret}
|
|
}
|
|
sc() { EBUILD_PHASE=install quiet save_config "$@" ; }
|
|
rc() { EBUILD_PHASE=prepare quiet restore_config "$@" ; }
|
|
|
|
cleanup() { rm -rf "${ED}"/* "${T}"/* "${WORKDIR}"/* ; }
|
|
test-it() {
|
|
local ret=0
|
|
tbegin "$@"
|
|
mkdir -p "${ED}"/etc/portage/savedconfig
|
|
: $(( ret |= $? ))
|
|
pushd "${WORKDIR}" >/dev/null
|
|
: $(( ret |= $? ))
|
|
test
|
|
: $(( ret |= $? ))
|
|
popd >/dev/null
|
|
: $(( ret |= $? ))
|
|
tend ${ret}
|
|
cleanup
|
|
}
|
|
|
|
test() {
|
|
touch f || return 1
|
|
sc f || return 1
|
|
[[ -f ${ED}/etc/portage/savedconfig/${CATEGORY}/${PF} ]]
|
|
}
|
|
test-it "simple save_config"
|
|
|
|
test() {
|
|
touch a b c || return 1
|
|
sc a b c || return 1
|
|
[[ -d ${ED}/etc/portage/savedconfig/${CATEGORY}/${PF} ]]
|
|
}
|
|
test-it "multi save_config"
|
|
|
|
test() {
|
|
mkdir dir || return 1
|
|
touch dir/{a,b,c} || return 1
|
|
sc dir || return 1
|
|
[[ -d ${ED}/etc/portage/savedconfig/${CATEGORY}/${PF} ]]
|
|
}
|
|
test-it "dir save_config"
|
|
|
|
PORTAGE_CONFIGROOT=${D}
|
|
|
|
test() {
|
|
echo "ggg" > f || return 1
|
|
rc f || return 1
|
|
[[ $(<f) == "ggg" ]]
|
|
}
|
|
test-it "simple restore_config"
|
|
|
|
test() {
|
|
echo "ggg" > f || return 1
|
|
rc f || return 1
|
|
[[ $(<f) == "ggg" ]] || return 1
|
|
sc f || return 1
|
|
|
|
echo "hhh" > f || return 1
|
|
rc f || return 1
|
|
[[ $(<f) == "ggg" ]]
|
|
}
|
|
test-it "simple restore+save config"
|
|
|
|
texit
|