You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2006/01/12 05:28:53 UTC
svn commit: r368259 - in /webservices/axis2/trunk/c:
modules/core/description/ modules/core/phaseresolver/
test/unit/core/description/ test/unit/core/phaseresolver/
Author: damitha
Date: Wed Jan 11 20:28:27 2006
New Revision: 368259
URL: http://svn.apache.org/viewcvs?rev=368259&view=rev
Log:
Fixed Jira axis2c-2.
Added several unit tests in the process
Added:
webservices/axis2/trunk/c/test/unit/core/description/test_flow.c
webservices/axis2/trunk/c/test/unit/core/description/test_flow.h
webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.c
webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.h
webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.c
webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.h
Modified:
webservices/axis2/trunk/c/modules/core/description/flow.c
webservices/axis2/trunk/c/modules/core/description/handler_desc.c
webservices/axis2/trunk/c/modules/core/description/op.c
webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c
webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
webservices/axis2/trunk/c/test/unit/core/description/Makefile.am
webservices/axis2/trunk/c/test/unit/core/description/description_test.c
webservices/axis2/trunk/c/test/unit/core/description/description_test.h
webservices/axis2/trunk/c/test/unit/core/description/test_op.c
webservices/axis2/trunk/c/test/unit/core/phaseresolver/Makefile.am
webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.c
webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.h
webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.c
webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.h
Modified: webservices/axis2/trunk/c/modules/core/description/flow.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/flow.c?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/flow.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/flow.c Wed Jan 11 20:28:27 2006
@@ -55,10 +55,11 @@
axis2_flow_t * AXIS2_CALL
axis2_flow_create (axis2_env_t **env)
{
+ axis2_flow_impl_t *flow_impl = NULL;
+
AXIS2_ENV_CHECK(env, NULL);
-
- axis2_flow_impl_t *flow_impl = (axis2_flow_impl_t *) AXIS2_MALLOC((*env)->
- allocator, sizeof(axis2_flow_impl_t));
+ flow_impl = (axis2_flow_impl_t *) AXIS2_MALLOC((*env)->allocator,
+ sizeof(axis2_flow_impl_t));
if(NULL == flow_impl)
{
@@ -70,7 +71,7 @@
flow_impl->flow.ops = NULL;
/*Create the list with the default size of 16 */
- flow_impl->list = axis2_array_list_create (env, 0);
+ flow_impl->list = axis2_array_list_create (env, 20);
if(NULL == flow_impl->list)
{
axis2_flow_free(&(flow_impl->flow), env);
@@ -78,8 +79,8 @@
return NULL;
}
- flow_impl->flow.ops =
- AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_flow_ops_t));
+ flow_impl->flow.ops = AXIS2_MALLOC ((*env)->allocator,
+ sizeof(axis2_flow_ops_t));
if(NULL == flow_impl->flow.ops)
{
axis2_flow_free(&(flow_impl->flow), env);
@@ -103,6 +104,7 @@
axis2_flow_impl_t *flow_impl = NULL;
AXIS2_FUNC_PARAM_CHECK(flow, env, AXIS2_FAILURE);
+ flow_impl = AXIS2_INTF_TO_IMPL(flow);
if(NULL != flow->ops)
{
Modified: webservices/axis2/trunk/c/modules/core/description/handler_desc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/handler_desc.c?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/handler_desc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/handler_desc.c Wed Jan 11 20:28:27 2006
@@ -38,47 +38,74 @@
} axis2_handler_desc_impl_t;
/** Interface to implementation conversion macro */
-#define AXIS2_INTF_TO_IMPL(handler_desc) ((axis2_handler_desc_impl_t *)handler_desc)
+#define AXIS2_INTF_TO_IMPL(handler_desc) \
+ ((axis2_handler_desc_impl_t *)handler_desc)
-axis2_qname_t* AXIS2_CALL axis2_handler_desc_get_qname (struct axis2_handler_desc *handler_desc,
+axis2_qname_t* AXIS2_CALL
+axis2_handler_desc_get_qname (struct axis2_handler_desc *handler_desc,
+ axis2_env_t **env);
+axis2_status_t AXIS2_CALL
+axis2_handler_desc_set_qname (struct axis2_handler_desc *handler_desc,
+ axis2_env_t **env,
+ axis2_qname_t *qname);
+axis2_phase_rule_t* AXIS2_CALL
+axis2_handler_desc_get_rules(struct axis2_handler_desc *handler_desc,
axis2_env_t **env);
-axis2_status_t AXIS2_CALL axis2_handler_desc_set_qname (struct axis2_handler_desc *handler_desc,
- axis2_env_t **env, axis2_qname_t *qname);
-axis2_phase_rule_t* AXIS2_CALL axis2_handler_desc_get_rules(struct axis2_handler_desc *handler_desc,
+axis2_status_t AXIS2_CALL
+axis2_handler_desc_set_rules(struct axis2_handler_desc *handler_desc,
+ axis2_env_t **env,
+ axis2_phase_rule_t *phase_rule);
+axis2_param_t* AXIS2_CALL
+axis2_handler_desc_get_param(struct axis2_handler_desc *handler_desc,
+ axis2_env_t **env,
+ axis2_char_t *name);
+axis2_status_t AXIS2_CALL
+axis2_handler_desc_add_param(struct axis2_handler_desc *handler_desc,
+ axis2_env_t **env,
+ axis2_param_t *param);
+
+axis2_array_list_t* AXIS2_CALL
+axis2_handler_desc_get_params(struct axis2_handler_desc *handler_desc,
axis2_env_t **env);
-axis2_status_t AXIS2_CALL axis2_handler_desc_set_rules(struct axis2_handler_desc *handler_desc,
- axis2_env_t **env, axis2_phase_rule_t *phase_rule);
-axis2_param_t* AXIS2_CALL axis2_handler_desc_get_param(struct axis2_handler_desc *handler_desc,
- axis2_env_t **env, axis2_char_t *name);
-axis2_status_t AXIS2_CALL axis2_handler_desc_add_param(struct axis2_handler_desc *handler_desc,
- axis2_env_t **env, axis2_param_t * param);
-axis2_array_list_t* AXIS2_CALL axis2_handler_desc_get_params(struct axis2_handler_desc *handler_desc,
+axis2_bool_t AXIS2_CALL
+axis2_handler_desc_is_param_locked(struct axis2_handler_desc *handler_desc,
+ axis2_env_t **env,
+ axis2_char_t * param_name);
+axis2_handler_t* AXIS2_CALL
+axis2_handler_desc_get_handler(struct axis2_handler_desc *handler_desc,
axis2_env_t **env);
-axis2_bool_t AXIS2_CALL axis2_handler_desc_is_param_locked(struct axis2_handler_desc *handler_desc,
- axis2_env_t **env, axis2_char_t * param_name);
-axis2_handler_t* AXIS2_CALL axis2_handler_desc_get_handler(struct axis2_handler_desc *handler_desc,
+axis2_status_t AXIS2_CALL
+axis2_handler_desc_set_handler(struct axis2_handler_desc *handler_desc,
+ axis2_env_t **env,
+ axis2_handler_t * handler);
+axis2_char_t* AXIS2_CALL
+axis2_handler_desc_get_class_name(struct axis2_handler_desc *handler_desc,
axis2_env_t **env);
-axis2_status_t AXIS2_CALL axis2_handler_desc_set_handler(struct axis2_handler_desc *handler_desc,
- axis2_env_t **env, axis2_handler_t * handler);
-axis2_char_t* AXIS2_CALL axis2_handler_desc_get_class_name(struct axis2_handler_desc *handler_desc,
+axis2_status_t AXIS2_CALL
+axis2_handler_desc_set_class_name(struct axis2_handler_desc *handler_desc,
+ axis2_env_t **env,
+ axis2_char_t *class_name);
+axis2_param_container_t* AXIS2_CALL
+axis2_handler_desc_get_parent(struct axis2_handler_desc *handler_desc,
axis2_env_t **env);
-axis2_status_t AXIS2_CALL axis2_handler_desc_set_class_name(struct axis2_handler_desc *handler_desc,
- axis2_env_t **env, axis2_char_t *class_name);
-axis2_param_container_t* AXIS2_CALL axis2_handler_desc_get_parent(struct axis2_handler_desc *handler_desc,
- axis2_env_t **env);
-axis2_status_t AXIS2_CALL axis2_handler_desc_set_parent(struct axis2_handler_desc *handler_desc,
- axis2_env_t **env,
- axis2_param_container_t * parent);
-axis2_status_t AXIS2_CALL axis2_handler_desc_free (struct axis2_handler_desc *handler_desc,
+axis2_status_t AXIS2_CALL
+axis2_handler_desc_set_parent(struct axis2_handler_desc *handler_desc,
+ axis2_env_t **env,
+ axis2_param_container_t *parent);
+axis2_status_t AXIS2_CALL
+axis2_handler_desc_free (struct axis2_handler_desc *handler_desc,
axis2_env_t **env);
-axis2_handler_desc_t* AXIS2_CALL axis2_handler_desc_create_with_qname(axis2_env_t **env, axis2_qname_t *qname)
+axis2_handler_desc_t* AXIS2_CALL
+axis2_handler_desc_create_with_qname(axis2_env_t **env,
+ axis2_qname_t *qname)
{
axis2_handler_desc_impl_t *handler_desc_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
- handler_desc_impl = AXIS2_MALLOC( (*env)->allocator, sizeof(axis2_handler_desc_impl_t) );
+ handler_desc_impl = AXIS2_MALLOC( (*env)->allocator,
+ sizeof(axis2_handler_desc_impl_t) );
if (!handler_desc_impl)
{
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
@@ -91,11 +118,13 @@
handler_desc_impl->handler = NULL;
handler_desc_impl->class_name = NULL;
handler_desc_impl->parent = NULL;
+ handler_desc_impl->handler_desc.ops = NULL;
- handler_desc_impl->handler_desc.param_container = axis2_param_container_create(env);
+ handler_desc_impl->handler_desc.param_container =
+ axis2_param_container_create(env);
if (!handler_desc_impl->handler_desc.param_container)
{
- /** error is already set by last param container create */
+ /** error code is already set by last param container create */
axis2_handler_desc_free(&(handler_desc_impl->handler_desc), env);
return NULL;
}
@@ -103,19 +132,20 @@
handler_desc_impl->rules = axis2_phase_rule_create(env, NULL);
if (!handler_desc_impl->rules)
{
- /** error is already set by last param container create */
+ /** error code is already set by last param container create */
axis2_handler_desc_free(&(handler_desc_impl->handler_desc), env);
return NULL;
}
if (qname)
{
- handler_desc_impl->qname = qname; /* shallow copy */
+ handler_desc_impl->qname = AXIS2_QNAME_CLONE(qname, env);
}
/* initialize ops */
- handler_desc_impl->handler_desc.ops = NULL;
- handler_desc_impl->handler_desc.ops = AXIS2_MALLOC( (*env)->allocator, sizeof(axis2_handler_desc_ops_t) );
+
+ handler_desc_impl->handler_desc.ops = AXIS2_MALLOC( (*env)->allocator,
+ sizeof(axis2_handler_desc_ops_t) );
if (!handler_desc_impl->handler_desc.ops)
{
axis2_handler_desc_free(&(handler_desc_impl->handler_desc), env);
@@ -351,12 +381,11 @@
handler_desc_impl->handler_desc.param_container = NULL;
}
- /** the following block should be uncomented when clone is used in the code
if (handler_desc_impl->qname)
{
AXIS2_QNAME_FREE(handler_desc_impl->qname, env);
handler_desc_impl->qname = NULL;
- }*/
+ }
if (handler_desc_impl->rules)
{
@@ -375,9 +404,11 @@
AXIS2_FREE((*env)->allocator, handler_desc_impl->class_name);
handler_desc_impl->class_name = NULL;
}
-
- AXIS2_FREE((*env)->allocator, handler_desc_impl);
- handler_desc_impl = NULL;
+ if(handler_desc_impl)
+ {
+ AXIS2_FREE((*env)->allocator, handler_desc_impl);
+ handler_desc_impl = NULL;
+ }
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/modules/core/description/op.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/op.c?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/op.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/op.c Wed Jan 11 20:28:27 2006
@@ -376,7 +376,7 @@
return NULL;
}
- op_impl->remaining_phases_inflow = axis2_array_list_create(env, 20);
+ /*op_impl->remaining_phases_inflow = axis2_array_list_create(env, 20);
if(NULL == op_impl->remaining_phases_inflow)
{
axis2_op_free(&(op_impl->op), env);
@@ -409,7 +409,7 @@
{
axis2_op_free(&(op_impl->op), env);
return NULL;
- }
+ }*/
axis2_op_set_msg_exchange_pattern(&(op_impl->op), env,
(axis2_char_t *) AXIS2_MEP_URI_IN_OUT);
@@ -566,28 +566,23 @@
axis2_op_free (axis2_op_t *op, axis2_env_t **env)
{
axis2_op_impl_t *op_impl = NULL;
- printf("came10\n");
AXIS2_FUNC_PARAM_CHECK(op, env, AXIS2_FAILURE);
-
op_impl = AXIS2_INTF_TO_IMPL(op);
if(NULL != op->ops)
{
- printf("came11\n");
AXIS2_FREE((*env)->allocator, op->ops);
op->ops = NULL;
}
if(NULL != op->param_container)
{
- printf("came12\n");
AXIS2_PARAM_CONTAINER_FREE(op->param_container, env);
op->param_container = NULL;
}
if(NULL != op->wsdl_op)
{
- printf("came13\n");
AXIS2_WSDL_OP_FREE(op->wsdl_op, env);
op->wsdl_op = NULL;
}
@@ -598,7 +593,6 @@
if(NULL != op_impl->remaining_phases_inflow)
{
- printf("came14\n");
int i = 0;
int size = 0;
size = AXIS2_ARRAY_LIST_SIZE(op_impl->remaining_phases_inflow, env);
@@ -620,7 +614,6 @@
if(NULL != op_impl->phases_outflow)
{
- printf("came15\n");
int i = 0;
int size = 0;
size = AXIS2_ARRAY_LIST_SIZE(op_impl->phases_outflow, env);
@@ -641,11 +634,9 @@
if(NULL != op_impl->phases_in_fault_flow)
{
- printf("came16\n");
int i = 0;
int size = 0;
size = AXIS2_ARRAY_LIST_SIZE(op_impl->phases_in_fault_flow, env);
- printf("size:%d\n", size);
for (i = 0; i < size; i++)
{
axis2_phase_t *phase = NULL;
@@ -665,9 +656,7 @@
{
int i = 0;
int size = 0;
- printf("came17\n");
size = AXIS2_ARRAY_LIST_SIZE(op_impl->phases_out_fault_flow, env);
- printf("size:%d\n", size);
for (i = 0; i < size; i++)
{
axis2_phase_t *phase = NULL;
@@ -938,7 +927,6 @@
AXIS2_WSDL_COMPONENT_GET_COMPONENT_PROPERTY(op->wsdl_op->
extensible_component->wsdl_component, env, AXIS2_MODULEREF_KEY);
size = AXIS2_ARRAY_LIST_SIZE(collection_module, env);
- printf("collection_module size:%d\n", size);
if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE((*env)->error))
{
return AXIS2_FAILURE;
@@ -962,17 +950,13 @@
}
pr = axis2_phase_resolver_create(env);
- printf("came1\n");
if(pr)
{
status = AXIS2_PHASE_RESOLVER_ENGAGE_MODULE_TO_OP(pr, env,
op, moduleref);
- printf("came2\n");
if(AXIS2_FAILURE == status)
{
- printf("came3\n");
AXIS2_PHASE_RESOLVER_FREE(pr, env);
- printf("came4\n");
pr = NULL;
return AXIS2_FAILURE;
}
@@ -1257,7 +1241,6 @@
AXIS2_FUNC_PARAM_CHECK(op, env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, list, AXIS2_FAILURE);
op_impl = AXIS2_INTF_TO_IMPL(op);
-
if(op_impl->remaining_phases_inflow)
{
int i = 0;
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c Wed Jan 11 20:28:27 2006
@@ -137,13 +137,11 @@
AXIS2_FREE((*env)->allocator, phase_holder->ops);
phase_holder->ops = NULL;
}
-
if(NULL != phase_holder_impl->phase_list)
{
AXIS2_ARRAY_LIST_FREE(phase_holder_impl->phase_list, env);
phase_holder_impl->phase_list = NULL;
}
-
if(phase_holder_impl)
{
AXIS2_FREE((*env)->allocator, phase_holder_impl);
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c Wed Jan 11 20:28:27 2006
@@ -77,7 +77,7 @@
*
* @param type
*/
-static axis2_status_t AXIS2_CALL
+axis2_status_t
axis2_phase_resolver_build_execution_chains(axis2_phase_resolver_t *phase_resolver,
axis2_env_t **env,
int type,
@@ -88,7 +88,7 @@
axis2_env_t **env);
-static axis2_status_t AXIS2_CALL
+axis2_status_t
axis2_phase_resolver_build_in_transport_chains(axis2_phase_resolver_t *phase_resolver,
axis2_env_t **env,
struct axis2_transport_in_desc *transport);
@@ -99,7 +99,7 @@
* @param transport
* @throws PhaseException
*/
-static axis2_status_t AXIS2_CALL
+axis2_status_t
axis2_phase_resolver_build_out_transport_chains(axis2_phase_resolver_t *phase_resolver,
axis2_env_t **env,
struct axis2_transport_out_desc *transport);
@@ -117,7 +117,7 @@
struct axis2_module_desc *module_desc);
-static axis2_status_t AXIS2_CALL
+axis2_status_t
axis2_phase_resolver_engage_to_global_chain(axis2_phase_resolver_t *phase_resolver,
axis2_env_t **env,
struct axis2_module_desc *module_desc);
@@ -132,8 +132,8 @@
axis2_status_t AXIS2_CALL
axis2_phase_resolver_engage_module_to_op(axis2_phase_resolver_t *phase_resolver,
axis2_env_t **env,
- struct axis2_op *axis_op,
- struct axis2_module_desc *module_desc);
+ axis2_op_t *axis_op,
+ axis2_module_desc_t *module_desc);
/************************** End of function prototypes ************************/
@@ -265,7 +265,6 @@
AXIS2_PHASE_HOLDER_FREE(phase_resolver_impl->phase_holder, env);
phase_resolver_impl->phase_holder = NULL;
}
-
if(phase_resolver_impl)
{
AXIS2_FREE((*env)->allocator, phase_resolver_impl);
@@ -282,7 +281,7 @@
axis2_phase_resolver_impl_t *resolver_impl = NULL;
axis2_hash_index_t *index_i = 0;
axis2_status_t status = AXIS2_FAILURE;
- struct axis2_op *op = NULL;
+ axis2_op_t *op = NULL;
axis2_hash_t *ops = NULL;
resolver_impl = AXIS2_INTF_TO_IMPL(phase_resolver);
@@ -292,10 +291,10 @@
for (index_i = axis2_hash_first (ops, env); index_i; index_i =
axis2_hash_next (env, index_i))
{
- void * v = NULL;
+ void *v = NULL;
int j = 0;
axis2_hash_this (index_i, NULL, NULL, &v);
- op = (struct axis2_op *)v;
+ op = (axis2_op_t *)v;
for(j = 1; j < 5; j++)
{
status = axis2_phase_resolver_build_execution_chains(phase_resolver,
@@ -324,7 +323,7 @@
return status;
}
-static axis2_status_t AXIS2_CALL
+axis2_status_t
axis2_phase_resolver_build_execution_chains(axis2_phase_resolver_t *phase_resolver,
axis2_env_t **env,
int type,
@@ -677,7 +676,7 @@
}
-static axis2_status_t AXIS2_CALL
+axis2_status_t
axis2_phase_resolver_build_in_transport_chains(axis2_phase_resolver_t *phase_resolver,
axis2_env_t **env,
struct axis2_transport_in_desc *transport)
@@ -755,7 +754,7 @@
return status;
}
-static axis2_status_t AXIS2_CALL
+axis2_status_t
axis2_phase_resolver_build_out_transport_chains(axis2_phase_resolver_t *phase_resolver,
axis2_env_t **env,
struct axis2_transport_out_desc *transport)
@@ -1051,7 +1050,7 @@
}
-static axis2_status_t AXIS2_CALL
+axis2_status_t
axis2_phase_resolver_engage_to_global_chain(axis2_phase_resolver_t *phase_resolver,
axis2_env_t **env,
struct axis2_module_desc *module_desc)
@@ -1139,10 +1138,11 @@
(0 != AXIS2_STRCMP(AXIS2_PHASE_POST_DISPATCH, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_PRE_DISPATCH, phase_name)))
{
- status = AXIS2_PHASE_HOLDER_ADD_HANDLER(resolver_impl->phase_holder,
+ AXIS2_PHASE_HOLDER_ADD_HANDLER(resolver_impl->phase_holder,
env, metadata);
- } else
+ }
+ else
{
/**
* These handlers will go to op's handler chains , since the module
@@ -1155,7 +1155,7 @@
}
}
- return status;
+ return AXIS2_SUCCESS;
}
@@ -1232,7 +1232,6 @@
{
axis2_phase_resolver_impl_t *resolver_impl = NULL;
int type = 0;
- axis2_status_t status = AXIS2_FALSE;
AXIS2_FUNC_PARAM_CHECK(phase_resolver, env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, axis_op, AXIS2_FAILURE);
@@ -1243,23 +1242,24 @@
{
axis2_flow_t *flow = NULL;
axis2_array_list_t *phases = NULL;
-
switch (type)
{
case AXIS2_INFLOW:
{
phases = AXIS2_OP_GET_REMAINING_PHASES_INFLOW(axis_op, env);
- resolver_impl->phase_holder = axis2_phase_holder_create_with_phases(env,
- phases);
-
+ resolver_impl->phase_holder =
+ axis2_phase_holder_create_with_phases(env, phases);
break;
}
case AXIS2_OUTFLOW:
{
phases = AXIS2_OP_GET_PHASES_OUTFLOW(axis_op, env);
- resolver_impl->phase_holder =
- axis2_phase_holder_create_with_phases(env, phases);
+ if(phases)
+ {
+ resolver_impl->phase_holder =
+ axis2_phase_holder_create_with_phases(env, phases);
+ }
break;
}
case AXIS2_FAULT_INFLOW:
@@ -1314,14 +1314,13 @@
metadata = AXIS2_FLOW_GET_HANDLER(flow, env, j);
phase_rule = AXIS2_HANDLER_DESC_GET_RULES(metadata, env);
phase_name = AXIS2_PHASE_RULE_GET_NAME(phase_rule, env);
- printf("phase_name:%s\n", phase_name);
if ((0 != AXIS2_STRCMP(AXIS2_PHASE_TRANSPORTIN, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_DISPATCH, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_POST_DISPATCH, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_PRE_DISPATCH, phase_name)))
{
- AXIS2_PHASE_HOLDER_ADD_HANDLER(resolver_impl->
- phase_holder, env, metadata);
+ AXIS2_PHASE_HOLDER_ADD_HANDLER(resolver_impl->phase_holder,
+ env, metadata);
}
else
Modified: webservices/axis2/trunk/c/test/unit/core/description/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/description/Makefile.am?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/description/Makefile.am (original)
+++ webservices/axis2/trunk/c/test/unit/core/description/Makefile.am Wed Jan 11 20:28:27 2006
@@ -4,13 +4,17 @@
AM_CPPFLAGS = $(CPPFLAGS)
libtest_description_la_SOURCES = description_test.c \
test_op.c \
- test_svc.c
+ test_svc.c \
+ test_flow.c \
+ test_handler_desc.c
include_HEADERS=$(top_builddir)/test/unit/core/description/*.h
+include_HEADERS=$(top_builddir)/test/unit/core/phaseresolver/*.h
INCLUDES = -I$(top_builddir)/include \
-I$(top_builddir)/modules/util \
-I$(top_builddir)/modules/core/description \
+ -I$(top_builddir)/modules/core/phaseresolver \
-I$(top_builddir)/modules/core/transport \
-I$(top_builddir)/modules/wsdl \
-I${CUTEST_HOME}/include \
Modified: webservices/axis2/trunk/c/test/unit/core/description/description_test.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/description/description_test.c?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/description/description_test.c (original)
+++ webservices/axis2/trunk/c/test/unit/core/description/description_test.c Wed Jan 11 20:28:27 2006
@@ -4,8 +4,12 @@
#include <axis2_allocator.h>
#include <axis2_env.h>
-CuSuite* axis2_descriptionGetSuite() {
+CuSuite* axis2_descriptionGetSuite()
+{
CuSuite* suite = CuSuiteNew();
+ SUITE_ADD_TEST(suite, Testaxis2_handler_desc_free);
+ SUITE_ADD_TEST(suite, Testaxis2_flow_add_handler);
+ SUITE_ADD_TEST(suite, Testaxis2_flow_free);
SUITE_ADD_TEST(suite, Testaxis2_op_set_remaining_phases_inflow);
SUITE_ADD_TEST(suite, Testaxis2_svc_add_module_ops);
SUITE_ADD_TEST(suite, Testaxis2_svc_create_with_qname);
Modified: webservices/axis2/trunk/c/test/unit/core/description/description_test.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/description/description_test.h?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/description/description_test.h (original)
+++ webservices/axis2/trunk/c/test/unit/core/description/description_test.h Wed Jan 11 20:28:27 2006
@@ -4,6 +4,8 @@
#include <CuTest.h>
#include "test_op.h"
#include "test_svc.h"
+#include "test_flow.h"
+#include "test_handler_desc.h"
CuSuite* axis2_descriptionGetSuite();
Added: webservices/axis2/trunk/c/test/unit/core/description/test_flow.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/description/test_flow.c?rev=368259&view=auto
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/description/test_flow.c (added)
+++ webservices/axis2/trunk/c/test/unit/core/description/test_flow.c Wed Jan 11 20:28:27 2006
@@ -0,0 +1,64 @@
+#include "test_flow.h"
+#include <axis2_op.h>
+#include <axis2_flow.h>
+#include <axis2_phase.h>
+#include <axis2_handler_desc.h>
+#include <axis2_handler.h>
+#include <axis2_phase_rule.h>
+
+axis2_handler_desc_t *
+test_flow_create_handler(axis2_env_t **env)
+{
+ axis2_handler_desc_t *handler_desc = NULL;
+ axis2_handler_t *handler = NULL;
+ axis2_qname_t *qname = NULL;
+ axis2_phase_rule_t *rule = NULL;
+
+ rule = axis2_phase_rule_create(env, AXIS2_PHASE_POLICY_DETERMINATION);
+ AXIS2_PHASE_RULE_SET_BEFORE(rule, env, "before");
+ AXIS2_PHASE_RULE_SET_AFTER(rule, env, "after");
+ qname = axis2_qname_create(env, "handler1", NULL, NULL);
+ handler_desc = axis2_handler_desc_create_with_qname(env, qname);
+ AXIS2_QNAME_FREE(qname, env);
+ AXIS2_HANDLER_DESC_SET_RULES(handler_desc, env, rule);
+ handler = axis2_handler_create(env);
+ AXIS2_HANDLER_INIT(handler, env, handler_desc);
+ AXIS2_HANDLER_DESC_SET_HANDLER(handler_desc, env, handler);
+
+ return handler_desc;
+}
+
+void Testaxis2_flow_add_handler(CuTest *tc)
+{
+ axis2_status_t actual = AXIS2_FAILURE;
+ axis2_status_t expected = AXIS2_TRUE;
+ axis2_flow_t *flow = NULL;
+ axis2_handler_desc_t *handler_desc = NULL;
+
+ axis2_allocator_t *allocator = axis2_allocator_init (NULL);
+ axis2_env_t *env = axis2_env_create (allocator);
+
+ flow = axis2_flow_create(&env);
+ handler_desc = test_flow_create_handler(&env);
+ actual = AXIS2_FLOW_ADD_HANDLER(flow, &env, handler_desc);
+ CuAssertIntEquals(tc, expected, actual);
+ axis2_flow_free(flow, &env);
+
+}
+
+void Testaxis2_flow_free(CuTest *tc)
+{
+ axis2_status_t actual = AXIS2_FAILURE;
+ axis2_status_t expected = AXIS2_TRUE;
+ axis2_flow_t *flow = NULL;
+
+ axis2_allocator_t *allocator = axis2_allocator_init (NULL);
+ axis2_env_t *env = axis2_env_create (allocator);
+
+ flow = axis2_flow_create(&env);
+ actual = axis2_flow_free(flow, &env);
+
+ CuAssertIntEquals(tc, expected, actual);
+
+}
+
Added: webservices/axis2/trunk/c/test/unit/core/description/test_flow.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/description/test_flow.h?rev=368259&view=auto
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/description/test_flow.h (added)
+++ webservices/axis2/trunk/c/test/unit/core/description/test_flow.h Wed Jan 11 20:28:27 2006
@@ -0,0 +1,15 @@
+#ifndef TEST_FLOW_H
+#define TEST_FLOW_H
+
+#include <string.h>
+#include <stdio.h>
+#include <CuTest.h>
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_hash.h>
+#include <axis2_string.h>
+
+void Testaxis2_flow_add_handler(CuTest *tc);
+void Testaxis2_flow_free(CuTest *tc);
+
+#endif /* TEST_FLOW_H*/
Added: webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.c?rev=368259&view=auto
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.c (added)
+++ webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.c Wed Jan 11 20:28:27 2006
@@ -0,0 +1,46 @@
+#include "test_handler_desc.h"
+#include <axis2_op.h>
+#include <axis2_flow.h>
+#include <axis2_phase.h>
+#include <axis2_handler_desc.h>
+#include <axis2_handler.h>
+#include <axis2_phase_rule.h>
+
+axis2_handler_desc_t *
+test_handler_desc_create_handler_desc(axis2_env_t **env)
+{
+ axis2_handler_desc_t *handler_desc = NULL;
+ axis2_handler_t *handler = NULL;
+ axis2_qname_t *qname = NULL;
+ axis2_phase_rule_t *rule = NULL;
+
+ rule = axis2_phase_rule_create(env, AXIS2_PHASE_POLICY_DETERMINATION);
+ AXIS2_PHASE_RULE_SET_BEFORE(rule, env, "before");
+ AXIS2_PHASE_RULE_SET_AFTER(rule, env, "after");
+ qname = axis2_qname_create(env, "handler1", NULL, NULL);
+ handler_desc = axis2_handler_desc_create_with_qname(env, qname);
+ AXIS2_QNAME_FREE(qname, env);
+ AXIS2_HANDLER_DESC_SET_RULES(handler_desc, env, rule);
+ handler = axis2_handler_create(env);
+ AXIS2_HANDLER_INIT(handler, env, handler_desc);
+ AXIS2_HANDLER_DESC_SET_HANDLER(handler_desc, env, handler);
+
+ return handler_desc;
+}
+
+void Testaxis2_handler_desc_free(CuTest *tc)
+{
+ axis2_status_t actual = AXIS2_FAILURE;
+ axis2_status_t expected = AXIS2_TRUE;
+ axis2_handler_desc_t *handler_desc = NULL;
+
+ axis2_allocator_t *allocator = axis2_allocator_init (NULL);
+ axis2_env_t *env = axis2_env_create (allocator);
+
+ handler_desc = test_handler_desc_create_handler_desc(&env);
+ actual = axis2_handler_desc_free(handler_desc, &env);
+
+ CuAssertIntEquals(tc, expected, actual);
+
+}
+
Added: webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.h?rev=368259&view=auto
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.h (added)
+++ webservices/axis2/trunk/c/test/unit/core/description/test_handler_desc.h Wed Jan 11 20:28:27 2006
@@ -0,0 +1,14 @@
+#ifndef TEST_HANDLER_DESC_H
+#define TEST_HANDLER_DESC_H
+
+#include <string.h>
+#include <stdio.h>
+#include <CuTest.h>
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_hash.h>
+#include <axis2_string.h>
+
+void Testaxis2_handler_desc_free(CuTest *tc);
+
+#endif /* TEST_HANDLER_DESC_H*/
Modified: webservices/axis2/trunk/c/test/unit/core/description/test_op.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/description/test_op.c?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/description/test_op.c (original)
+++ webservices/axis2/trunk/c/test/unit/core/description/test_op.c Wed Jan 11 20:28:27 2006
@@ -8,13 +8,15 @@
axis2_array_list_t *op_in_phases = NULL;
axis2_status_t expected = AXIS2_SUCCESS;
axis2_status_t actual = AXIS2_FAILURE;
+ axis2_op_t *op = NULL;
axis2_allocator_t *allocator = axis2_allocator_init (NULL);
axis2_env_t *env = axis2_env_create (allocator);
- struct axis2_op *op = axis2_op_create(&env);
+ op = axis2_op_create(&env);
op_in_phases = get_op_op_in_phases(&env);
actual = AXIS2_OP_SET_REMAINING_PHASES_INFLOW(op, &env, op_in_phases);
+ AXIS2_OP_FREE(op, &env);
CuAssertIntEquals(tc, expected, actual);
}
Modified: webservices/axis2/trunk/c/test/unit/core/phaseresolver/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/phaseresolver/Makefile.am?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/phaseresolver/Makefile.am (original)
+++ webservices/axis2/trunk/c/test/unit/core/phaseresolver/Makefile.am Wed Jan 11 20:28:27 2006
@@ -3,7 +3,8 @@
prglib_LTLIBRARIES = libtest_phaseresolver.la
AM_CPPFLAGS = $(CPPFLAGS)
libtest_phaseresolver_la_SOURCES = phaseresolver_test.c \
- test_resolver.c
+ test_resolver.c \
+ test_phase_holder.c
include_HEADERS=$(top_builddir)/test/unit/core/phaseresolver/*.h
Modified: webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.c?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.c (original)
+++ webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.c Wed Jan 11 20:28:27 2006
@@ -7,6 +7,9 @@
CuSuite* axis2_phaseresolverGetSuite()
{
CuSuite* suite = CuSuiteNew();
+
+ SUITE_ADD_TEST(suite, Testaxis2_phase_resolver_free);
+ SUITE_ADD_TEST(suite, Testaxis2_phase_holder_free);
SUITE_ADD_TEST(suite, Testaxis2_phase_resolver_engage_module_to_op);
return suite;
}
Modified: webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.h?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.h (original)
+++ webservices/axis2/trunk/c/test/unit/core/phaseresolver/phaseresolver_test.h Wed Jan 11 20:28:27 2006
@@ -3,6 +3,7 @@
#include <CuTest.h>
#include "test_resolver.h"
+#include "test_phase_holder.h"
CuSuite* axis2_phaseresolverGetSuite();
Added: webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.c?rev=368259&view=auto
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.c (added)
+++ webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.c Wed Jan 11 20:28:27 2006
@@ -0,0 +1,51 @@
+#include "test_phase_holder.h"
+#include <axis2_array_list.h>
+#include <axis2_phase_holder.h>
+#include <axis2_phase_resolver.h>
+
+/** helper method
+ */
+axis2_array_list_t *get_phases(axis2_env_t **env);
+
+void Testaxis2_phase_holder_free(CuTest *tc)
+{
+ axis2_status_t actual = AXIS2_FAILURE;
+ axis2_status_t expected = AXIS2_TRUE;
+ axis2_phase_holder_t *phase_holder = NULL;
+ axis2_array_list_t *phases = NULL;
+
+ axis2_allocator_t *allocator = axis2_allocator_init (NULL);
+ axis2_env_t *env = axis2_env_create (allocator);
+
+ phases = get_phases(&env);
+ phase_holder = axis2_phase_holder_create_with_phases(&env, phases);
+ actual = axis2_phase_holder_free(phase_holder, &env);
+
+ CuAssertIntEquals(tc, expected, actual);
+
+}
+
+/** helper method
+ */
+axis2_array_list_t *get_phases(axis2_env_t **env)
+{
+ struct axis2_phase *phase = NULL;
+ axis2_array_list_t *phases = NULL;
+
+ phases = axis2_array_list_create(env, 10);
+
+ phase = axis2_phase_create(env, AXIS2_PHASE_POLICY_DETERMINATION);
+ AXIS2_ARRAY_LIST_ADD(phases, env, phase);
+
+ phase = axis2_phase_create(env, AXIS2_PHASE_TRANSPORTIN);
+ AXIS2_ARRAY_LIST_ADD(phases, env, phase);
+
+ phase = axis2_phase_create(env, AXIS2_PHASE_PRE_DISPATCH);
+ AXIS2_ARRAY_LIST_ADD(phases, env, phase);
+
+ phase = axis2_phase_create(env, AXIS2_PHASE_DISPATCH);
+ AXIS2_ARRAY_LIST_ADD(phases, env, phase);
+
+ return phases;
+
+}
Added: webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.h?rev=368259&view=auto
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.h (added)
+++ webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_phase_holder.h Wed Jan 11 20:28:27 2006
@@ -0,0 +1,16 @@
+#ifndef TEST_PHASE_HOLDER_H
+#define TEST_PHASE_HOLDER_H
+
+#include <string.h>
+#include <stdio.h>
+#include <CuTest.h>
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_hash.h>
+#include <axis2_string.h>
+#include <axis2_phase.h>
+#include <axis2_flow.h>
+
+void Testaxis2_phase_holder_free(CuTest *tc);
+
+#endif /* TEST_PHASE_HOLDER_H*/
Modified: webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.c?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.c (original)
+++ webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.c Wed Jan 11 20:28:27 2006
@@ -1,4 +1,8 @@
#include "test_resolver.h"
+#include <axis2_phase_resolver.h>
+#include <axis2_module_desc.h>
+#include <axis2_op.h>
+#include <axis2_flow.h>
void add_handlers_to_flow(struct axis2_flow *flow, axis2_env_t **env);
axis2_array_list_t *get_op_in_phases(axis2_env_t **env);
@@ -7,6 +11,22 @@
{
}
+void Testaxis2_phase_resolver_free(CuTest *tc)
+{
+ axis2_status_t actual = AXIS2_FAILURE;
+ axis2_status_t expected = AXIS2_TRUE;
+ axis2_phase_resolver_t *resolver = NULL;
+
+ axis2_allocator_t *allocator = axis2_allocator_init (NULL);
+ axis2_env_t *env = axis2_env_create (allocator);
+
+ resolver = axis2_phase_resolver_create(&env);
+ actual = axis2_phase_resolver_free(resolver, &env);
+
+ CuAssertIntEquals(tc, expected, actual);
+
+}
+
void Testaxis2_phase_resolver_engage_module_to_op(CuTest *tc)
{
struct axis2_phase_resolver *resolver = NULL;
@@ -19,6 +39,7 @@
axis2_allocator_t *allocator = axis2_allocator_init (NULL);
axis2_env_t *env = axis2_env_create (allocator);
axis2_op_t *optr = axis2_op_create(&env);
+
op_in_phases = get_op_in_phases(&env);
AXIS2_OP_SET_REMAINING_PHASES_INFLOW(optr, &env, op_in_phases);
flow = axis2_flow_create(&env);
@@ -28,12 +49,13 @@
resolver = axis2_phase_resolver_create(&env);
actual = AXIS2_PHASE_RESOLVER_ENGAGE_MODULE_TO_OP(resolver, &env, optr,
module_desc);
-
+
+ AXIS2_FLOW_FREE(flow, &env);
+ AXIS2_OP_FREE(optr, &env);
+ AXIS2_MODULE_DESC_FREE(module_desc, &env);
+ AXIS2_PHASE_RESOLVER_FREE(resolver, &env);
CuAssertIntEquals(tc, expected, actual);
- /*AXIS2_FLOW_FREE(flow, env); */
- /*AXIS2_OP_FREE(optr, env); */
- /*AXIS2_MODULE_DESC_FREE(module_desc, env);*/
- /*AXIS2_PHASE_RESOLVER_FREE(resolver, env); */
+
}
void add_handlers_to_flow(struct axis2_flow *flow, axis2_env_t **env)
@@ -44,8 +66,8 @@
struct axis2_phase_rule *rule = NULL;
rule = axis2_phase_rule_create(env, AXIS2_PHASE_POLICY_DETERMINATION);
- axis2_phase_rule_set_before(rule, env, "before");
- axis2_phase_rule_set_after(rule, env, "after");
+ AXIS2_PHASE_RULE_SET_BEFORE(rule, env, "before");
+ AXIS2_PHASE_RULE_SET_AFTER(rule, env, "after");
qname = axis2_qname_create(env, "handler1", NULL, NULL);
handler_desc = axis2_handler_desc_create_with_qname(env, qname);
AXIS2_HANDLER_DESC_SET_RULES(handler_desc, env, rule);
Modified: webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.h?rev=368259&r1=368258&r2=368259&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.h (original)
+++ webservices/axis2/trunk/c/test/unit/core/phaseresolver/test_resolver.h Wed Jan 11 20:28:27 2006
@@ -8,10 +8,6 @@
#include <axis2_env.h>
#include <axis2_hash.h>
#include <axis2_string.h>
-#include <axis2_phase_resolver.h>
-#include <axis2_module_desc.h>
-#include <axis2_op.h>
-#include <axis2_flow.h>
struct axis2_flow;
struct axis2_op;
@@ -20,6 +16,7 @@
void axis2_phase_resolver_engage_module_to_svc(CuTest *tc);
+void Testaxis2_phase_resolver_free(CuTest *tc);
void Testaxis2_phase_resolver_engage_module_to_op(CuTest *tc);
#endif /* TEST_RESOLVER_H*/