mbox series

[RFC,0/5] selftests: floppy: basic tests

Message ID 20210818154646.925351-1-efremov@linux.com (mailing list archive)
Headers show
Series selftests: floppy: basic tests | expand

Message

Denis Efremov (Oracle) Aug. 18, 2021, 3:46 p.m. UTC
Add basic tests to cover some regressions that we had.
It's hard to test floppy because some tests require
presence or absense of a diskette in a drive. To simulate
test conditions and automate the testing I added
"run_*.sh" wrapper scripts that run tests in QEMU.

The first patch just improves check for reverted commits
in a commit message. The second patch is required to
generate a minimal initrd used in next commits. Rest of
commits are basic floppy tests.

Please, comment the approach, selftests integration
and suggest tests that you would like to add.

I thought about adding a possibility to remove/insert
diskettes inside a test. This is possible if we give
the guest an access to the QEMU monitor (eject/change cmds).
But I didn't find a better way to do it than to map a
monitor to an external port:
  -monitor tcp:<ip>:<port>,server,nowait
  and access this ip from the guest.
Maybe it's also possible to do with virtserialport.

Denis Efremov (5):
  checkpatch: improve handling of revert commits
  gen_initramfs.sh: use absolute path for gen_init_cpio
  selftests: floppy: add basic tests for opening an empty device
  selftests: floppy: add basic tests for a readonly disk
  selftests: floppy: add basic rdwr tests

 MAINTAINERS                                  |  1 +
 scripts/checkpatch.pl                        | 12 +--
 tools/testing/selftests/floppy/.gitignore    |  8 ++
 tools/testing/selftests/floppy/Makefile      | 10 ++
 tools/testing/selftests/floppy/config        |  1 +
 tools/testing/selftests/floppy/empty.c       | 58 ++++++++++++
 tools/testing/selftests/floppy/init.c        | 43 +++++++++
 tools/testing/selftests/floppy/lib.sh        | 67 +++++++++++++
 tools/testing/selftests/floppy/rdonly.c      | 99 ++++++++++++++++++++
 tools/testing/selftests/floppy/rdwr.c        | 67 +++++++++++++
 tools/testing/selftests/floppy/run_empty.sh  | 16 ++++
 tools/testing/selftests/floppy/run_rdonly.sh | 22 +++++
 tools/testing/selftests/floppy/run_rdwr.sh   | 22 +++++
 usr/gen_initramfs.sh                         |  2 +-
 14 files changed, 421 insertions(+), 7 deletions(-)
 create mode 100644 tools/testing/selftests/floppy/.gitignore
 create mode 100644 tools/testing/selftests/floppy/Makefile
 create mode 100644 tools/testing/selftests/floppy/config
 create mode 100644 tools/testing/selftests/floppy/empty.c
 create mode 100644 tools/testing/selftests/floppy/init.c
 create mode 100644 tools/testing/selftests/floppy/lib.sh
 create mode 100644 tools/testing/selftests/floppy/rdonly.c
 create mode 100644 tools/testing/selftests/floppy/rdwr.c
 create mode 100755 tools/testing/selftests/floppy/run_empty.sh
 create mode 100755 tools/testing/selftests/floppy/run_rdonly.sh
 create mode 100755 tools/testing/selftests/floppy/run_rdwr.sh