1
1
#! /bin/bash
2
2
3
- INGEST_SCRIPT=$( dirname " $( realpath $0 ) " ) /ingest-tarball.sh
4
- TEST_OUTPUT=/dev/null # change to /dev/stdout to print test outputs for debugging purposes
5
-
6
3
# Temporary base dir for the tests
7
4
tstdir=$( mktemp -d)
8
5
6
+ # let ingest-tarball.sh script not use /cvmfs, but a temporary directory we can create
7
+ export CUSTOM_CVMFS_ROOT=${tstdir} /cvmfs
8
+
9
+ INGEST_SCRIPT=$( dirname " $( realpath $0 ) " ) /ingest-tarball.sh
10
+ TEST_OUTPUT=${tstdir} /out.txt
11
+
9
12
# Statistics
10
13
num_tests=0
11
14
num_tests_failed=0
@@ -87,15 +90,30 @@ tarballs_fail=(
87
90
" $tstdir /eessi-2000.01-compat-123456.tar.gz 2000.01 compat"
88
91
)
89
92
93
+ # update_lmod_caches.sh script requires that directory exists,
94
+ # and that script to update Lmod cache is found in there
95
+ repo_version_root=" ${CUSTOM_CVMFS_ROOT} /my.repo.tld/versions/2000.01"
96
+ lmod_libexec_path=" ${repo_version_root} /compat/linux/$( uname -m) /usr/share/Lmod/libexec/"
97
+ mkdir -p " ${lmod_libexec_path} "
98
+ lmod_update_script=" ${lmod_libexec_path} /update_lmod_system_cache_files"
99
+ touch " ${lmod_update_script} "
100
+ chmod u+x " ${lmod_update_script} "
101
+
102
+
90
103
# Run the tests that should succeed
91
104
for (( i = 0 ; i < ${# tarballs_success[@]} ; i++ )) ; do
92
105
t=$( create_tarball ${tarballs_success[$i]} )
93
106
" ${INGEST_SCRIPT} " " my.repo.tld" " $t " >& " ${TEST_OUTPUT} "
94
107
if [ ! $? -eq 0 ]; then
108
+ echo " >> ${tarballs_success[$i]} test with existing repo FAILed!" >&2
109
+ echo " >> output:" >&2
110
+ cat " ${TEST_OUTPUT} " >&2
111
+ echo >&2
95
112
num_tests_failed=$(( num_tests_failed + 1 ))
96
113
else
97
114
num_tests_succeeded=$(( num_tests_succeeded + 1 ))
98
115
fi
116
+ rm -f " ${TEST_OUTPUT} "
99
117
num_tests=$(( num_tests + 1 ))
100
118
done
101
119
@@ -104,10 +122,15 @@ for ((i = 0; i < ${#tarballs_fail[@]}; i++)); do
104
122
t=$( create_tarball ${tarballs_fail[$i]} )
105
123
" ${INGEST_SCRIPT} " " my.repo.tld" " $t " >& " ${TEST_OUTPUT} "
106
124
if [ ! $? -eq 1 ]; then
125
+ echo " >> ${tarballs_fail[$i]} test passed, but should have failed!" >&2
126
+ echo " >> output:" >&2
127
+ cat " ${TEST_OUTPUT} " >&2
128
+ echo >&2
107
129
num_tests_failed=$(( num_tests_failed + 1 ))
108
130
else
109
131
num_tests_succeeded=$(( num_tests_succeeded + 1 ))
110
132
fi
133
+ rm -f " ${TEST_OUTPUT} "
111
134
num_tests=$(( num_tests + 1 ))
112
135
done
113
136
@@ -116,10 +139,15 @@ for ((i = 0; i < ${#tarballs_success[@]}; i++)); do
116
139
t=$( create_tarball ${tarballs_success[$i]} )
117
140
" ${INGEST_SCRIPT} " " my.nonexistingrepo.tld" " $t " >& " ${TEST_OUTPUT} "
118
141
if [ ! $? -eq 1 ]; then
142
+ echo " >> ${tarballs_success[$i]} test passed with non-existing repo, should have failed!" >&2
143
+ echo " >> output:" >&2
144
+ cat " ${TEST_OUTPUT} " >&2
145
+ echo >&2
119
146
num_tests_failed=$(( num_tests_failed + 1 ))
120
147
else
121
148
num_tests_succeeded=$(( num_tests_succeeded + 1 ))
122
149
fi
150
+ rm -f " ${TEST_OUTPUT} "
123
151
num_tests=$(( num_tests + 1 ))
124
152
done
125
153
0 commit comments