On 11/15/2010 12:40 PM, Stefan Berger wrote:
v2:
- following Eric's suggestions from review of v1
- runs with ksh shell as well
- [ $((flags & FLAG_LIBVIRT_TEST)) -ne 0 ] && \
- test_result $((passctr+failctr)) "" 1
- [ $((flags & FLAG_TAP_TEST)) -ne 0 ] && \
- tap_fail $((passctr+failctr)) "${xmlfile} : ${cmd}"
+ [ $(($flags & $FLAG_LIBVIRT_TEST)) -ne 0 ] && \
+ test_result $(($passctr + $failctr)) "" 1
+ [ $(($flags & FLAG_TAP_TEST)) -ne 0 ] && \
Missed one. This should be $FLAG_TAP_TEST
test_intro $this_test
- popd > /dev/null
+ cd "${curdir}"
+ [ $? -ne 0 ] && echo "cd failed" && exit 1
Here, you want to exit unconditionally if cd failed.
cd "${curdir}" || { echo "cd failed" >&2; exit 1; }
skip=0
if [ "x${skipregex}x" != "xx" ]; then
- skip=`echo ${cmd} | grep -c -E ${skipregex}`
+ skip=`printf %s\\n ${cmd} | grep -c -E ${skipregex}`
As long as you're touching this line, prefer $() over ``.
@@ -486,34 +486,32 @@ function deleteTestFilter() {
}
-function main() {
- local prgname="$0"
- local vm1 vm2
- local xmldir="nwfilterxml2xmlin"
- local fwalldir="nwfilterxml2fwallout"
- local found=0 vms res
- local filtername="tck-testcase"
- local libvirtdpid=-1
- local flags OPWD
+main() {
+ prgname="$0"
Using $0 fails inside of some zsh versions (where it used to name the
function, rather than being global to the shell script); but that's
probably irrelevant to this exercise (I don't know of any Linux versions
that use zsh as /bin/sh, although it has happened on some BSD variants;
and modern zsh has fixed that bug). At any rate, if it bothers you, the
workaround is to copy $0 to a global variable at the beginning of the
script, rather than assigning prgname inside of every function that
cares about the global state of $0.
At any rate, given your testing with dash and ksh, and the minor nature
of my nits, feel free to push one you've fixed those without needing to
send a v3.
ACK.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org