1*2d4cb49dSJohn Snow#!/bin/bash 2*2d4cb49dSJohn Snow# 3*2d4cb49dSJohn Snow# This test covers expected filetypes for the file, host_cdrom and 4*2d4cb49dSJohn Snow# host_device drivers. 5*2d4cb49dSJohn Snow# 6*2d4cb49dSJohn Snow# Copyright (C) 2018 Red Hat, Inc. 7*2d4cb49dSJohn Snow# 8*2d4cb49dSJohn Snow# This program is free software; you can redistribute it and/or modify 9*2d4cb49dSJohn Snow# it under the terms of the GNU General Public License as published by 10*2d4cb49dSJohn Snow# the Free Software Foundation; either version 2 of the License, or 11*2d4cb49dSJohn Snow# (at your option) any later version. 12*2d4cb49dSJohn Snow# 13*2d4cb49dSJohn Snow# This program is distributed in the hope that it will be useful, 14*2d4cb49dSJohn Snow# but WITHOUT ANY WARRANTY; without even the implied warranty of 15*2d4cb49dSJohn Snow# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*2d4cb49dSJohn Snow# GNU General Public License for more details. 17*2d4cb49dSJohn Snow# 18*2d4cb49dSJohn Snow# You should have received a copy of the GNU General Public License 19*2d4cb49dSJohn Snow# along with this program. If not, see <http://www.gnu.org/licenses/>. 20*2d4cb49dSJohn Snow# 21*2d4cb49dSJohn Snow 22*2d4cb49dSJohn Snow# creator 23*2d4cb49dSJohn Snowowner=jsnow@redhat.com 24*2d4cb49dSJohn Snow 25*2d4cb49dSJohn Snowseq=`basename $0` 26*2d4cb49dSJohn Snowecho "QA output created by $seq" 27*2d4cb49dSJohn Snow 28*2d4cb49dSJohn Snowhere=`pwd` 29*2d4cb49dSJohn Snowstatus=1 # failure is the default! 30*2d4cb49dSJohn Snow 31*2d4cb49dSJohn Snow_cleanup() 32*2d4cb49dSJohn Snow{ 33*2d4cb49dSJohn Snow rmdir "$TEST_IMG" 34*2d4cb49dSJohn Snow} 35*2d4cb49dSJohn Snowtrap "_cleanup; exit \$status" 0 1 2 3 15 36*2d4cb49dSJohn Snow 37*2d4cb49dSJohn Snow# get standard environment, filters and checks 38*2d4cb49dSJohn Snow. ./common.rc 39*2d4cb49dSJohn Snow. ./common.filter 40*2d4cb49dSJohn Snow. ./common.pattern 41*2d4cb49dSJohn Snow 42*2d4cb49dSJohn Snow# Generic format, but tests file-protocol specific error handling 43*2d4cb49dSJohn Snow_supported_fmt generic 44*2d4cb49dSJohn Snow_supported_proto file 45*2d4cb49dSJohn Snow_supported_os Linux 46*2d4cb49dSJohn Snow 47*2d4cb49dSJohn Snow# Create something decidedly not a file, blockdev or chardev... 48*2d4cb49dSJohn Snowmkdir "$TEST_IMG" 49*2d4cb49dSJohn Snow 50*2d4cb49dSJohn Snowfor PROTO in "file" "host_device" "host_cdrom"; do 51*2d4cb49dSJohn Snow echo 52*2d4cb49dSJohn Snow echo "=== Testing with driver:$PROTO ===" 53*2d4cb49dSJohn Snow echo 54*2d4cb49dSJohn Snow echo "== Testing RO ==" 55*2d4cb49dSJohn Snow $QEMU_IO -c "open -r -o driver=$PROTO,filename=$TEST_IMG" 2>&1 | _filter_imgfmt | _filter_testdir 56*2d4cb49dSJohn Snow $QEMU_IO -c "open -r -o driver=$PROTO,filename=/dev/null" 2>&1 | _filter_imgfmt 57*2d4cb49dSJohn Snow echo "== Testing RW ==" 58*2d4cb49dSJohn Snow $QEMU_IO -c "open -o driver=$PROTO,filename=$TEST_IMG" 2>&1 | _filter_imgfmt | _filter_testdir 59*2d4cb49dSJohn Snow $QEMU_IO -c "open -o driver=$PROTO,filename=/dev/null" 2>&1 | _filter_imgfmt 60*2d4cb49dSJohn Snowdone 61*2d4cb49dSJohn Snow 62*2d4cb49dSJohn Snow# success, all done 63*2d4cb49dSJohn Snowecho 64*2d4cb49dSJohn Snowecho "*** done" 65*2d4cb49dSJohn Snowrm -f $seq.full 66*2d4cb49dSJohn Snowstatus=0 67