From 9b77b2a360b512a56d061d9e699697797f29e046 Mon Sep 17 00:00:00 2001 From: deadc0de6 Date: Sat, 16 Oct 2021 17:18:14 +0200 Subject: [PATCH] add tests-ng --- tests-ng/update.sh | 72 ++++++++++++++++++++++++++++++++++++++++++++++ tests.sh | 7 +++++ 2 files changed, 79 insertions(+) create mode 100755 tests-ng/update.sh diff --git a/tests-ng/update.sh b/tests-ng/update.sh new file mode 100755 index 0000000..2d968f6 --- /dev/null +++ b/tests-ng/update.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +# author: deadc0de6 (https://github.com/deadc0de6) +# Copyright (c) 2021, deadc0de6 + +cur=$(dirname "$(readlink -f "${0}")") +cwd=`pwd` + +# pivot +cd ${cur}/../ +python3 -m catcli.catcli --version + +########################################################## +# the test +########################################################## + +# create temp dirs +tmpd=`mktemp -d` +tmpu=`mktemp -d -p ${cur}` + +# setup cleaning +clean() { + # clean + rm -rf ${tmpd} ${tmpu} +} +trap clean EXIT + +catalog="${tmpd}/catalog" + +mkdir -p ${tmpd}/dir +echo "abc" > ${tmpd}/dir/a + +# index +python3 -m catcli.catcli -B index --catalog=${catalog} dir ${tmpd}/dir +python3 -m catcli.catcli -B ls --catalog=${catalog} dir + +# get attributes +freeb=`python3 -m catcli.catcli -B ls --catalog=${catalog} dir | grep free: | sed 's/^.*,free:\([^ ]*\).*$/\1/g'` +dub=`python3 -m catcli.catcli -B ls --catalog=${catalog} dir | grep du: | sed 's/^.*,du:\([^ ]*\).*$/\1/g'` +dateb=`python3 -m catcli.catcli -B ls --catalog=${catalog} dir | grep date: | sed 's/^.*,date: \(.*\)$/\1/g'` +echo "before: free:${freeb} | du:${dub} | date:${dateb}" + +# change content +echo "abc" >> ${tmpd}/dir/a +echo "abc" > ${tmpd}/dir/b + +# move dir +cp -r ${tmpd}/dir ${tmpu}/ + +# sleep to force date change +sleep 1 + +# update +python3 -m catcli.catcli -B update -f --catalog=${catalog} dir ${tmpu}/dir +python3 -m catcli.catcli -B ls --catalog=${catalog} dir + +# get new attributes +freea=`python3 -m catcli.catcli -B ls --catalog=${catalog} dir | grep free: | sed 's/^.*,free:\([^ ]*\).*$/\1/g'` +dua=`python3 -m catcli.catcli -B ls --catalog=${catalog} dir | grep du: | sed 's/^.*,du:\([^ ]*\).*$/\1/g'` +datea=`python3 -m catcli.catcli -B ls --catalog=${catalog} dir | grep date: | sed 's/^.*,date: \(.*\)$/\1/g'` +echo "after: free:${freea} | du:${dua} | date:${datea}" + +# test they are all different +[ "${freeb}" = "${freea}" ] && echo "free didn't change!" && exit 1 +[ "${dub}" = "${dua}" ] && echo "du didn't change!" && exit 1 +[ "${dateb}" = "${datea}" ] && echo "date didn't change!" && exit 1 + +# pivot back +cd ${cwd} + +# the end +echo "test \"`basename $0`\" success" +exit 0 diff --git a/tests.sh b/tests.sh index 4ad3b83..e9cbf44 100755 --- a/tests.sh +++ b/tests.sh @@ -2,6 +2,8 @@ # author: deadc0de6 (https://github.com/deadc0de6) # Copyright (c) 2017, deadc0de6 +cur=$(dirname "$(readlink -f "${0}")") + # stop on first error set -ev @@ -13,3 +15,8 @@ pyflakes tests/ PYTHONPATH=catcli python3 -m nose -s --with-coverage --cover-package=catcli #PYTHONPATH=catcli python3 -m nose -s + +for t in ${cur}/tests-ng/*; do + echo "running test \"`basename ${t}`\"" + ${t} +done