Merge "Use preprocessor to build test suites"
This commit is contained in:
commit
0dd6e1e41a
|
@ -1547,7 +1547,7 @@ static void test_simple_encode_decode(const ec_backend_id_t be_id,
|
|||
free(skip);
|
||||
}
|
||||
|
||||
static void test_simple_encode_decode_over32()
|
||||
static void test_jerasure_rs_vand_simple_encode_decode_over32()
|
||||
{
|
||||
struct ec_args over32_args = {
|
||||
.k = 30,
|
||||
|
@ -1774,652 +1774,70 @@ static void test_metadata_crcs()
|
|||
|
||||
//static void test_verify_str
|
||||
|
||||
/* An individual test, useful to ensure the reported name
|
||||
reflects the function name */
|
||||
#define TEST(test, backend, checksum) {#test, test, backend, checksum, .skip = false}
|
||||
/* Block of common tests for the "real" backends */
|
||||
#define TEST_SUITE(backend) \
|
||||
TEST(test_create_and_destroy_backend, backend, CHKSUM_NONE), \
|
||||
TEST(test_simple_encode_decode, backend, CHKSUM_NONE), \
|
||||
TEST(test_decode_with_missing_data, backend, CHKSUM_NONE), \
|
||||
TEST(test_decode_with_missing_parity, backend, CHKSUM_NONE), \
|
||||
TEST(test_decode_with_missing_multi_data, backend, CHKSUM_NONE), \
|
||||
TEST(test_decode_with_missing_multi_parity, backend, CHKSUM_NONE), \
|
||||
TEST(test_decode_with_missing_multi_data_parity, backend, CHKSUM_NONE), \
|
||||
TEST(test_simple_reconstruct, backend, CHKSUM_NONE), \
|
||||
TEST(test_fragments_needed, backend, CHKSUM_NONE), \
|
||||
TEST(test_get_fragment_metadata, backend, CHKSUM_NONE), \
|
||||
TEST(test_get_fragment_metadata, backend, CHKSUM_CRC32), \
|
||||
TEST(test_verify_stripe_metadata, backend, CHKSUM_CRC32), \
|
||||
TEST(test_verify_stripe_metadata_libec_mismatch, backend, CHKSUM_CRC32), \
|
||||
TEST(test_verify_stripe_metadata_magic_mismatch, backend, CHKSUM_CRC32), \
|
||||
TEST(test_verify_stripe_metadata_be_id_mismatch, backend, CHKSUM_CRC32), \
|
||||
TEST(test_verify_stripe_metadata_be_ver_mismatch, backend, CHKSUM_CRC32), \
|
||||
TEST(test_verify_stripe_metadata_frag_idx_invalid, backend, CHKSUM_CRC32)
|
||||
|
||||
struct testcase testcases[] = {
|
||||
{"test_backend_available_invalid_args",
|
||||
test_backend_available_invalid_args,
|
||||
EC_BACKENDS_MAX, 0,
|
||||
.skip = false},
|
||||
{"test_backend_available",
|
||||
test_backend_available,
|
||||
EC_BACKEND_NULL, 0,
|
||||
.skip = false},
|
||||
{"test_create_backend_invalid_args",
|
||||
test_create_backend_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_destroy_backend_invalid_args",
|
||||
test_destroy_backend_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_encode_invalid_args",
|
||||
test_encode_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_encode_cleanup_invalid_args",
|
||||
test_encode_cleanup_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_decode_invalid_args",
|
||||
test_decode_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_decode_cleanup_invalid_args",
|
||||
test_decode_cleanup_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_reconstruct_fragment_invalid_args",
|
||||
test_reconstruct_fragment_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_invalid_args",
|
||||
test_get_fragment_metadata_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_invalid_args",
|
||||
test_verify_stripe_metadata_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_fragments_needed_invalid_args",
|
||||
test_fragments_needed_invalid_args,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_get_fragment_partition",
|
||||
test_get_fragment_partition,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_liberasurecode_get_version",
|
||||
test_liberasurecode_get_version,
|
||||
EC_BACKENDS_MAX, CHKSUM_TYPES_MAX,
|
||||
.skip = false},
|
||||
{"test_metadata_crcs",
|
||||
test_metadata_crcs,
|
||||
EC_BACKENDS_MAX, 0,
|
||||
.skip = false},
|
||||
TEST(test_backend_available_invalid_args, EC_BACKENDS_MAX, 0),
|
||||
TEST(test_backend_available, EC_BACKEND_NULL, 0),
|
||||
TEST(test_create_backend_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_destroy_backend_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_encode_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_encode_cleanup_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_decode_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_decode_cleanup_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_reconstruct_fragment_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_get_fragment_metadata_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_verify_stripe_metadata_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_fragments_needed_invalid_args, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_get_fragment_partition, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_liberasurecode_get_version, EC_BACKENDS_MAX, CHKSUM_TYPES_MAX),
|
||||
TEST(test_metadata_crcs, EC_BACKENDS_MAX, 0),
|
||||
// NULL backend test
|
||||
{"test_create_and_destroy_backend",
|
||||
test_create_and_destroy_backend,
|
||||
EC_BACKEND_NULL, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_encode_null",
|
||||
test_simple_encode_decode,
|
||||
EC_BACKEND_NULL, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_NULL, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_parity",
|
||||
test_decode_with_missing_parity,
|
||||
EC_BACKEND_NULL, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_parity",
|
||||
test_decode_with_missing_multi_parity,
|
||||
EC_BACKEND_NULL, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
TEST(test_create_and_destroy_backend, EC_BACKEND_NULL, CHKSUM_NONE),
|
||||
TEST(test_simple_encode_decode, EC_BACKEND_NULL, CHKSUM_NONE),
|
||||
TEST(test_get_fragment_metadata, EC_BACKEND_NULL, CHKSUM_NONE),
|
||||
TEST(test_decode_with_missing_parity, EC_BACKEND_NULL, CHKSUM_NONE),
|
||||
TEST(test_decode_with_missing_multi_parity, EC_BACKEND_NULL, CHKSUM_NONE),
|
||||
// Flat XOR backend tests
|
||||
{"test_create_and_destroy_backend",
|
||||
test_create_and_destroy_backend,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_encode_decode",
|
||||
test_simple_encode_decode,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_data",
|
||||
test_decode_with_missing_data,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_parity",
|
||||
test_decode_with_missing_parity,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data",
|
||||
test_decode_with_missing_multi_data,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_parity",
|
||||
test_decode_with_missing_multi_parity,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data_parity",
|
||||
test_decode_with_missing_multi_data_parity,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_reconstruct",
|
||||
test_simple_reconstruct,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_fragments_needed",
|
||||
test_fragments_needed,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_crc32",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata",
|
||||
test_verify_stripe_metadata,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_libec_mismatch",
|
||||
test_verify_stripe_metadata_libec_mismatch,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_magic_mismatch",
|
||||
test_verify_stripe_metadata_magic_mismatch,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_id_mismatch",
|
||||
test_verify_stripe_metadata_be_id_mismatch,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_ver_mismatch",
|
||||
test_verify_stripe_metadata_be_ver_mismatch,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_frag_idx_invalid",
|
||||
test_verify_stripe_metadata_frag_idx_invalid,
|
||||
EC_BACKEND_FLAT_XOR_HD, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
TEST_SUITE(EC_BACKEND_FLAT_XOR_HD),
|
||||
// Jerasure RS Vand backend tests
|
||||
{"test_create_and_destroy_backend",
|
||||
test_create_and_destroy_backend,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_encode_decode",
|
||||
test_simple_encode_decode,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_data",
|
||||
test_decode_with_missing_data,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_parity",
|
||||
test_decode_with_missing_parity,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data",
|
||||
test_decode_with_missing_multi_data,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_parity",
|
||||
test_decode_with_missing_multi_parity,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data_parity",
|
||||
test_decode_with_missing_multi_data_parity,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_reconstruct",
|
||||
test_simple_reconstruct,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_fragments_needed",
|
||||
test_fragments_needed,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_crc32",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata",
|
||||
test_verify_stripe_metadata,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_libec_mismatch",
|
||||
test_verify_stripe_metadata_libec_mismatch,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_magic_mismatch",
|
||||
test_verify_stripe_metadata_magic_mismatch,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_id_mismatch",
|
||||
test_verify_stripe_metadata_be_id_mismatch,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_ver_mismatch",
|
||||
test_verify_stripe_metadata_be_ver_mismatch,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_frag_idx_invalid",
|
||||
test_verify_stripe_metadata_frag_idx_invalid,
|
||||
EC_BACKEND_JERASURE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_simple_encode_decode_over32_jerasure_rs_vand",
|
||||
test_simple_encode_decode_over32,
|
||||
EC_BACKENDS_MAX, 0, // NB: this is hardcoded to use jerasure RS vand
|
||||
.skip = false},
|
||||
TEST_SUITE(EC_BACKEND_JERASURE_RS_VAND),
|
||||
TEST(test_jerasure_rs_vand_simple_encode_decode_over32, EC_BACKENDS_MAX, 0),
|
||||
// Jerasure RS Cauchy backend tests
|
||||
{"test_create_and_destroy_backend",
|
||||
test_create_and_destroy_backend,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_encode_decode",
|
||||
test_simple_encode_decode,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_data",
|
||||
test_decode_with_missing_data,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_parity",
|
||||
test_decode_with_missing_parity,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data",
|
||||
test_decode_with_missing_multi_data,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_parity",
|
||||
test_decode_with_missing_multi_parity,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data_parity",
|
||||
test_decode_with_missing_multi_data_parity,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_reconstruct",
|
||||
test_simple_reconstruct,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_fragments_needed",
|
||||
test_fragments_needed,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_crc32",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata",
|
||||
test_verify_stripe_metadata,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_libec_mismatch",
|
||||
test_verify_stripe_metadata_libec_mismatch,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_magic_mismatch",
|
||||
test_verify_stripe_metadata_magic_mismatch,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_id_mismatch",
|
||||
test_verify_stripe_metadata_be_id_mismatch,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_ver_mismatch",
|
||||
test_verify_stripe_metadata_be_ver_mismatch,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_frag_idx_invalid",
|
||||
test_verify_stripe_metadata_frag_idx_invalid,
|
||||
EC_BACKEND_JERASURE_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_jerasure_rs_cauchy_init_failure",
|
||||
test_jerasure_rs_cauchy_init_failure,
|
||||
EC_BACKENDS_MAX, 0,
|
||||
.skip = false},
|
||||
TEST_SUITE(EC_BACKEND_JERASURE_RS_CAUCHY),
|
||||
TEST(test_jerasure_rs_cauchy_init_failure, EC_BACKENDS_MAX, 0),
|
||||
// ISA-L rs_vand tests
|
||||
{"test_create_and_destroy_backend",
|
||||
test_create_and_destroy_backend,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_encode_decode",
|
||||
test_simple_encode_decode,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_data",
|
||||
test_decode_with_missing_data,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_parity",
|
||||
test_decode_with_missing_parity,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data",
|
||||
test_decode_with_missing_multi_data,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_parity",
|
||||
test_decode_with_missing_multi_parity,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data_parity",
|
||||
test_decode_with_missing_multi_data_parity,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_reconstruct",
|
||||
test_simple_reconstruct,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_fragments_needed",
|
||||
test_fragments_needed,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_crc32",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata",
|
||||
test_verify_stripe_metadata,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_libec_mismatch",
|
||||
test_verify_stripe_metadata_libec_mismatch,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_magic_mismatch",
|
||||
test_verify_stripe_metadata_magic_mismatch,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_id_mismatch",
|
||||
test_verify_stripe_metadata_be_id_mismatch,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_ver_mismatch",
|
||||
test_verify_stripe_metadata_be_ver_mismatch,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_frag_idx_invalid",
|
||||
test_verify_stripe_metadata_frag_idx_invalid,
|
||||
EC_BACKEND_ISA_L_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_isa_l_rs_vand_decode_reconstruct_specific_error_case",
|
||||
test_isa_l_rs_vand_decode_reconstruct_specific_error_case,
|
||||
EC_BACKENDS_MAX, 0, // note this test is using ISA-L in hard coded
|
||||
.skip = false},
|
||||
TEST_SUITE(EC_BACKEND_ISA_L_RS_VAND),
|
||||
TEST(test_isa_l_rs_vand_decode_reconstruct_specific_error_case, EC_BACKENDS_MAX, 0),
|
||||
// ISA-L rs cauchy tests
|
||||
{"test_create_and_destroy_backend",
|
||||
test_create_and_destroy_backend,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_encode_decode",
|
||||
test_simple_encode_decode,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_data",
|
||||
test_decode_with_missing_data,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_parity",
|
||||
test_decode_with_missing_parity,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data",
|
||||
test_decode_with_missing_multi_data,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_parity",
|
||||
test_decode_with_missing_multi_parity,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data_parity",
|
||||
test_decode_with_missing_multi_data_parity,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_reconstruct",
|
||||
test_simple_reconstruct,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_fragments_needed",
|
||||
test_fragments_needed,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_crc32",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata",
|
||||
test_verify_stripe_metadata,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_libec_mismatch",
|
||||
test_verify_stripe_metadata_libec_mismatch,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_magic_mismatch",
|
||||
test_verify_stripe_metadata_magic_mismatch,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_id_mismatch",
|
||||
test_verify_stripe_metadata_be_id_mismatch,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_ver_mismatch",
|
||||
test_verify_stripe_metadata_be_ver_mismatch,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_frag_idx_invalid",
|
||||
test_verify_stripe_metadata_frag_idx_invalid,
|
||||
EC_BACKEND_ISA_L_RS_CAUCHY, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
TEST_SUITE(EC_BACKEND_ISA_L_RS_CAUCHY),
|
||||
// shss tests
|
||||
{"test_create_and_destroy_backend",
|
||||
test_create_and_destroy_backend,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_encode_decode",
|
||||
test_simple_encode_decode,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_data",
|
||||
test_decode_with_missing_data,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_parity",
|
||||
test_decode_with_missing_parity,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data",
|
||||
test_decode_with_missing_multi_data,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_parity",
|
||||
test_decode_with_missing_multi_parity,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data_parity",
|
||||
test_decode_with_missing_multi_data_parity,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_reconstruct",
|
||||
test_simple_reconstruct,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_fragments_needed",
|
||||
test_fragments_needed,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_SHSS, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_crc32",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_SHSS, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata",
|
||||
test_verify_stripe_metadata,
|
||||
EC_BACKEND_SHSS, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_libec_mismatch",
|
||||
test_verify_stripe_metadata_libec_mismatch,
|
||||
EC_BACKEND_SHSS, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_magic_mismatch",
|
||||
test_verify_stripe_metadata_magic_mismatch,
|
||||
EC_BACKEND_SHSS, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_id_mismatch",
|
||||
test_verify_stripe_metadata_be_id_mismatch,
|
||||
EC_BACKEND_SHSS, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_ver_mismatch",
|
||||
test_verify_stripe_metadata_be_ver_mismatch,
|
||||
EC_BACKEND_SHSS, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_frag_idx_invalid",
|
||||
test_verify_stripe_metadata_frag_idx_invalid,
|
||||
EC_BACKEND_SHSS, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
TEST_SUITE(EC_BACKEND_SHSS),
|
||||
// Internal RS Vand backend tests
|
||||
{"test_create_and_destroy_backend",
|
||||
test_create_and_destroy_backend,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_encode_decode",
|
||||
test_simple_encode_decode,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_data",
|
||||
test_decode_with_missing_data,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_parity",
|
||||
test_decode_with_missing_parity,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data",
|
||||
test_decode_with_missing_multi_data,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_parity",
|
||||
test_decode_with_missing_multi_parity,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data_parity",
|
||||
test_decode_with_missing_multi_data_parity,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_simple_reconstruct",
|
||||
test_simple_reconstruct,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_fragments_needed",
|
||||
test_fragments_needed,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_crc32",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata",
|
||||
test_verify_stripe_metadata,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_libec_mismatch",
|
||||
test_verify_stripe_metadata_libec_mismatch,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_magic_mismatch",
|
||||
test_verify_stripe_metadata_magic_mismatch,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_id_mismatch",
|
||||
test_verify_stripe_metadata_be_id_mismatch,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_ver_mismatch",
|
||||
test_verify_stripe_metadata_be_ver_mismatch,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_frag_idx_invalid",
|
||||
test_verify_stripe_metadata_frag_idx_invalid,
|
||||
EC_BACKEND_LIBERASURECODE_RS_VAND, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
TEST_SUITE(EC_BACKEND_LIBERASURECODE_RS_VAND),
|
||||
// libphazr backend tests
|
||||
{"create_and_destroy_backend",
|
||||
test_create_and_destroy_backend,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"simple_encode_libphazr",
|
||||
test_simple_encode_decode,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"decode_with_missing_data_libphazr",
|
||||
test_decode_with_missing_data,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"decode_with_missing_parity_libphazr",
|
||||
test_decode_with_missing_parity,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"decode_with_missing_multi_data_libphazr",
|
||||
test_decode_with_missing_multi_data,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"decode_with_missing_multi_parity_libphazr",
|
||||
test_decode_with_missing_multi_parity,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_decode_with_missing_multi_data_parity_libphazr",
|
||||
test_decode_with_missing_multi_data_parity,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"simple_reconstruct_libphazr",
|
||||
test_simple_reconstruct,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_fragments_needed_libphazr",
|
||||
test_fragments_needed,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_libphazr",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_NONE,
|
||||
.skip = false},
|
||||
{"test_get_fragment_metadata_libphazr_crc32",
|
||||
test_get_fragment_metadata,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata",
|
||||
test_verify_stripe_metadata,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_libec_mismatch",
|
||||
test_verify_stripe_metadata_libec_mismatch,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_magic_mismatch",
|
||||
test_verify_stripe_metadata_magic_mismatch,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_id_mismatch",
|
||||
test_verify_stripe_metadata_be_id_mismatch,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_be_ver_mismatch",
|
||||
test_verify_stripe_metadata_be_ver_mismatch,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
{"test_verify_stripe_metadata_frag_idx_invalid",
|
||||
test_verify_stripe_metadata_frag_idx_invalid,
|
||||
EC_BACKEND_LIBPHAZR, CHKSUM_CRC32,
|
||||
.skip = false},
|
||||
TEST_SUITE(EC_BACKEND_LIBPHAZR),
|
||||
{ NULL, NULL, 0, 0, false },
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue