Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions c/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
- Change the type of genotypes to ``int32_t``, removing the TSK_16_BIT_GENOTYPES flag option.
(:user:`benjeffery`, :issue:`463`, :pr:`2108`)

- ``tsk_variant_t`` now includes its ``tsk_site_t`` rather than pointing to it.
(:user:`benjeffery`, :issue:`2161`, :pr:`2162`)


**Features**

- Make dumping of tables and tree sequences to disk a zero-copy operation.
Expand Down
117 changes: 62 additions & 55 deletions c/tests/test_genotypes.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ test_simplest_missing_data(void)
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_TRUE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], TSK_MISSING_DATA);
CU_ASSERT_EQUAL(var->genotypes[1], TSK_MISSING_DATA);
Expand All @@ -59,7 +59,7 @@ test_simplest_missing_data(void)
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_FALSE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], 0);
CU_ASSERT_EQUAL(var->genotypes[1], 0);
Expand Down Expand Up @@ -91,7 +91,7 @@ test_simplest_missing_data_user_alleles(void)
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_TRUE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], TSK_MISSING_DATA);
CU_ASSERT_EQUAL(var->genotypes[1], TSK_MISSING_DATA);
Expand All @@ -103,7 +103,7 @@ test_simplest_missing_data_user_alleles(void)
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_TRUE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], TSK_MISSING_DATA);
ret = tsk_vargen_next(&vargen, &var);
Expand All @@ -114,7 +114,7 @@ test_simplest_missing_data_user_alleles(void)
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_FALSE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], 0);
CU_ASSERT_EQUAL(var->genotypes[1], 0);
Expand Down Expand Up @@ -148,7 +148,7 @@ test_simplest_missing_data_mutations(void)
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_TRUE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], 1);
CU_ASSERT_EQUAL(var->genotypes[1], TSK_MISSING_DATA);
Expand All @@ -161,7 +161,7 @@ test_simplest_missing_data_mutations(void)
tsk_vargen_print_state(&vargen, _devnull);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_FALSE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], 1);
ret = tsk_vargen_next(&vargen, &var);
Expand All @@ -172,7 +172,7 @@ test_simplest_missing_data_mutations(void)
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_FALSE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], 1);
CU_ASSERT_EQUAL(var->genotypes[1], 0);
Expand Down Expand Up @@ -207,7 +207,7 @@ test_simplest_missing_data_mutations_all_samples(void)
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_FALSE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], 1);
CU_ASSERT_EQUAL(var->genotypes[1], 1);
Expand All @@ -220,7 +220,7 @@ test_simplest_missing_data_mutations_all_samples(void)
tsk_vargen_print_state(&vargen, _devnull);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_FALSE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], 1);
CU_ASSERT_EQUAL(var->genotypes[1], 1);
Expand All @@ -232,7 +232,7 @@ test_simplest_missing_data_mutations_all_samples(void)
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_FALSE(var->has_missing_data);
CU_ASSERT_EQUAL(var->genotypes[0], 1);
CU_ASSERT_EQUAL(var->genotypes[1], 1);
Expand Down Expand Up @@ -273,7 +273,7 @@ test_single_tree_user_alleles(void)

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_EQUAL_FATAL(var->num_alleles, 4);
CU_ASSERT_EQUAL(var->allele_lengths[0], 1);
CU_ASSERT_EQUAL(var->allele_lengths[1], 1);
Expand All @@ -291,7 +291,7 @@ test_single_tree_user_alleles(void)

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.125);
CU_ASSERT_EQUAL(var->site.position, 0.125);
CU_ASSERT_EQUAL(var->num_alleles, 4);
CU_ASSERT_EQUAL(var->allele_lengths[0], 1);
CU_ASSERT_EQUAL(var->allele_lengths[1], 1);
Expand All @@ -309,7 +309,7 @@ test_single_tree_user_alleles(void)

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.25);
CU_ASSERT_EQUAL(var->site.position, 0.25);
CU_ASSERT_EQUAL(var->num_alleles, 4);
CU_ASSERT_EQUAL(var->allele_lengths[0], 1);
CU_ASSERT_EQUAL(var->allele_lengths[1], 1);
Expand All @@ -327,7 +327,7 @@ test_single_tree_user_alleles(void)

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.5);
CU_ASSERT_EQUAL(var->site.position, 0.5);
CU_ASSERT_EQUAL(var->num_alleles, 4);
CU_ASSERT_EQUAL(var->allele_lengths[0], 1);
CU_ASSERT_EQUAL(var->allele_lengths[1], 1);
Expand Down Expand Up @@ -377,7 +377,7 @@ test_single_tree_char_alphabet(void)

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.0);
CU_ASSERT_EQUAL(var->site.position, 0.0);
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_EQUAL(var->allele_lengths[0], 1);
CU_ASSERT_EQUAL(var->allele_lengths[1], 1);
Expand All @@ -391,7 +391,7 @@ test_single_tree_char_alphabet(void)

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.125);
CU_ASSERT_EQUAL(var->site.position, 0.125);
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_EQUAL(var->allele_lengths[0], 1);
CU_ASSERT_EQUAL(var->allele_lengths[1], 8);
Expand All @@ -405,7 +405,7 @@ test_single_tree_char_alphabet(void)

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.25);
CU_ASSERT_EQUAL(var->site.position, 0.25);
CU_ASSERT_EQUAL(var->num_alleles, 4);
CU_ASSERT_EQUAL(var->allele_lengths[0], 1);
CU_ASSERT_EQUAL(var->allele_lengths[1], 1);
Expand All @@ -423,7 +423,7 @@ test_single_tree_char_alphabet(void)

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->site->position, 0.5);
CU_ASSERT_EQUAL(var->site.position, 0.5);
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_EQUAL(var->allele_lengths[0], 1);
CU_ASSERT_EQUAL(var->allele_lengths[1], 1);
Expand Down Expand Up @@ -465,8 +465,8 @@ test_single_tree_binary_alphabet(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 0);
CU_ASSERT_EQUAL(var->site->mutations_length, 1);
CU_ASSERT_EQUAL(var->site.id, 0);
CU_ASSERT_EQUAL(var->site.mutations_length, 1);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
Expand All @@ -477,8 +477,8 @@ test_single_tree_binary_alphabet(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 1);
CU_ASSERT_EQUAL(var->site->mutations_length, 2);
CU_ASSERT_EQUAL(var->site.id, 1);
CU_ASSERT_EQUAL(var->site.mutations_length, 2);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
Expand All @@ -489,8 +489,8 @@ test_single_tree_binary_alphabet(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 2);
CU_ASSERT_EQUAL(var->site->mutations_length, 4);
CU_ASSERT_EQUAL(var->site.id, 2);
CU_ASSERT_EQUAL(var->site.mutations_length, 4);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 0);
Expand Down Expand Up @@ -528,8 +528,8 @@ test_single_tree_non_samples(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 0);
CU_ASSERT_EQUAL(var->site->mutations_length, 1);
CU_ASSERT_EQUAL(var->site.id, 0);
CU_ASSERT_EQUAL(var->site.mutations_length, 1);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
Expand All @@ -538,8 +538,8 @@ test_single_tree_non_samples(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 1);
CU_ASSERT_EQUAL(var->site->mutations_length, 2);
CU_ASSERT_EQUAL(var->site.id, 1);
CU_ASSERT_EQUAL(var->site.mutations_length, 2);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
Expand All @@ -548,8 +548,8 @@ test_single_tree_non_samples(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 2);
CU_ASSERT_EQUAL(var->site->mutations_length, 4);
CU_ASSERT_EQUAL(var->site.id, 2);
CU_ASSERT_EQUAL(var->site.mutations_length, 4);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 0);
Expand Down Expand Up @@ -661,8 +661,8 @@ test_single_tree_subsample(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 0);
CU_ASSERT_EQUAL(var->site->mutations_length, 1);
CU_ASSERT_EQUAL(var->site.id, 0);
CU_ASSERT_EQUAL(var->site.mutations_length, 1);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
Expand All @@ -671,8 +671,8 @@ test_single_tree_subsample(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 1);
CU_ASSERT_EQUAL(var->site->mutations_length, 2);
CU_ASSERT_EQUAL(var->site.id, 1);
CU_ASSERT_EQUAL(var->site.mutations_length, 2);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
Expand All @@ -681,8 +681,8 @@ test_single_tree_subsample(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 2);
CU_ASSERT_EQUAL(var->site->mutations_length, 4);
CU_ASSERT_EQUAL(var->site.id, 2);
CU_ASSERT_EQUAL(var->site.mutations_length, 4);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 0);
Expand All @@ -700,24 +700,24 @@ test_single_tree_subsample(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 0);
CU_ASSERT_EQUAL(var->site->mutations_length, 1);
CU_ASSERT_EQUAL(var->site.id, 0);
CU_ASSERT_EQUAL(var->site.mutations_length, 1);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 1);
CU_ASSERT_EQUAL(var->site->mutations_length, 2);
CU_ASSERT_EQUAL(var->site.id, 1);
CU_ASSERT_EQUAL(var->site.mutations_length, 2);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 2);
CU_ASSERT_EQUAL(var->site->mutations_length, 4);
CU_ASSERT_EQUAL(var->site.id, 2);
CU_ASSERT_EQUAL(var->site.mutations_length, 4);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 0);
Expand Down Expand Up @@ -827,8 +827,8 @@ test_single_tree_silent_mutations(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 0);
CU_ASSERT_EQUAL(var->site->mutations_length, 2);
CU_ASSERT_EQUAL(var->site.id, 0);
CU_ASSERT_EQUAL(var->site.mutations_length, 2);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
Expand All @@ -839,8 +839,8 @@ test_single_tree_silent_mutations(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 1);
CU_ASSERT_EQUAL(var->site->mutations_length, 3);
CU_ASSERT_EQUAL(var->site.id, 1);
CU_ASSERT_EQUAL(var->site.mutations_length, 3);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
Expand All @@ -851,8 +851,8 @@ test_single_tree_silent_mutations(void)
CU_ASSERT_EQUAL(var->num_alleles, 2);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 2);
CU_ASSERT_EQUAL(var->site->mutations_length, 4);
CU_ASSERT_EQUAL(var->site.id, 2);
CU_ASSERT_EQUAL(var->site.mutations_length, 4);

ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 1);
Expand All @@ -863,8 +863,8 @@ test_single_tree_silent_mutations(void)
CU_ASSERT_EQUAL(var->num_alleles, 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[0], "0", 1);
CU_ASSERT_NSTRING_EQUAL(var->alleles[1], "1", 1);
CU_ASSERT_EQUAL(var->site->id, 3);
CU_ASSERT_EQUAL(var->site->mutations_length, 1);
CU_ASSERT_EQUAL(var->site.id, 3);
CU_ASSERT_EQUAL(var->site.mutations_length, 1);
ret = tsk_vargen_next(&vargen, &var);
CU_ASSERT_EQUAL_FATAL(ret, 0);

