xref: /openbmc/qemu/tests/qemu-iotests/088 (revision 0e324626)
111a82d14SPhilippe Mathieu-Daudé#!/usr/bin/env bash
2*9dd003a9SVladimir Sementsov-Ogievskiy# group: rw quick
35e71dfadSKevin Wolf#
45e71dfadSKevin Wolf# vpc (VHD) format input validation tests
55e71dfadSKevin Wolf#
65e71dfadSKevin Wolf# Copyright (C) 2014 Red Hat, Inc.
75e71dfadSKevin Wolf#
85e71dfadSKevin Wolf# This program is free software; you can redistribute it and/or modify
95e71dfadSKevin Wolf# it under the terms of the GNU General Public License as published by
105e71dfadSKevin Wolf# the Free Software Foundation; either version 2 of the License, or
115e71dfadSKevin Wolf# (at your option) any later version.
125e71dfadSKevin Wolf#
135e71dfadSKevin Wolf# This program is distributed in the hope that it will be useful,
145e71dfadSKevin Wolf# but WITHOUT ANY WARRANTY; without even the implied warranty of
155e71dfadSKevin Wolf# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
165e71dfadSKevin Wolf# GNU General Public License for more details.
175e71dfadSKevin Wolf#
185e71dfadSKevin Wolf# You should have received a copy of the GNU General Public License
195e71dfadSKevin Wolf# along with this program.  If not, see <http://www.gnu.org/licenses/>.
205e71dfadSKevin Wolf#
215e71dfadSKevin Wolf
225e71dfadSKevin Wolf# creator
235e71dfadSKevin Wolfowner=kwolf@redhat.com
245e71dfadSKevin Wolf
255e71dfadSKevin Wolfseq=`basename $0`
265e71dfadSKevin Wolfecho "QA output created by $seq"
275e71dfadSKevin Wolf
285e71dfadSKevin Wolfstatus=1	# failure is the default!
295e71dfadSKevin Wolf
305e71dfadSKevin Wolf_cleanup()
315e71dfadSKevin Wolf{
32f91ecbd7SMax Reitz    _rm_test_img "$TEST_IMG.snap"
335e71dfadSKevin Wolf    _cleanup_test_img
345e71dfadSKevin Wolf}
355e71dfadSKevin Wolftrap "_cleanup; exit \$status" 0 1 2 3 15
365e71dfadSKevin Wolf
375e71dfadSKevin Wolf# get standard environment, filters and checks
385e71dfadSKevin Wolf. ./common.rc
395e71dfadSKevin Wolf. ./common.filter
405e71dfadSKevin Wolf
415e71dfadSKevin Wolf_supported_fmt vpc
42c5f7c0afSPeter Lieven_supported_proto file
435e71dfadSKevin Wolf_supported_os Linux
445e71dfadSKevin Wolf
455e71dfadSKevin Wolfoffset_block_size=$((512 + 32))
465e71dfadSKevin Wolf
475e71dfadSKevin Wolfecho
485e71dfadSKevin Wolfecho "== Invalid block size =="
495e71dfadSKevin Wolf_make_test_img 64M
505e71dfadSKevin Wolfpoke_file "$TEST_IMG" "$offset_block_size" "\x00\x00\x00\x00"
515e71dfadSKevin Wolf{ $QEMU_IO -c "read 0 512" $TEST_IMG; } 2>&1 | _filter_qemu_io | _filter_testdir
525e71dfadSKevin Wolf{ $QEMU_IO -c "write 0 512" $TEST_IMG; } 2>&1 | _filter_qemu_io | _filter_testdir
535e71dfadSKevin Wolfpoke_file "$TEST_IMG" "$offset_block_size" "\x00\x00\x00\x80"
545e71dfadSKevin Wolf{ $QEMU_IO -c "read 0 512" $TEST_IMG; } 2>&1 | _filter_qemu_io | _filter_testdir
555e71dfadSKevin Wolf{ $QEMU_IO -c "write 0 512" $TEST_IMG; } 2>&1 | _filter_qemu_io | _filter_testdir
565e71dfadSKevin Wolfpoke_file "$TEST_IMG" "$offset_block_size" "\x12\x34\x56\x78"
575e71dfadSKevin Wolf{ $QEMU_IO -c "read 0 512" $TEST_IMG; } 2>&1 | _filter_qemu_io | _filter_testdir
585e71dfadSKevin Wolf{ $QEMU_IO -c "write 0 512" $TEST_IMG; } 2>&1 | _filter_qemu_io | _filter_testdir
595e71dfadSKevin Wolf
605e71dfadSKevin Wolf# success, all done
615e71dfadSKevin Wolfecho "*** done"
625e71dfadSKevin Wolfrm -f $seq.full
635e71dfadSKevin Wolfstatus=0
64