#!/usr/bin/env bash # # This test covers expected filetypes for the file, host_cdrom and # host_device drivers. # # Copyright (C) 2018 Red Hat, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # creator owner=jsnow@redhat.com seq=`basename $0` echo "QA output created by $seq" status=1 # failure is the default! _cleanup() { rmdir "$TEST_IMG" } trap "_cleanup; exit \$status" 0 1 2 3 15 # get standard environment, filters and checks . ./common.rc . ./common.filter . ./common.pattern # Generic format, but tests file-protocol specific error handling _supported_fmt generic if [ "$IMGOPTSSYNTAX" = "true" ]; then _unsupported_fmt $IMGFMT fi _supported_proto file _supported_os Linux # Create something decidedly not a file, blockdev or chardev... mkdir "$TEST_IMG" for PROTO in "file" "host_device" "host_cdrom"; do echo echo "=== Testing with driver:$PROTO ===" echo echo "== Testing RO ==" $QEMU_IO -c "open -r -o driver=$PROTO,filename=$TEST_IMG" 2>&1 | _filter_testdir | _filter_imgfmt $QEMU_IO -c "open -r -o driver=$PROTO,filename=/dev/null,locking=off" 2>&1 | _filter_imgfmt echo "== Testing RW ==" $QEMU_IO -c "open -o driver=$PROTO,filename=$TEST_IMG" 2>&1 | _filter_testdir | _filter_imgfmt $QEMU_IO -c "open -o driver=$PROTO,filename=/dev/null,locking=off" 2>&1 | _filter_imgfmt done # success, all done echo echo "*** done" rm -f $seq.full status=0