summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2017-02-25 22:56:32 +0000
committerTim Burke <tim.burke@gmail.com>2017-07-13 13:24:01 -0700
commitf4a16fe92977cdea9cb7e61fa65804e9f3bc62dc (patch)
tree93e3f1951100be0859132df84e294625dffde8b6
parent6124e432a500837e918923d0688a986124088c29 (diff)
downloadliberasurecode-f4a16fe92977cdea9cb7e61fa65804e9f3bc62dc.tar.gz
Use preprocessor to build test suites
Otherwise, we're left with error-prone copy & pasting, which means we'll constantly be cleaning it up. Change-Id: I57e2cbef2c9221cffccf2e73b6af9bd003c04968 Related-Change: Ibd72ba4ae609ad77e8808aa1594b0adb62e34ef0 Related-Change: I9ee9ec3d8f86a10c4c7b5d6425a530b9c44d1156
-rw-r--r--test/liberasurecode_test.c692
1 files changed, 55 insertions, 637 deletions
diff --git a/test/liberasurecode_test.c b/test/liberasurecode_test.c
index 77c8419..dbb24ab 100644
--- a/test/liberasurecode_test.c
+++ b/test/liberasurecode_test.c
@@ -1551,7 +1551,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,
@@ -1778,652 +1778,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 },
};