ceph/qa
Rishabh Dave 37744ecc2b test_volume_client: rewrite test_put_object_versioned
The test's success depends on whether CommandFailedError exception is
raised. This manner of testing is unreliable since there's no way to
check if the exception was raised by the statement (in the embedded
Python program) the test expects to.

This implies that this test's failure may go undetected. This is primary
reason why bugs like tracker #38946 occured despite of having a test.

Fixes: http://tracker.ceph.com/issues/39510
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-07-13 11:43:03 +05:30
..
archs
btrfs
cephfs qa: fix kclient symlink to use latest rhel7 2019-06-03 14:39:57 -07:00
client
clusters
config
crontab qa/tests: removed upgrade/client-upgrade-hammer becasue ubuntu 14.04 is not supported 2019-06-12 09:13:15 -07:00
debug
distros qa: fix latest distros and add helper symlinks 2019-06-03 14:39:17 -07:00
erasure-code
libceph
machine_types
mds
mon/bootstrap
msgr
nightlies
objectstore
objectstore_cephfs
overrides
packages
qa_scripts
rbd
releases
rgw_frontend
rgw_pool_type
standalone Merge pull request #28204 from dzafman/wip-39555 2019-06-20 11:12:10 -07:00
suites qa: elide python version config 2019-06-19 18:22:51 -07:00
tasks test_volume_client: rewrite test_put_object_versioned 2019-07-13 11:43:03 +05:30
timezone
workunits Merge pull request #28629 from xiexingguo/wip-osd-df-by-pool-name 2019-06-20 10:40:40 +08:00
.gitignore
find-used-ports.sh
loopall.sh
Makefile
README
run_xfstests_qemu.sh
run_xfstests-obsolete.sh
run_xfstests.sh
run-standalone.sh qa/run-standalone.sh: s/Makefile/CMakeCache.txt/ 2019-05-30 23:52:36 +08:00
runallonce.sh
runoncfuse.sh
runonkclient.sh
setup-chroot.sh
tox.ini
valgrind.supp qa/valgrind.supp: be slightly less specific on suppression 2019-06-12 10:33:16 -05:00

ceph-qa-suite
-------------

clusters/    - some predefined cluster layouts
suites/      - set suite

The suites directory has a hierarchical collection of tests.  This can be
freeform, but generally follows the convention of

  suites/<test suite name>/<test group>/...

A test is described by a yaml fragment.

A test can exist as a single .yaml file in the directory tree.  For example:

 suites/foo/one.yaml
 suites/foo/two.yaml

is a simple group of two tests.

A directory with a magic '+' file represents a test that combines all
other items in the directory into a single yaml fragment.  For example:

 suites/foo/bar/+
 suites/foo/bar/a.yaml
 suites/foo/bar/b.yaml
 suites/foo/bar/c.yaml

is a single test consisting of a + b + c.

A directory with a magic '%' file represents a test matrix formed from
all other items in the directory.  For example,

 suites/baz/%
 suites/baz/a.yaml
 suites/baz/b/b1.yaml
 suites/baz/b/b2.yaml
 suites/baz/c.yaml
 suites/baz/d/d1.yaml
 suites/baz/d/d2.yaml

is a 4-dimensional test matrix.  Two dimensions (a, c) are trivial (1
item), so this is really 2x2 = 4 tests, which are

  a + b1 + c + d1
  a + b1 + c + d2
  a + b2 + c + d1
  a + b2 + c + d2

A directory with a magic '$' file represents a test where one of the other
items is chosen randomly. For example,

suites/foo/$
suites/foo/a.yaml
suites/foo/b.yaml
suites/foo/c.yaml

is a single test.  It will be either a.yaml, b.yaml or c.yaml.  This can be
used in conjunction with the '%' file in other directories to run a series of
tests without causing an unwanted increase in the total number of jobs run.

Symlinks are okay.

The teuthology code can be found in https://github.com/ceph/teuthology.git