On Tue, Oct 17, 2017 at 08:03:56PM -0500, Eric Blake wrote: > On 10/17/2017 11:31 AM, Jeff Cody wrote: > > Currently, not all qemu-iotests work if TEST_DIR has spaces, and they > > also might not be safe. Refuse to run if TEST_DIR in this case, at > > least until all tests are fixed sometime in the future. > > > > Signed-off-by: Jeff Cody <jc...@redhat.com> > > --- > > tests/qemu-iotests/check | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check > > index e6b6ff7..e2163cc 100755 > > --- a/tests/qemu-iotests/check > > +++ b/tests/qemu-iotests/check > > @@ -102,6 +102,14 @@ if [ -z "$TEST_DIR" ]; then > > TEST_DIR=`pwd`/scratch > > fi > > > > +case $TEST_DIR in > > + *[[:blank:]]*) > > + echo "The TEST_DIR pathname '$TEST_DIR' contains whitespace. " > > Echoes a trailing space. Do we care? >
Heh, spurious whitespcae, a bit ironic, I suppose... Might as well take care of it with a v6, along with expanding the tests as you hint at below. > > + echo "This is currently unsupported by qemu-iotests" > > Is it just whitespace, or should we also be wary of other shell > metacharacters (such as quotes or glob characters)? In test 197, I did > an alternative check for anything that is not alphanumeric, -, or _ (and > allowing / between names). I know that '-' works, because for years my work directory has been called "qemu-kvm". I'm not sure about globbing characters like *, or quotes, but probably not a bad idea to exclude them as well (although, someone that uses '*' in their directory names is probably no stranger to data catastrophe!). > > > + exit 1 > > + ;; > > +esac > > + > > if [ ! -e "$TEST_DIR" ]; then > > mkdir "$TEST_DIR" > > fi > > > > -- > Eric Blake, Principal Software Engineer > Red Hat, Inc. +1-919-301-3266 > Virtualization: qemu.org | libvirt.org >