@@ -131,7 +131,7 @@ test_table_collection_equals_options(void)
131
131
CU_ASSERT (ret >= 0 );
132
132
ret = tsk_node_table_add_row (& tc1 .nodes , TSK_NODE_IS_SAMPLE , 1.0 , 0 , 0 , NULL , 0 );
133
133
CU_ASSERT (ret >= 0 );
134
- ret = tsk_individual_table_add_row (& tc1 .individuals , 0 , NULL , 0 , NULL , 0 );
134
+ ret = tsk_individual_table_add_row (& tc1 .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
135
135
CU_ASSERT (ret >= 0 );
136
136
ret = tsk_population_table_add_row (& tc1 .populations , NULL , 0 );
137
137
CU_ASSERT (ret >= 0 );
@@ -2088,12 +2088,13 @@ test_individual_table(void)
2088
2088
tsk_individual_table_set_max_rows_increment (& table , 1 );
2089
2089
tsk_individual_table_set_max_metadata_length_increment (& table , 1 );
2090
2090
tsk_individual_table_set_max_location_length_increment (& table , 1 );
2091
+ tsk_individual_table_set_max_parents_length_increment (& table , 1 );
2091
2092
2092
2093
tsk_individual_table_print_state (& table , _devnull );
2093
2094
2094
2095
for (j = 0 ; j < (tsk_id_t ) num_rows ; j ++ ) {
2095
2096
ret = tsk_individual_table_add_row (& table , (tsk_flags_t ) j , test_location ,
2096
- spatial_dimension , test_metadata , test_metadata_length );
2097
+ spatial_dimension , NULL , 0 , test_metadata , test_metadata_length );
2097
2098
CU_ASSERT_EQUAL_FATAL (ret , j );
2098
2099
CU_ASSERT_EQUAL (table .flags [j ], (tsk_flags_t ) j );
2099
2100
for (k = 0 ; k < spatial_dimension ; k ++ ) {
@@ -2172,8 +2173,8 @@ test_individual_table(void)
2172
2173
for (j = 0 ; j < (tsk_id_t ) num_rows + 1 ; j ++ ) {
2173
2174
metadata_offset [j ] = (tsk_size_t ) j ;
2174
2175
}
2175
- ret = tsk_individual_table_set_columns (
2176
- & table , num_rows , flags , location , location_offset , metadata , metadata_offset );
2176
+ ret = tsk_individual_table_set_columns (& table , num_rows , flags , location ,
2177
+ location_offset , NULL , NULL , metadata , metadata_offset );
2177
2178
CU_ASSERT_EQUAL (ret , 0 );
2178
2179
CU_ASSERT_EQUAL (memcmp (table .flags , flags , num_rows * sizeof (uint32_t )), 0 );
2179
2180
CU_ASSERT_EQUAL (
@@ -2192,8 +2193,8 @@ test_individual_table(void)
2192
2193
tsk_individual_table_print_state (& table , _devnull );
2193
2194
2194
2195
/* Append another num_rows onto the end */
2195
- ret = tsk_individual_table_append_columns (
2196
- & table , num_rows , flags , location , location_offset , metadata , metadata_offset );
2196
+ ret = tsk_individual_table_append_columns (& table , num_rows , flags , location ,
2197
+ location_offset , NULL , NULL , metadata , metadata_offset );
2197
2198
CU_ASSERT_EQUAL (ret , 0 );
2198
2199
CU_ASSERT_EQUAL (memcmp (table .flags , flags , num_rows * sizeof (uint32_t )), 0 );
2199
2200
CU_ASSERT_EQUAL (
@@ -2235,38 +2236,39 @@ test_individual_table(void)
2235
2236
ret = tsk_individual_table_truncate (& table , num_rows + 1 );
2236
2237
CU_ASSERT_EQUAL_FATAL (ret , TSK_ERR_BAD_TABLE_POSITION );
2237
2238
2239
+ // TODO: add tests for parent spec
2238
2240
/* flags can't be NULL */
2239
- ret = tsk_individual_table_set_columns (
2240
- & table , num_rows , NULL , location , location_offset , metadata , metadata_offset );
2241
+ ret = tsk_individual_table_set_columns (& table , num_rows , NULL , location ,
2242
+ location_offset , NULL , NULL , metadata , metadata_offset );
2241
2243
CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
2242
2244
/* location and location offset must be simultaneously NULL or not */
2243
2245
ret = tsk_individual_table_set_columns (
2244
- & table , num_rows , flags , location , NULL , metadata , metadata_offset );
2246
+ & table , num_rows , flags , location , NULL , NULL , NULL , metadata , metadata_offset );
2245
2247
CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
2246
- ret = tsk_individual_table_set_columns (
2247
- & table , num_rows , flags , NULL , location_offset , metadata , metadata_offset );
2248
+ ret = tsk_individual_table_set_columns (& table , num_rows , flags , NULL ,
2249
+ location_offset , NULL , NULL , metadata , metadata_offset );
2248
2250
CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
2249
2251
/* metadata and metadata offset must be simultaneously NULL or not */
2250
- ret = tsk_individual_table_set_columns (
2251
- & table , num_rows , flags , location , location_offset , NULL , metadata_offset );
2252
+ ret = tsk_individual_table_set_columns (& table , num_rows , flags , location ,
2253
+ location_offset , NULL , NULL , NULL , metadata_offset );
2252
2254
CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
2253
2255
ret = tsk_individual_table_set_columns (
2254
- & table , num_rows , flags , location , location_offset , metadata , NULL );
2256
+ & table , num_rows , flags , location , location_offset , NULL , NULL , metadata , NULL );
2255
2257
CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
2256
2258
2257
2259
/* if location and location_offset are both null, all locations are zero length */
2258
2260
num_rows = 10 ;
2259
2261
memset (location_offset , 0 , (num_rows + 1 ) * sizeof (tsk_size_t ));
2260
2262
ret = tsk_individual_table_set_columns (
2261
- & table , num_rows , flags , NULL , NULL , NULL , NULL );
2263
+ & table , num_rows , flags , NULL , NULL , NULL , NULL , NULL , NULL );
2262
2264
CU_ASSERT_EQUAL (ret , 0 );
2263
2265
CU_ASSERT_EQUAL (memcmp (table .location_offset , location_offset ,
2264
2266
(num_rows + 1 ) * sizeof (tsk_size_t )),
2265
2267
0 );
2266
2268
CU_ASSERT_EQUAL (table .num_rows , num_rows );
2267
2269
CU_ASSERT_EQUAL (table .location_length , 0 );
2268
2270
ret = tsk_individual_table_append_columns (
2269
- & table , num_rows , flags , NULL , NULL , NULL , NULL );
2271
+ & table , num_rows , flags , NULL , NULL , NULL , NULL , NULL , NULL );
2270
2272
CU_ASSERT_EQUAL (ret , 0 );
2271
2273
CU_ASSERT_EQUAL (memcmp (table .location_offset , location_offset ,
2272
2274
(num_rows + 1 ) * sizeof (tsk_size_t )),
@@ -2284,7 +2286,7 @@ test_individual_table(void)
2284
2286
num_rows = 10 ;
2285
2287
memset (metadata_offset , 0 , (num_rows + 1 ) * sizeof (tsk_size_t ));
2286
2288
ret = tsk_individual_table_set_columns (
2287
- & table , num_rows , flags , location , location_offset , NULL , NULL );
2289
+ & table , num_rows , flags , location , location_offset , NULL , NULL , NULL , NULL );
2288
2290
CU_ASSERT_EQUAL (ret , 0 );
2289
2291
CU_ASSERT_EQUAL (memcmp (table .flags , flags , num_rows * sizeof (uint32_t )), 0 );
2290
2292
CU_ASSERT_EQUAL (
@@ -2296,7 +2298,7 @@ test_individual_table(void)
2296
2298
CU_ASSERT_EQUAL (table .num_rows , num_rows );
2297
2299
CU_ASSERT_EQUAL (table .metadata_length , 0 );
2298
2300
ret = tsk_individual_table_append_columns (
2299
- & table , num_rows , flags , location , location_offset , NULL , NULL );
2301
+ & table , num_rows , flags , location , location_offset , NULL , NULL , NULL , NULL );
2300
2302
CU_ASSERT_EQUAL (ret , 0 );
2301
2303
CU_ASSERT_EQUAL (
2302
2304
memcmp (table .location , location , spatial_dimension * num_rows * sizeof (double )),
@@ -4311,7 +4313,7 @@ test_table_overflow(void)
4311
4313
/* Simulate overflows */
4312
4314
tables .individuals .max_rows = max_rows ;
4313
4315
tables .individuals .num_rows = max_rows ;
4314
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , 0 , 0 , NULL , 0 );
4316
+ ret = tsk_individual_table_add_row (& tables .individuals , 0 , 0 , 0 , NULL , 0 , NULL , 0 );
4315
4317
CU_ASSERT_EQUAL_FATAL (ret , TSK_ERR_TABLE_OVERFLOW );
4316
4318
4317
4319
tables .nodes .max_rows = max_rows ;
@@ -4366,13 +4368,17 @@ test_column_overflow(void)
4366
4368
4367
4369
/* We can't trigger a column overflow with one element because the parameter
4368
4370
* value is 32 bit */
4369
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , & zero , 1 , NULL , 0 );
4371
+ ret = tsk_individual_table_add_row (
4372
+ & tables .individuals , 0 , & zero , 1 , NULL , 0 , NULL , 0 );
4370
4373
CU_ASSERT_EQUAL_FATAL (ret , 0 );
4371
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , too_big , NULL , 0 );
4374
+ ret = tsk_individual_table_add_row (
4375
+ & tables .individuals , 0 , NULL , too_big , NULL , 0 , NULL , 0 );
4372
4376
CU_ASSERT_EQUAL_FATAL (ret , TSK_ERR_COLUMN_OVERFLOW );
4373
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , zeros , 1 );
4377
+ ret = tsk_individual_table_add_row (
4378
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , zeros , 1 );
4374
4379
CU_ASSERT_EQUAL_FATAL (ret , 1 );
4375
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , too_big );
4380
+ ret = tsk_individual_table_add_row (
4381
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , too_big );
4376
4382
CU_ASSERT_EQUAL_FATAL (ret , TSK_ERR_COLUMN_OVERFLOW );
4377
4383
4378
4384
ret = tsk_node_table_add_row (& tables .nodes , 0 , 0 , 0 , 0 , zeros , 1 );
@@ -4925,9 +4931,11 @@ test_table_collection_subset_with_options(tsk_flags_t options)
4925
4931
ret = tsk_node_table_add_row (
4926
4932
& tables .nodes , TSK_NODE_IS_SAMPLE , 0.0 , TSK_NULL , 1 , NULL , 0 );
4927
4933
CU_ASSERT_FATAL (ret >= 0 );
4928
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
4934
+ ret = tsk_individual_table_add_row (
4935
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
4929
4936
CU_ASSERT_FATAL (ret >= 0 );
4930
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
4937
+ ret = tsk_individual_table_add_row (
4938
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
4931
4939
CU_ASSERT_FATAL (ret >= 0 );
4932
4940
ret = tsk_population_table_add_row (& tables .populations , NULL , 0 );
4933
4941
CU_ASSERT_FATAL (ret >= 0 );
@@ -5018,9 +5026,11 @@ test_table_collection_subset_errors(void)
5018
5026
ret = tsk_node_table_add_row (
5019
5027
& tables .nodes , TSK_NODE_IS_SAMPLE , 0.0 , TSK_NULL , 1 , NULL , 0 );
5020
5028
CU_ASSERT_FATAL (ret >= 0 );
5021
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
5029
+ ret = tsk_individual_table_add_row (
5030
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
5022
5031
CU_ASSERT_FATAL (ret >= 0 );
5023
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
5032
+ ret = tsk_individual_table_add_row (
5033
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
5024
5034
CU_ASSERT_FATAL (ret >= 0 );
5025
5035
ret = tsk_population_table_add_row (& tables .populations , NULL , 0 );
5026
5036
CU_ASSERT_FATAL (ret >= 0 );
@@ -5106,11 +5116,14 @@ test_table_collection_union(void)
5106
5116
CU_ASSERT_FATAL (ret >= 0 );
5107
5117
ret = tsk_node_table_add_row (& tables .nodes , TSK_NODE_IS_SAMPLE , 0.5 , 1 , 2 , NULL , 0 );
5108
5118
CU_ASSERT_FATAL (ret >= 0 );
5109
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
5119
+ ret = tsk_individual_table_add_row (
5120
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
5110
5121
CU_ASSERT_FATAL (ret >= 0 );
5111
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
5122
+ ret = tsk_individual_table_add_row (
5123
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
5112
5124
CU_ASSERT_FATAL (ret >= 0 );
5113
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
5125
+ ret = tsk_individual_table_add_row (
5126
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
5114
5127
CU_ASSERT_FATAL (ret >= 0 );
5115
5128
ret = tsk_population_table_add_row (& tables .populations , NULL , 0 );
5116
5129
CU_ASSERT_FATAL (ret >= 0 );
@@ -5220,9 +5233,11 @@ test_table_collection_union_errors(void)
5220
5233
CU_ASSERT_FATAL (ret >= 0 );
5221
5234
ret = tsk_node_table_add_row (& tables .nodes , TSK_NODE_IS_SAMPLE , 0.5 , 1 , 1 , NULL , 0 );
5222
5235
CU_ASSERT_FATAL (ret >= 0 );
5223
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
5236
+ ret = tsk_individual_table_add_row (
5237
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
5224
5238
CU_ASSERT_FATAL (ret >= 0 );
5225
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
5239
+ ret = tsk_individual_table_add_row (
5240
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
5226
5241
CU_ASSERT_FATAL (ret >= 0 );
5227
5242
ret = tsk_population_table_add_row (& tables .populations , NULL , 0 );
5228
5243
CU_ASSERT_FATAL (ret >= 0 );
@@ -5311,9 +5326,11 @@ test_table_collection_clear_with_options(tsk_flags_t options)
5311
5326
CU_ASSERT_FATAL (ret >= 0 );
5312
5327
ret = tsk_node_table_add_row (& tables .nodes , TSK_NODE_IS_SAMPLE , 0.5 , 1 , 1 , NULL , 0 );
5313
5328
CU_ASSERT_FATAL (ret >= 0 );
5314
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
5329
+ ret = tsk_individual_table_add_row (
5330
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
5315
5331
CU_ASSERT_FATAL (ret >= 0 );
5316
- ret = tsk_individual_table_add_row (& tables .individuals , 0 , NULL , 0 , NULL , 0 );
5332
+ ret = tsk_individual_table_add_row (
5333
+ & tables .individuals , 0 , NULL , 0 , NULL , 0 , NULL , 0 );
5317
5334
CU_ASSERT_FATAL (ret >= 0 );
5318
5335
ret = tsk_population_table_add_row (& tables .populations , NULL , 0 );
5319
5336
CU_ASSERT_FATAL (ret >= 0 );
0 commit comments