From: David Sterba Date: Fri, 23 Mar 2018 14:29:41 +0000 (+0100) Subject: btrfs-progs: tests: update README, images, coding style X-Git-Tag: upstream/4.16.1~52 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fbtrfs-progs.git;a=commitdiff_plain;h=acd4df738165e1e4b16e199ee70b77d3e64a260a btrfs-progs: tests: update README, images, coding style Signed-off-by: David Sterba --- diff --git a/tests/README.md b/tests/README.md index d4b80da..d14d727 100644 --- a/tests/README.md +++ b/tests/README.md @@ -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