X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tests%2FREADME.md;h=d14d727ca5736ed7cceddad636cab64ce437ed57;hb=31ceca8ddd0039550821227a7990f13622c725a7;hp=d4b80da1349a0bc106e7b929957854a6ce0e338e;hpb=9aa0c422b82c15fee1ac5cd3b0fae2ebe358d64a;p=platform%2Fupstream%2Fbtrfs-progs.git 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