commit 740756b2fa55e6241e36ea433da9eb4ee58f6d03
parent 6e76f955c8948a2a9bc706014e75b74e683331c0
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Mon, 28 Nov 2016 13:24:20 +0100
Fix core tests.
Was mainly problems of BAD_ARG policy: API doesn't manage bad args
anymore; test codes cannot test these situations anymore.
Diffstat:
6 files changed, 15 insertions(+), 57 deletions(-)
diff --git a/src/core/solstice_core_node.c b/src/core/solstice_core_node.c
@@ -187,7 +187,7 @@ node_instanciate_any
if (res != RES_OK) goto error;
break;
case NODE_INSTANCE_ROOT:
- res = RES_BAD_ARG;
+ ASSERT(0);
goto error;
case NODE_TRACKING_TARGET:
res = score_node_tracking_target_create(dev, &node);
@@ -214,7 +214,7 @@ node_instanciate_any
SANIM(node_set_rotations(&node->anim, v));
break;
case NODE_INSTANCE:
- res = RES_BAD_ARG;
+ ASSERT(0);
goto error;
case NODE_PIVOT:
#ifndef NDEBUG
@@ -362,7 +362,7 @@ score_node_object_setup
struct ssol_object* object)
{
res_T res = RES_OK;
- ASSERT(node && object && node->type != NODE_TEMPLATE);
+ ASSERT(node && object && node->type == NODE_TEMPLATE);
/* TODO: deal with multiple setups */
res = sanim_node_initialize(node->device->allocator, &node->anim);
if (res != RES_OK) goto error;
@@ -387,7 +387,7 @@ score_node_pivot_setup
const struct sanim_tracking* tracking)
{
res_T res = RES_OK;
- ASSERT(node && pivot && tracking && node->type != NODE_PIVOT);
+ ASSERT(node && pivot && tracking && node->type == NODE_PIVOT);
/* TODO: deal with multiple setups */
res = sanim_node_initialize_pivot(
node->device->allocator, pivot, tracking, &node->anim);
@@ -406,7 +406,7 @@ score_node_track_me
(const struct score_node* node,
struct sanim_tracking* tracking)
{
- ASSERT(node && tracking && node->type != NODE_TRACKING_TARGET);
+ ASSERT(node && tracking && node->type == NODE_TRACKING_TARGET);
SANIM(node_track_me(&node->anim, tracking));
}
diff --git a/src/core/solstice_core_scene.c b/src/core/solstice_core_scene.c
@@ -127,7 +127,7 @@ node_to_solver(const struct sanim_node* node_, const double transform[12], void*
node = CONTAINER_OF(node_, struct score_node, anim);
switch (node->type) {
case NODE_TEMPLATE_ROOT:
- res = RES_BAD_ARG;
+ ASSERT(0);
break;
case NODE_INSTANCE_ROOT:
/* the root doesn't include any solver-related item */
@@ -136,7 +136,7 @@ node_to_solver(const struct sanim_node* node_, const double transform[12], void*
/* not a solver-related item */
break;
case NODE_TEMPLATE:
- res = RES_BAD_ARG;
+ ASSERT(0);
break;
case NODE_INSTANCE:
SSOL(instance_set_transform(
@@ -168,16 +168,16 @@ node_to_solver_update(const struct sanim_node* node_, const double transform[12]
node = CONTAINER_OF(node_, struct score_node, anim);
switch (node->type) {
case NODE_TEMPLATE_ROOT:
- res = RES_BAD_ARG;
+ ASSERT(0);
break;
case NODE_INSTANCE_ROOT:
- res = RES_BAD_ARG; /* should only visit post-pivot nodes */
+ ASSERT(0); /* should only visit post-pivot nodes */
break;
case NODE_TRACKING_TARGET:
/* not a solver-related item */
break;
case NODE_TEMPLATE:
- res = RES_BAD_ARG;
+ ASSERT(0);
break;
case NODE_INSTANCE:
SSOL(instance_set_transform(
@@ -243,7 +243,7 @@ score_scene_create
{
struct score_scene* scene;
res_T res = RES_OK;
- if (!dev || !out_scene) return RES_BAD_ARG;
+ ASSERT(dev && out_scene);
scene = MEM_CALLOC(dev->allocator, 1, sizeof(struct score_scene));
if (!scene) {
@@ -297,7 +297,7 @@ score_scene_attach_instance
&& !instance->data.instance_root.scene_attachment);
anim = &instance->anim;
SANIM(node_is_initialized(anim, &ok));
- if (!ok) return RES_BAD_ARG;
+ ASSERT(ok);
res = darray_nodes_push_back(&scene->instances, &anim);
if (res != RES_OK) goto error;
instance->data.instance_root.scene_attachment = scene;
@@ -395,7 +395,7 @@ score_scene_reset_simulation(struct score_scene* scene)
size_t count = 0, i;
struct sanim_node** instances;
double sun_dir[3];
- if (!scene || !scene->sun) return RES_BAD_ARG;
+ ASSERT(scene && scene->sun);
SSOL(sun_get_direction(scene->sun, sun_dir));
count = darray_nodes_size_get(&scene->instances);
instances = darray_nodes_data_get(&scene->instances);
@@ -427,7 +427,7 @@ score_scene_update_simulation(struct score_scene* scene)
size_t p_count = 0, p;
struct sanim_node** instances;
double sun_dir[3];
- if (!scene || !scene->sun) return RES_BAD_ARG;
+ ASSERT(scene && scene->sun);
SSOL(sun_get_direction(scene->sun, sun_dir));
count = darray_nodes_size_get(&scene->instances);
instances = darray_nodes_data_get(&scene->instances);
diff --git a/src/core/solstice_core_solver.c b/src/core/solstice_core_solver.c
@@ -26,7 +26,6 @@ score_solve
FILE* output,
struct ssol_estimator* estimator)
{
- if (!scene || !rng || !realisations_count || !output || !estimator)
- return RES_BAD_ARG;
+ ASSERT(scene && rng && realisations_count && output && estimator);
return ssol_solve(scene->solver, rng, realisations_count, output, estimator);
}
\ No newline at end of file
diff --git a/src/core/test_core_device.c b/src/core/test_core_device.c
@@ -26,15 +26,12 @@ main(int argc, char** argv)
struct score_device* dev;
(void) argc, (void) argv;
- CHECK(score_device_create(NULL, NULL, 0, 0, NULL), RES_BAD_ARG);
CHECK(score_device_create(NULL, NULL, 1, 0, &dev), RES_OK);
-
score_device_ref_put(dev);
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
CHECK(MEM_ALLOCATED_SIZE(&allocator), 0);
- CHECK(score_device_create(NULL, &allocator, 2, 0, NULL), RES_BAD_ARG);
CHECK(score_device_create(NULL, &allocator, 1, 0, &dev), RES_OK);
score_device_ref_put(dev);
CHECK(MEM_ALLOCATED_SIZE(&allocator), 0);
@@ -44,15 +41,12 @@ main(int argc, char** argv)
logger_set_stream(&logger, LOG_ERROR, log_stream, NULL);
logger_set_stream(&logger, LOG_WARNING, log_stream, NULL);
- CHECK(score_device_create(&logger, NULL, 4, 0, NULL), RES_BAD_ARG);
CHECK(score_device_create(&logger, NULL, 1, 0, &dev), RES_OK);
score_device_ref_put(dev);
- CHECK(score_device_create(&logger, &allocator, 2, 0, NULL), RES_BAD_ARG);
CHECK(score_device_create(&logger, &allocator, 1, 0, &dev), RES_OK);
score_device_ref_put(dev);
- CHECK(score_device_create(&logger, &allocator, 0, 0, &dev), RES_BAD_ARG);
CHECK(score_device_create(&logger, &allocator, 1, 0, &dev), RES_OK);
score_device_ref_put(dev);
diff --git a/src/core/test_core_node.c b/src/core/test_core_node.c
@@ -59,23 +59,15 @@ main(int argc, char** argv)
score_device_create(&logger, &allocator, 1, 0, &dev);
- CHECK(score_node_template_create(NULL, &temp), RES_BAD_ARG);
- CHECK(score_node_template_create(dev, NULL), RES_BAD_ARG);
CHECK(score_node_template_create(dev, &temp), RES_OK);
score_node_ref_put(temp);
- CHECK(score_node_create_object(NULL, &geom1), RES_BAD_ARG);
- CHECK(score_node_create_object(dev, NULL), RES_BAD_ARG);
CHECK(score_node_create_object(dev, &geom1), RES_OK);
score_node_ref_put(geom1);
- CHECK(score_node_pivot_create(NULL, &piv), RES_BAD_ARG);
- CHECK(score_node_pivot_create(dev, NULL), RES_BAD_ARG);
CHECK(score_node_pivot_create(dev, &piv), RES_OK);
score_node_ref_put(piv);
- CHECK(score_node_tracking_target_create(NULL, &tgt), RES_BAD_ARG);
- CHECK(score_node_tracking_target_create(dev, NULL), RES_BAD_ARG);
CHECK(score_node_tracking_target_create(dev, &tgt), RES_OK);
score_node_ref_put(tgt);
@@ -92,9 +84,6 @@ main(int argc, char** argv)
CHECK(tracking.policy, TRACKING_NODE_TARGET);
/* cannot check tracking.data.node_target.tracked_node validity */
- CHECK(score_node_instantiate(NULL, &inst), RES_BAD_ARG);
- CHECK(score_node_instantiate(temp, NULL), RES_BAD_ARG);
- CHECK(score_node_instantiate(geom1, &inst), RES_BAD_ARG);
CHECK(score_node_instantiate(temp, &inst), RES_OK);
score_node_ref_put(inst);
@@ -120,8 +109,6 @@ main(int argc, char** argv)
tracking.policy = TRACKING_SUN;
pivot.type = PIVOT_SINGLE_AXIS;
d3(pivot.data.pivot1.ref_normal, 0, 0, 1);
- CHECK(score_node_object_setup(NULL, obj1), RES_BAD_ARG);
- CHECK(score_node_object_setup(geom1, NULL), RES_BAD_ARG);
CHECK(score_node_object_setup(geom1, obj1), RES_OK);
CHECK(score_node_pivot_setup(piv, &pivot, &tracking), RES_OK);
@@ -147,16 +134,8 @@ main(int argc, char** argv)
CHECK(ssol_shape_ref_put(shape2), RES_OK);
CHECK(ssol_device_ref_put(sol_dev), RES_OK);
- CHECK(score_node_add_child(NULL, geom1), RES_BAD_ARG);
- CHECK(score_node_add_child(temp, NULL), RES_BAD_ARG);
- CHECK(score_node_add_child(tgt, geom1), RES_BAD_ARG);
- CHECK(score_node_add_child(inst, geom1), RES_BAD_ARG);
- CHECK(score_node_add_child(geom1, temp), RES_BAD_ARG);
- CHECK(score_node_add_child(geom1, inst), RES_BAD_ARG);
CHECK(score_node_add_child(temp, geom1), RES_OK);
- CHECK(score_node_add_child(geom1, geom1), RES_BAD_ARG);
CHECK(score_node_add_child(geom1, piv), RES_OK);
- CHECK(score_node_add_child(piv, piv2), RES_BAD_ARG);
score_node_ref_put(piv2);
score_node_set_translation(inst, transl);
diff --git a/src/core/test_core_scene.c b/src/core/test_core_scene.c
@@ -146,9 +146,6 @@ main(int argc, char** argv)
CHECK(ssol_device_ref_put(sol_dev), RES_OK);
/* some scene API tests */
-
- CHECK(score_scene_create(NULL, &scene), RES_BAD_ARG);
- CHECK(score_scene_create(dev, NULL), RES_BAD_ARG);
CHECK(score_scene_create(dev, &scene), RES_OK);
score_scene_ref_put(scene);
@@ -158,18 +155,7 @@ main(int argc, char** argv)
NCHECK(tmp = tmpfile(), 0);
CHECK(ssp_rng_create(&allocator, &ssp_rng_threefry, &rng), RES_OK);
CHECK(ssol_estimator_create(sol_dev, &estimator), RES_OK);
- CHECK(score_solve(scene, NULL, N__, tmp, estimator), RES_BAD_ARG);
- CHECK(score_solve(scene, rng, 0, tmp, estimator), RES_BAD_ARG);
- CHECK(score_solve(scene, rng, N__, NULL, estimator), RES_BAD_ARG);
- CHECK(score_solve(scene, rng, N__, tmp, NULL), RES_BAD_ARG);
- /* incomplete scene (see solver lib) */
- CHECK(score_solve(scene, rng, N__, tmp, estimator), RES_BAD_ARG);
-
- CHECK(score_scene_attach_instance(NULL, inst1), RES_BAD_ARG);
- CHECK(score_scene_attach_instance(scene, NULL), RES_BAD_ARG);
- CHECK(score_scene_attach_instance(scene, piv), RES_BAD_ARG);
CHECK(score_scene_attach_instance(scene, inst1), RES_OK);
- CHECK(score_scene_attach_instance(scene, inst1), RES_BAD_ARG);
score_scene_detach_instance(scene, inst1);