btrfs-progs: tests: update README, images, coding style

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2018-03-23 15:29:41 +01:00
parent f3219ad42f
commit acd4df7381
1 changed files with 23 additions and 1 deletions

View File

@ -189,6 +189,27 @@ $ TEST=012\* ./misc-tests.sh # from tests/
7. A commit that fixes a bug should be applied before the test that verifies
the fix. This is to keep the git history bisectable.
### Test images
Most tests should be able to create the test images from scratch, using regular
commands and file operation. The commands also document the testcase and use
the teste code and kernel of the environment.
In other cases, a pre-created image may be the right way if the above does not
work (eg. comparing output, requesting an exact layout or some intermediate
state that would be hard to achieve otherwise).
* images that don't need data and valid checksums can be created by
`btrfs-image`, the image can be compressed by the tool itself (file extension
`.img`) or compressed externally (recognized is `.img.xz`)
* raw images that are binary dump of an existing image, created eg. from a
sparse file (`.raw` or `.raw.xz`)
Use `xz --best` and try to get the smallest size as the file is stored in git.
### Crafted/fuzzed images
Images that are created by fuzzing or specially crafted to trigger some error
@ -232,9 +253,10 @@ The tests assume write acesss to their directories.
* quote all variables by default, any path, even the TOP could need that, and
we use it everywhere
* even if the variable is safe, use quotes for consistency and to ease
reading the code
* there are exceptions:
* `$SUDO_HELPER` as it might be intentionally unset
* the variable is obviously set to a value that does not require it
* use `#!/bin/bash` explicitly
* check for all external dependencies (`check_prereq_global`)
* check for internal dependencies (`check_prereq`), though the basic set is