# HG changeset patch # User Aleksej Bobylev # Date 1449324854 -7200 # Node ID 70ac720dba11d25c9243acf27fbfcd62479a0907 # Parent f9b5a4545fff6ff5f749bc69fdc706106b44b7d1 Module 'check': fix to work with $root; start to add tests diff -r f9b5a4545fff -r 70ac720dba11 modules/check --- a/modules/check Fri Dec 04 13:19:16 2015 +0100 +++ b/modules/check Sat Dec 05 16:14:14 2015 +0200 @@ -107,8 +107,8 @@ MSG="$(_n 'Files lost from package:')\n" while read file; do - [ -e "$file" ] && continue - if [ -L "$file" ]; then + [ -e "$root$file" ] && continue + if [ -L "$root$file" ]; then MSG="$MSG $(_n 'target of symlink')" fi print_pkgname diff -r f9b5a4545fff -r 70ac720dba11 tests/test01 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test01 Sat Dec 05 16:14:14 2015 +0200 @@ -0,0 +1,68 @@ +#!/bin/sh +# +. /lib/libtaz.sh +check_root +ROOT='/tmp/test' + +title 'Test #01' +colorize 033 "$(longline "Check that tazpkg created all the base files and folders needed from \ +scratch. Working in the folder $ROOT")" +newline + +[ -d "$ROOT" ] && rm -rf "$ROOT" + +######## +tazpkg --root=$ROOT +######## + +dirnum=$(find "$ROOT" -type d | wc -l) +if [ "$dirnum" -ne 11 ]; then + colorize 35 "WARNING. Expected 11 folders; found $dirnum" + WARNING=1 +fi + +filenum=$(find "$ROOT" -type f | wc -l) +if [ "$filenum" -ne 21 ]; then + colorize 35 "WARNING. Expected 21 files; found $filenum" + WARNING=1 +fi + +for dir in /etc/slitaz /var/cache/tazpkg /var/lib/tazpkg/installed /var/log/slitaz; do + if [ ! -d "$ROOT$dir" ]; then + colorize 31 "ERROR. Folder $dir absent. Exit test" + exit 1 + fi +done + +for file in \ + /etc/slitaz-release \ + /etc/slitaz/slitaz.conf \ + /etc/slitaz/tazpkg.conf \ + /var/lib/tazpkg/mirrors \ + /var/lib/tazpkg/packages.info \ + /var/lib/tazpkg/descriptions.txt \ + /var/lib/tazpkg/packages.equiv \ + /var/lib/tazpkg/extra.list \ + /var/lib/tazpkg/packages.list \ + /var/lib/tazpkg/ID \ + /var/lib/tazpkg/files.list.lzma \ + /var/lib/tazpkg/files-list.md5 \ + /var/lib/tazpkg/packages.up \ + /var/lib/tazpkg/packages.txt \ + /var/lib/tazpkg/packages.md5 \ + /var/lib/tazpkg/mirror \ + /var/lib/tazpkg/blocked-packages.list \ + /var/lib/tazpkg/packages.desc \ + /var/lib/tazpkg/installed.info \ + /var/lib/tazpkg/IDs \ + /var/log/slitaz/tazpkg.log +do + if [ ! -f "$ROOT$file" ]; then + colorize 31 "ERROR. File $file absent. Exit test" + exit 1 + fi +done + +[ -n "$WARNING" ] && warning='(with warnings)' +footer "$(colorize 32 "Test #01 passed $warning")" +exit 0 diff -r f9b5a4545fff -r 70ac720dba11 tests/test02 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test02 Sat Dec 05 16:14:14 2015 +0200 @@ -0,0 +1,22 @@ +#!/bin/sh +# +. /lib/libtaz.sh +check_root +ROOT='/tmp/test' + +title 'Test #02' +colorize 033 "$(longline "Install package without dependencies.")" +newline + +######## +tazpkg --root=$ROOT --nodeps -gi nano +######## + +installed="$(ls $ROOT/var/lib/tazpkg/installed)" +if [ "$installed" != 'nano' ]; then + colorize 31 "ERROR. Expected package 'nano' installed. Given: '$installed' Exit test" + exit 1 +fi + +footer "$(colorize 32 'Test #02 passed')" +exit 0 diff -r f9b5a4545fff -r 70ac720dba11 tests/test03 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test03 Sat Dec 05 16:14:14 2015 +0200 @@ -0,0 +1,23 @@ +#!/bin/sh +# +. /lib/libtaz.sh +check_root +ROOT='/tmp/test' + +title 'Test #03' +colorize 033 "$(longline "Don't install already installed package without --forced option.")" +newline + +######## +tazpkg --root=$ROOT --nodeps -gi nano 2>&1 | tee /tmp/test1 +######## + +if ! fgrep -q -e '--forced' /tmp/test1; then + colorize 31 "ERROR. TazPkg should write warning. Exit test" + rm /tmp/test1 + exit 1 +fi +rm /tmp/test1 + +footer "$(colorize 32 'Test #03 passed')" +exit 0 diff -r f9b5a4545fff -r 70ac720dba11 tests/test04 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test04 Sat Dec 05 16:14:14 2015 +0200 @@ -0,0 +1,22 @@ +#!/bin/sh +# +. /lib/libtaz.sh +check_root +ROOT='/tmp/test' + +title 'Test #04' +colorize 033 "$(longline "Remove package.")" +newline + +######## +echo y | tazpkg --root=$ROOT -r nano +######## + +installed="$(ls $ROOT/var/lib/tazpkg/installed)" +if [ -n "$installed" ]; then + colorize 31 "ERROR. Expected package 'nano' removed. Given: '$installed' Exit test" + exit 1 +fi + +footer "$(colorize 32 'Test #04 passed')" +exit 0 diff -r f9b5a4545fff -r 70ac720dba11 tests/test05 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test05 Sat Dec 05 16:14:14 2015 +0200 @@ -0,0 +1,25 @@ +#!/bin/sh +# +. /lib/libtaz.sh +check_root +ROOT='/tmp/test' + +title 'Test #05' +colorize 033 "$(longline "Test equivalent package rule")" +newline + +######## +tazpkg --root=$ROOT --nodeps -gi pam +tazpkg --root=$ROOT --nodeps -gi dropbear +tazpkg --root=$ROOT -l +######## + +installeddropbear="$(ls $ROOT/var/lib/tazpkg/installed | fgrep dropbear)" + +if [ "$installeddropbear" != 'dropbear-pam' ]; then + colorize 31 "ERROR. Expected package 'dropbear-pam' installed. Given: '$installeddropbear' Exit test" + exit 1 +fi + +footer "$(colorize 32 'Test #05 passed')" +exit 0 diff -r f9b5a4545fff -r 70ac720dba11 tests/testsuite --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/testsuite Sat Dec 05 16:14:14 2015 +0200 @@ -0,0 +1,12 @@ +#!/bin/sh +# +. /lib/libtaz.sh +check_root + +for test in $(find . -name 'test[0-9]*' | sort); do + $test +done + +footer "$(colorize 32 'All tests passed')" +rm -rf /tmp/test +exit 0