Expand All @@ -874,7 +874,7 @@ test_single_tree_silent_mutations(void)
}

static void
test_multiple_tree_get_variant(void)
test_multiple_variant_decode(void)
{
int ret = 0;
tsk_size_t k;
Expand Down Expand Up @@ -933,7 +933,7 @@ test_multiple_tree_get_variant(void)
}

static void
test_tree_get_variant_errors(void)
test_variant_decode_errors(void)
{
int ret = 0;
tsk_treeseq_t ts;
Expand All @@ -948,6 +948,13 @@ test_tree_get_variant_errors(void)
CU_ASSERT_EQUAL_FATAL(ret, TSK_ERR_OUT_OF_BOUNDS);
tsk_variant_free(&var);

/* Site out of bounds */
ret = tsk_variant_init(&var, &ts, NULL, 0, NULL, 0);
CU_ASSERT_EQUAL_FATAL(ret, 0);
ret = tsk_variant_decode(&var, 42, 0);
CU_ASSERT_EQUAL_FATAL(ret, TSK_ERR_SITE_OUT_OF_BOUNDS);
tsk_variant_free(&var);

tsk_treeseq_free(&ts);
}

Expand All @@ -970,8 +977,8 @@ main(int argc, char **argv)
{ "test_single_tree_subsample", test_single_tree_subsample },
{ "test_single_tree_many_alleles", test_single_tree_many_alleles },
{ "test_single_tree_silent_mutations", test_single_tree_silent_mutations },
{ "test_multiple_tree_get_variant", test_multiple_tree_get_variant },
{ "test_tree_get_variant_errors", test_tree_get_variant_errors },
{ "test_multiple_variant_decode", test_multiple_variant_decode },
{ "test_variant_decode_errors", test_variant_decode_errors },
{ NULL, NULL },
};

Expand Down
Loading