X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=t%2Finstall.t;h=e9c05aa18d1e94de73580fd07cb81c595b42a4f0;hb=86d735d52280359df4896d5c542ddfbe33d8df7b;hp=8f6d642ffe775454f5902b8b3beda61d5ce9f29f;hpb=82ee9169bd30a98eda9e79e3bf914d8d068c8fbb;p=zpackage diff --git a/t/install.t b/t/install.t index 8f6d642..e9c05aa 100755 --- a/t/install.t +++ b/t/install.t @@ -6,7 +6,10 @@ . tap.sh -plan 53 +plan 67 + +owner=$(id -un) +group=$(id -gn) newpkg() { pkgid=$1 @@ -15,7 +18,7 @@ newpkg() { tryrun zpm newpackage -f $pkgid.zpm $pkgid if [ $? -eq 0 ]; then shift - tryrun zpm add -f $pkgid.zpm $pkgid "$@" + tryrun zpm add -u $owner -g $group -f $pkgid.zpm -p $pkgid "$@" return $? else skip 1 not adding files init failed @@ -50,13 +53,13 @@ PF=$pkgid.zpm #require zpm init $PF #require zpm newpackage -f $PF $pkgid -#require zpm add -f $PF $pkgid /bin/true +#require zpm add -f $PF -p $pkgid /bin/true # # install via syncfs # require zpm pkg -f $PF $pkgid status=installing -zpm syncfs -d $PF -R. $pkgid 2>&1 +zpm syncfs -d $PF -R. $pkgid 2>&1 | diagstdin okexit ran syncfs test -f bin/true @@ -75,7 +78,7 @@ require rm -rf bin # TODO should probably have merge set the status to merged by default require zpm init local.db -zpm install -R. -d local.db -f $PF $pkgid +zpm install -R. -d local.db -f $PF $pkgid 2>&1 | diagstdin #zpm list -f local.db -v | diagstdin okexit installed ns=$(zpm pkg -f local.db $pkgid status) @@ -94,7 +97,7 @@ newver=$(zpm pkg -f $PF itest version) okstreq "$newver" "2.0" "have updated version" rm -f test.out -tryrun zpm add -v -f $PF itest /bin/false +tryrun zpm add -f $PF -p itest /bin/false if [ $? -ne 0 ]; then diag h2 cat test.out | diagstdin @@ -102,7 +105,7 @@ if [ $? -ne 0 ]; then bailout add failed fi -zpm install -R. -d local.db -f $PF itest-2.0-1 +zpm install -R. -d local.db -f $PF itest-2.0-1 2>&1 | diagstdin okexit installed if [ $? -ne 0 ]; then cat test.out | diagstdin @@ -124,7 +127,7 @@ pkgid=itest-3.0-1 newpkg $pkgid /bin/true okexit setup package $pkgid PF=$pkgid.zpm -zpm install -R. -d local.db -f $PF $pkgid | diagstdin +zpm install -R. -d local.db -f $PF $pkgid 2>&1 | diagstdin okexit upgraded to $pkgid ns=$(zpm pkg -f local.db $pkgid status) @@ -142,10 +145,27 @@ newpkg $pkgid bin/sh okexit setup package $pkgid require rm bin/sh PF=$pkgid.zpm -zpm install -v -R. -d local.db -f $PF $pkgid | diagstdin +zpm install -R. -d local.db -f $PF $pkgid 2>&1 | diagstdin okexit installed $pkgid oktest -f bin/sh +# +# update a file +# +ohash=$(zpm hash bin/true) +require mv bin/true bin/save +require sh -c 'echo false > bin/true' +nhash=$(zpm hash bin/true) +pkgid=itest-4.0-1 +newpkg $pkgid bin/true +okexit setup package $pkgid +require mv bin/save bin/true +PF=$pkgid.zpm +zpm install -R. -d local.db -f $PF $pkgid 2>&1 | diagstdin +okexit installed $pkgid +rhash=$(zpm hash bin/true) +okstreq "$rhash" "$nhash" "updated bin/true" + skiponfail() { rv=$? if [ $rv -ne 0 ]; then @@ -162,7 +182,7 @@ pkgid=third-1.0-1 PF=$pkgid.zpm newpkg $pkgid /bin/echo skiponfail 3 "can't create $pkgid" || { - zpm setscript -f $PF $pkgid pre-install /bin/true + zpm script -s -f $PF -p pre-install $pkgid /bin/true okexit "add true pre-install script to $pkgid" skiponfail 2 "can't set $pkgid pre-install script" || { tryrun zpm install -v -R. -d local.db -f $PF $pkgid @@ -176,9 +196,9 @@ skiponfail 3 "can't create $pkgid" || { # pkgid=fourth-1.0-1 PF=$pkgid.zpm -newpkg $pkgid /bin/printf +newpkg $pkgid /bin/head skiponfail 3 "can't create $pkgid" || { - zpm setscript -f $PF $pkgid pre-install /bin/false + zpm script -s -f $PF -p pre-install $pkgid /bin/false okexit "add false pre-install script to $pkgid" skiponfail 1 "can't set $pkgid pre-install script" || { zpm install -R. -d local.db -f $PF $pkgid 2>/dev/null @@ -190,6 +210,15 @@ tryrun zpm uninstall -R. -d local.db third-1.0-1 test -f bin/echo failsok bin/echo removed +pkgid=fifth-1.0-1 +PF=$pkgid.zpm +newpkg $pkgid /bin/head +#zpm list -f $PF 2>&1 | diagstdin +skiponfail 1 "can't create $pkgid" || { + tryrun zpm install -R. -d local.db -f $PF 2>/dev/null + okexit "install with implicit package id" +} + cd .. || bailout require rm -rf tmp