]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ErasureCodeJerasure: unit test common to all techniques
authorLoic Dachary <loic@dachary.org>
Thu, 29 Aug 2013 11:31:10 +0000 (13:31 +0200)
committerLoic Dachary <loic@dachary.org>
Tue, 10 Sep 2013 14:46:10 +0000 (16:46 +0200)
commitc8def8604944c302dce3ea349ece4f1d5dfc5874
treedcf69b102fc474b8187ead21fa88321e36dfd530
parente4354687259bcff4137681ff0a192465626c117c
ErasureCodeJerasure: unit test common to all techniques

A typed unit test is defined and must run regardless of the technique.
When a new technique is derived from ErasureCodeJerasure, it is added
to the JerasureTypes typedef and the test will validate that:

  * it provides reasonable defaults for the technique specific
    parameters
  * it modifies the k, m and w to reasonable defaults depending
    on the imposed constraints ( for instance Liber8tion requires
    that w == 8 but the test sets it to 7 )
  * the encoding of K=2, M=2 produces 4 chunks, the first two
    of which contains the original buffer data showing the
    code is systematic
  * decoding when all 4 chunks are available indeed retrieves
    the original buffer content
  * decoding when the two data chunks are are missing indeed
    retrieves the original buffer content

https://github.com/dachary/ceph/tree/wip-5879 refs #5879

Signed-off-by: Loic Dachary <loic@dachary.org>
src/test/Makefile.am
src/test/osd/TestErasureCodeJerasure.cc [new file with mode: 0644]