mirror of https://github.com/deadc0de6/catcli
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.1 KiB
Bash
74 lines
2.1 KiB
Bash
#!/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="${tmpd}/dir2"
|
|
mkdir -p ${tmpu}
|
|
|
|
# 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 "WARNING free didn't change!"
|
|
[ "${dub}" = "${dua}" ] && echo "WARNING du didn't change!"
|
|
[ "${dateb}" = "${datea}" ] && echo "date didn't change!" && exit 1
|
|
|
|
# pivot back
|
|
cd ${cwd}
|
|
|
|
# the end
|
|
echo "test \"`basename $0`\" success"
|
|
exit 0
|