|
@@ -20,6 +20,9 @@
|
|
#pragma clang diagnostic ignored "-Wincompatible-pointer-types-discards-qualifiers"
|
|
#pragma clang diagnostic ignored "-Wincompatible-pointer-types-discards-qualifiers"
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+static UA_Server *server = NULL;
|
|
|
|
+static UA_ServerConfig *config = NULL;
|
|
|
|
+
|
|
static UA_StatusCode
|
|
static UA_StatusCode
|
|
readCPUTemperature(void *handle, const UA_NodeId nodeid, UA_Boolean sourceTimeStamp,
|
|
readCPUTemperature(void *handle, const UA_NodeId nodeid, UA_Boolean sourceTimeStamp,
|
|
const UA_NumericRange *range, UA_DataValue *dataValue) {
|
|
const UA_NumericRange *range, UA_DataValue *dataValue) {
|
|
@@ -29,9 +32,14 @@ readCPUTemperature(void *handle, const UA_NodeId nodeid, UA_Boolean sourceTimeSt
|
|
return UA_STATUSCODE_GOOD;
|
|
return UA_STATUSCODE_GOOD;
|
|
}
|
|
}
|
|
|
|
|
|
-static UA_Server *
|
|
|
|
-makeTestSequence(void) {
|
|
|
|
- UA_Server * server = UA_Server_new(UA_ServerConfig_standard);
|
|
|
|
|
|
+static void teardown(void) {
|
|
|
|
+ UA_Server_delete(server);
|
|
|
|
+ UA_ServerConfig_delete(config);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static void setup(void) {
|
|
|
|
+ config = UA_ServerConfig_new_default();
|
|
|
|
+ server = UA_Server_new(config);
|
|
UA_StatusCode retval = UA_STATUSCODE_GOOD;
|
|
UA_StatusCode retval = UA_STATUSCODE_GOOD;
|
|
|
|
|
|
/* VariableNode */
|
|
/* VariableNode */
|
|
@@ -119,8 +127,6 @@ makeTestSequence(void) {
|
|
NULL, NULL, 0, NULL, 0, NULL, NULL);
|
|
NULL, NULL, 0, NULL, 0, NULL, NULL);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
#endif
|
|
#endif
|
|
-
|
|
|
|
- return server;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
static UA_VariableNode* makeCompareSequence(void) {
|
|
static UA_VariableNode* makeCompareSequence(void) {
|
|
@@ -144,8 +150,6 @@ static UA_VariableNode* makeCompareSequence(void) {
|
|
}
|
|
}
|
|
|
|
|
|
START_TEST(ReadSingleAttributeValueWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeValueWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -157,13 +161,10 @@ START_TEST(ReadSingleAttributeValueWithoutTimestamp) {
|
|
ck_assert_int_eq(0, resp.value.arrayLength);
|
|
ck_assert_int_eq(0, resp.value.arrayLength);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_INT32], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_INT32], resp.value.type);
|
|
ck_assert_int_eq(42, *(UA_Int32* )resp.value.data);
|
|
ck_assert_int_eq(42, *(UA_Int32* )resp.value.data);
|
|
- UA_Server_delete(server);
|
|
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeValueRangeWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeValueRangeWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "myarray");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "myarray");
|
|
@@ -174,13 +175,10 @@ START_TEST(ReadSingleAttributeValueRangeWithoutTimestamp) {
|
|
|
|
|
|
ck_assert_int_eq(4, resp.value.arrayLength);
|
|
ck_assert_int_eq(4, resp.value.arrayLength);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_INT32], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_INT32], resp.value.type);
|
|
- UA_Server_delete(server);
|
|
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeNodeIdWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeNodeIdWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -195,12 +193,9 @@ START_TEST(ReadSingleAttributeNodeIdWithoutTimestamp) {
|
|
ck_assert_int_eq(1, respval->namespaceIndex);
|
|
ck_assert_int_eq(1, respval->namespaceIndex);
|
|
ck_assert(UA_String_equal(&myIntegerNodeId.identifier.string, &respval->identifier.string));
|
|
ck_assert(UA_String_equal(&myIntegerNodeId.identifier.string, &respval->identifier.string));
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeNodeClassWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeNodeClassWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -212,12 +207,9 @@ START_TEST(ReadSingleAttributeNodeClassWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_NODECLASS],resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_NODECLASS],resp.value.type);
|
|
ck_assert_int_eq(*(UA_Int32*)resp.value.data,UA_NODECLASS_VARIABLE);
|
|
ck_assert_int_eq(*(UA_Int32*)resp.value.data,UA_NODECLASS_VARIABLE);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeBrowseNameWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeBrowseNameWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -232,12 +224,9 @@ START_TEST(ReadSingleAttributeBrowseNameWithoutTimestamp) {
|
|
ck_assert_int_eq(1, respval->namespaceIndex);
|
|
ck_assert_int_eq(1, respval->namespaceIndex);
|
|
ck_assert(UA_String_equal(&myIntegerName.name, &respval->name));
|
|
ck_assert(UA_String_equal(&myIntegerName.name, &respval->name));
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeDisplayNameWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeDisplayNameWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -252,14 +241,11 @@ START_TEST(ReadSingleAttributeDisplayNameWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_LOCALIZEDTEXT], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_LOCALIZEDTEXT], resp.value.type);
|
|
ck_assert(UA_String_equal(&comp.text, &respval->text));
|
|
ck_assert(UA_String_equal(&comp.text, &respval->text));
|
|
ck_assert(UA_String_equal(&compNode->displayName.locale, &respval->locale));
|
|
ck_assert(UA_String_equal(&compNode->displayName.locale, &respval->locale));
|
|
- UA_Server_delete(server);
|
|
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_NodeStore_deleteNode((UA_Node*)compNode);
|
|
UA_NodeStore_deleteNode((UA_Node*)compNode);
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeDescriptionWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeDescriptionWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -275,12 +261,9 @@ START_TEST(ReadSingleAttributeDescriptionWithoutTimestamp) {
|
|
ck_assert(UA_String_equal(&compNode->description.text, &respval->text));
|
|
ck_assert(UA_String_equal(&compNode->description.text, &respval->text));
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_NodeStore_deleteNode((UA_Node*)compNode);
|
|
UA_NodeStore_deleteNode((UA_Node*)compNode);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeWriteMaskWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeWriteMaskWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -293,12 +276,9 @@ START_TEST(ReadSingleAttributeWriteMaskWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_UINT32], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_UINT32], resp.value.type);
|
|
ck_assert_int_eq(0,*respval);
|
|
ck_assert_int_eq(0,*respval);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeUserWriteMaskWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeUserWriteMaskWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -312,12 +292,9 @@ START_TEST(ReadSingleAttributeUserWriteMaskWithoutTimestamp) {
|
|
/* ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_UINT32], resp.value.type); */
|
|
/* ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_UINT32], resp.value.type); */
|
|
/* ck_assert_int_eq(0,*respval); */
|
|
/* ck_assert_int_eq(0,*respval); */
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeIsAbstractWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeIsAbstractWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES);
|
|
@@ -329,12 +306,9 @@ START_TEST(ReadSingleAttributeIsAbstractWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type);
|
|
ck_assert(*(UA_Boolean* )resp.value.data==false);
|
|
ck_assert(*(UA_Boolean* )resp.value.data==false);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeSymmetricWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeSymmetricWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES);
|
|
@@ -346,12 +320,9 @@ START_TEST(ReadSingleAttributeSymmetricWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type);
|
|
ck_assert(*(UA_Boolean* )resp.value.data==false);
|
|
ck_assert(*(UA_Boolean* )resp.value.data==false);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeInverseNameWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeInverseNameWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES);
|
|
@@ -366,12 +337,9 @@ START_TEST(ReadSingleAttributeInverseNameWithoutTimestamp) {
|
|
ck_assert(UA_String_equal(&comp.text, &respval->text));
|
|
ck_assert(UA_String_equal(&comp.text, &respval->text));
|
|
ck_assert(UA_String_equal(&comp.locale, &respval->locale));
|
|
ck_assert(UA_String_equal(&comp.locale, &respval->locale));
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeContainsNoLoopsWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeContainsNoLoopsWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_VIEWNODE);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_VIEWNODE);
|
|
@@ -383,12 +351,9 @@ START_TEST(ReadSingleAttributeContainsNoLoopsWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type);
|
|
ck_assert(*(UA_Boolean* )resp.value.data==false);
|
|
ck_assert(*(UA_Boolean* )resp.value.data==false);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeEventNotifierWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeEventNotifierWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(1, 50);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(1, 50);
|
|
@@ -401,12 +366,9 @@ START_TEST(ReadSingleAttributeEventNotifierWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BYTE],resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BYTE],resp.value.type);
|
|
ck_assert_int_eq(*(UA_Byte*)resp.value.data, 0);
|
|
ck_assert_int_eq(*(UA_Byte*)resp.value.data, 0);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeDataTypeWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeDataTypeWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -422,12 +384,9 @@ START_TEST(ReadSingleAttributeDataTypeWithoutTimestamp) {
|
|
ck_assert_int_eq(respval->namespaceIndex,0);
|
|
ck_assert_int_eq(respval->namespaceIndex,0);
|
|
ck_assert_int_eq(respval->identifier.numeric, UA_NS0ID_BASEDATATYPE);
|
|
ck_assert_int_eq(respval->identifier.numeric, UA_NS0ID_BASEDATATYPE);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeValueRankWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeValueRankWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -439,12 +398,9 @@ START_TEST(ReadSingleAttributeValueRankWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_INT32], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_INT32], resp.value.type);
|
|
ck_assert_int_eq(-2, *(UA_Int32* )resp.value.data);
|
|
ck_assert_int_eq(-2, *(UA_Int32* )resp.value.data);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeArrayDimensionsWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeArrayDimensionsWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -456,12 +412,9 @@ START_TEST(ReadSingleAttributeArrayDimensionsWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_UINT32], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_UINT32], resp.value.type);
|
|
ck_assert_ptr_eq((UA_Int32*)resp.value.data,0);
|
|
ck_assert_ptr_eq((UA_Int32*)resp.value.data,0);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeAccessLevelWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeAccessLevelWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -473,12 +426,9 @@ START_TEST(ReadSingleAttributeAccessLevelWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BYTE], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BYTE], resp.value.type);
|
|
ck_assert_int_eq(*(UA_Byte*)resp.value.data, UA_ACCESSLEVELMASK_READ); // set by default
|
|
ck_assert_int_eq(*(UA_Byte*)resp.value.data, UA_ACCESSLEVELMASK_READ); // set by default
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeUserAccessLevelWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeUserAccessLevelWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -494,13 +444,10 @@ START_TEST(ReadSingleAttributeUserAccessLevelWithoutTimestamp) {
|
|
/* ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BYTE], resp.value.type); */
|
|
/* ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BYTE], resp.value.type); */
|
|
/* ck_assert_int_eq(*(UA_Byte*)resp.value.data, compNode->accessLevel & 0xFF); // 0xFF is the default userAccessLevel */
|
|
/* ck_assert_int_eq(*(UA_Byte*)resp.value.data, compNode->accessLevel & 0xFF); // 0xFF is the default userAccessLevel */
|
|
/* UA_RCU_UNLOCK(); */
|
|
/* UA_RCU_UNLOCK(); */
|
|
- UA_Server_delete(server);
|
|
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeMinimumSamplingIntervalWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeMinimumSamplingIntervalWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -516,12 +463,9 @@ START_TEST(ReadSingleAttributeMinimumSamplingIntervalWithoutTimestamp) {
|
|
ck_assert(*respval == comp);
|
|
ck_assert(*respval == comp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_NodeStore_deleteNode((UA_Node*)compNode);
|
|
UA_NodeStore_deleteNode((UA_Node*)compNode);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeHistorizingWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeHistorizingWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -533,12 +477,9 @@ START_TEST(ReadSingleAttributeHistorizingWithoutTimestamp) {
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type);
|
|
ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type);
|
|
ck_assert(*(UA_Boolean*)resp.value.data==false);
|
|
ck_assert(*(UA_Boolean*)resp.value.data==false);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeExecutableWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeExecutableWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
#ifdef UA_ENABLE_METHODCALLS
|
|
#ifdef UA_ENABLE_METHODCALLS
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
@@ -553,14 +494,10 @@ START_TEST(ReadSingleAttributeExecutableWithoutTimestamp) {
|
|
ck_assert(*(UA_Boolean*)resp.value.data==false);
|
|
ck_assert(*(UA_Boolean*)resp.value.data==false);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
#endif
|
|
#endif
|
|
-
|
|
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleAttributeUserExecutableWithoutTimestamp) {
|
|
START_TEST(ReadSingleAttributeUserExecutableWithoutTimestamp) {
|
|
#ifdef UA_ENABLE_METHODCALLS
|
|
#ifdef UA_ENABLE_METHODCALLS
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_METHODNODE);
|
|
rvi.nodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_METHODNODE);
|
|
@@ -573,13 +510,10 @@ START_TEST(ReadSingleAttributeUserExecutableWithoutTimestamp) {
|
|
/* ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type); */
|
|
/* ck_assert_ptr_eq(&UA_TYPES[UA_TYPES_BOOLEAN], resp.value.type); */
|
|
/* ck_assert(*(UA_Boolean*)resp.value.data==false); */
|
|
/* ck_assert(*(UA_Boolean*)resp.value.data==false); */
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
#endif
|
|
#endif
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleDataSourceAttributeValueWithoutTimestamp) {
|
|
START_TEST(ReadSingleDataSourceAttributeValueWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "cpu.temperature");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "cpu.temperature");
|
|
@@ -588,13 +522,10 @@ START_TEST(ReadSingleDataSourceAttributeValueWithoutTimestamp) {
|
|
UA_DataValue resp = UA_Server_read(server, &rvi, UA_TIMESTAMPSTORETURN_NEITHER);
|
|
UA_DataValue resp = UA_Server_read(server, &rvi, UA_TIMESTAMPSTORETURN_NEITHER);
|
|
|
|
|
|
ck_assert_int_eq(UA_STATUSCODE_GOOD, resp.status);
|
|
ck_assert_int_eq(UA_STATUSCODE_GOOD, resp.status);
|
|
- UA_Server_delete(server);
|
|
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(ReadSingleDataSourceAttributeDataTypeWithoutTimestamp) {
|
|
START_TEST(ReadSingleDataSourceAttributeDataTypeWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "cpu.temperature");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "cpu.temperature");
|
|
@@ -604,13 +535,10 @@ START_TEST(ReadSingleDataSourceAttributeDataTypeWithoutTimestamp) {
|
|
|
|
|
|
ck_assert_int_eq(UA_STATUSCODE_GOOD, resp.status);
|
|
ck_assert_int_eq(UA_STATUSCODE_GOOD, resp.status);
|
|
ck_assert_int_eq(resp.hasServerTimestamp, false);
|
|
ck_assert_int_eq(resp.hasServerTimestamp, false);
|
|
- UA_Server_delete(server);
|
|
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST (ReadSingleDataSourceAttributeArrayDimensionsWithoutTimestamp) {
|
|
START_TEST (ReadSingleDataSourceAttributeArrayDimensionsWithoutTimestamp) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
-
|
|
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId rvi;
|
|
UA_ReadValueId_init(&rvi);
|
|
UA_ReadValueId_init(&rvi);
|
|
rvi.nodeId = UA_NODEID_STRING(1, "cpu.temperature");
|
|
rvi.nodeId = UA_NODEID_STRING(1, "cpu.temperature");
|
|
@@ -619,14 +547,12 @@ START_TEST (ReadSingleDataSourceAttributeArrayDimensionsWithoutTimestamp) {
|
|
UA_DataValue resp = UA_Server_read(server, &rvi, UA_TIMESTAMPSTORETURN_NEITHER);
|
|
UA_DataValue resp = UA_Server_read(server, &rvi, UA_TIMESTAMPSTORETURN_NEITHER);
|
|
|
|
|
|
ck_assert_int_eq(UA_STATUSCODE_GOOD, resp.status);
|
|
ck_assert_int_eq(UA_STATUSCODE_GOOD, resp.status);
|
|
- UA_Server_delete(server);
|
|
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
/* Tests for writeValue method */
|
|
/* Tests for writeValue method */
|
|
|
|
|
|
START_TEST(WriteSingleAttributeNodeId) {
|
|
START_TEST(WriteSingleAttributeNodeId) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_NodeId id;
|
|
UA_NodeId id;
|
|
@@ -637,11 +563,9 @@ START_TEST(WriteSingleAttributeNodeId) {
|
|
UA_Variant_setScalar(&wValue.value.value, &id, &UA_TYPES[UA_TYPES_NODEID]);
|
|
UA_Variant_setScalar(&wValue.value.value, &id, &UA_TYPES[UA_TYPES_NODEID]);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADWRITENOTSUPPORTED);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADWRITENOTSUPPORTED);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeNodeclass) {
|
|
START_TEST(WriteSingleAttributeNodeclass) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
wValue.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
wValue.nodeId = UA_NODEID_STRING(1, "the.answer");
|
|
@@ -652,11 +576,9 @@ START_TEST(WriteSingleAttributeNodeclass) {
|
|
UA_Variant_setScalar(&wValue.value.value, &nc, &UA_TYPES[UA_TYPES_NODECLASS]);
|
|
UA_Variant_setScalar(&wValue.value.value, &nc, &UA_TYPES[UA_TYPES_NODECLASS]);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADWRITENOTSUPPORTED);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADWRITENOTSUPPORTED);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeBrowseName) {
|
|
START_TEST(WriteSingleAttributeBrowseName) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_QualifiedName testValue = UA_QUALIFIEDNAME(1, "the.answer");
|
|
UA_QualifiedName testValue = UA_QUALIFIEDNAME(1, "the.answer");
|
|
@@ -666,11 +588,9 @@ START_TEST(WriteSingleAttributeBrowseName) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeDisplayName) {
|
|
START_TEST(WriteSingleAttributeDisplayName) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_LocalizedText testValue = UA_LOCALIZEDTEXT("en_EN", "the.answer");
|
|
UA_LocalizedText testValue = UA_LOCALIZEDTEXT("en_EN", "the.answer");
|
|
@@ -680,11 +600,9 @@ START_TEST(WriteSingleAttributeDisplayName) {
|
|
wValue.attributeId = UA_ATTRIBUTEID_DISPLAYNAME;
|
|
wValue.attributeId = UA_ATTRIBUTEID_DISPLAYNAME;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeDescription) {
|
|
START_TEST(WriteSingleAttributeDescription) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_LocalizedText testValue = UA_LOCALIZEDTEXT("en_EN", "the.answer");
|
|
UA_LocalizedText testValue = UA_LOCALIZEDTEXT("en_EN", "the.answer");
|
|
@@ -696,11 +614,9 @@ START_TEST(WriteSingleAttributeDescription) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeWriteMask) {
|
|
START_TEST(WriteSingleAttributeWriteMask) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Int32 testValue = 0;
|
|
UA_Int32 testValue = 0;
|
|
@@ -711,11 +627,9 @@ START_TEST(WriteSingleAttributeWriteMask) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeIsAbstract) {
|
|
START_TEST(WriteSingleAttributeIsAbstract) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Boolean testValue = true;
|
|
UA_Boolean testValue = true;
|
|
@@ -725,11 +639,9 @@ START_TEST(WriteSingleAttributeIsAbstract) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeSymmetric) {
|
|
START_TEST(WriteSingleAttributeSymmetric) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Boolean testValue = true;
|
|
UA_Boolean testValue = true;
|
|
@@ -739,11 +651,9 @@ START_TEST(WriteSingleAttributeSymmetric) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeInverseName) {
|
|
START_TEST(WriteSingleAttributeInverseName) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_LocalizedText testValue = UA_LOCALIZEDTEXT("en_US", "not.the.answer");
|
|
UA_LocalizedText testValue = UA_LOCALIZEDTEXT("en_US", "not.the.answer");
|
|
@@ -753,11 +663,9 @@ START_TEST(WriteSingleAttributeInverseName) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeContainsNoLoops) {
|
|
START_TEST(WriteSingleAttributeContainsNoLoops) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Boolean testValue = true;
|
|
UA_Boolean testValue = true;
|
|
@@ -767,11 +675,9 @@ START_TEST(WriteSingleAttributeContainsNoLoops) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeEventNotifier) {
|
|
START_TEST(WriteSingleAttributeEventNotifier) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Byte testValue = 0;
|
|
UA_Byte testValue = 0;
|
|
@@ -781,11 +687,9 @@ START_TEST(WriteSingleAttributeEventNotifier) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeValue) {
|
|
START_TEST(WriteSingleAttributeValue) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Int32 myInteger = 20;
|
|
UA_Int32 myInteger = 20;
|
|
@@ -806,11 +710,9 @@ START_TEST(WriteSingleAttributeValue) {
|
|
ck_assert(resp.hasValue);
|
|
ck_assert(resp.hasValue);
|
|
ck_assert_int_eq(20, *(UA_Int32*)resp.value.data);
|
|
ck_assert_int_eq(20, *(UA_Int32*)resp.value.data);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
UA_DataValue_deleteMembers(&resp);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeValueRangeFromScalar) {
|
|
START_TEST(WriteSingleAttributeValueRangeFromScalar) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Int32 myInteger = 20;
|
|
UA_Int32 myInteger = 20;
|
|
@@ -821,11 +723,9 @@ START_TEST(WriteSingleAttributeValueRangeFromScalar) {
|
|
wValue.attributeId = UA_ATTRIBUTEID_VALUE;
|
|
wValue.attributeId = UA_ATTRIBUTEID_VALUE;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeValueRangeFromArray) {
|
|
START_TEST(WriteSingleAttributeValueRangeFromArray) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Int32 myInteger = 20;
|
|
UA_Int32 myInteger = 20;
|
|
@@ -836,11 +736,9 @@ START_TEST(WriteSingleAttributeValueRangeFromArray) {
|
|
wValue.attributeId = UA_ATTRIBUTEID_VALUE;
|
|
wValue.attributeId = UA_ATTRIBUTEID_VALUE;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeDataType) {
|
|
START_TEST(WriteSingleAttributeDataType) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_NodeId typeId;
|
|
UA_NodeId typeId;
|
|
@@ -851,11 +749,9 @@ START_TEST(WriteSingleAttributeDataType) {
|
|
UA_Variant_setScalar(&wValue.value.value, &typeId, &UA_TYPES[UA_TYPES_NODEID]);
|
|
UA_Variant_setScalar(&wValue.value.value, &typeId, &UA_TYPES[UA_TYPES_NODEID]);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADTYPEMISMATCH);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADTYPEMISMATCH);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeValueRank) {
|
|
START_TEST(WriteSingleAttributeValueRank) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Int32 testValue = -1;
|
|
UA_Int32 testValue = -1;
|
|
@@ -866,11 +762,9 @@ START_TEST(WriteSingleAttributeValueRank) {
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
// Returns attributeInvalid, since variant/value may be writable
|
|
// Returns attributeInvalid, since variant/value may be writable
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeArrayDimensions) {
|
|
START_TEST(WriteSingleAttributeArrayDimensions) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_UInt32 testValue[] = {1,1,1};
|
|
UA_UInt32 testValue[] = {1,1,1};
|
|
@@ -881,11 +775,9 @@ START_TEST(WriteSingleAttributeArrayDimensions) {
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
// Returns attributeInvalid, since variant/value may be writable
|
|
// Returns attributeInvalid, since variant/value may be writable
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADTYPEMISMATCH);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADTYPEMISMATCH);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeAccessLevel) {
|
|
START_TEST(WriteSingleAttributeAccessLevel) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Byte testValue = 0;
|
|
UA_Byte testValue = 0;
|
|
@@ -895,11 +787,9 @@ START_TEST(WriteSingleAttributeAccessLevel) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeMinimumSamplingInterval) {
|
|
START_TEST(WriteSingleAttributeMinimumSamplingInterval) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Double testValue = 0.0;
|
|
UA_Double testValue = 0.0;
|
|
@@ -909,11 +799,9 @@ START_TEST(WriteSingleAttributeMinimumSamplingInterval) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeHistorizing) {
|
|
START_TEST(WriteSingleAttributeHistorizing) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Boolean testValue = true;
|
|
UA_Boolean testValue = true;
|
|
@@ -923,11 +811,9 @@ START_TEST(WriteSingleAttributeHistorizing) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleAttributeExecutable) {
|
|
START_TEST(WriteSingleAttributeExecutable) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Boolean testValue = true;
|
|
UA_Boolean testValue = true;
|
|
@@ -937,11 +823,9 @@ START_TEST(WriteSingleAttributeExecutable) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADNODECLASSINVALID);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(WriteSingleDataSourceAttributeValue) {
|
|
START_TEST(WriteSingleDataSourceAttributeValue) {
|
|
- UA_Server *server = makeTestSequence();
|
|
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue wValue;
|
|
UA_WriteValue_init(&wValue);
|
|
UA_WriteValue_init(&wValue);
|
|
UA_Int32 testValue = 0;
|
|
UA_Int32 testValue = 0;
|
|
@@ -951,13 +835,13 @@ START_TEST(WriteSingleDataSourceAttributeValue) {
|
|
wValue.value.hasValue = true;
|
|
wValue.value.hasValue = true;
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
UA_StatusCode retval = UA_Server_write(server, &wValue);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADWRITENOTSUPPORTED);
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_BADWRITENOTSUPPORTED);
|
|
- UA_Server_delete(server);
|
|
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
static Suite * testSuite_services_attributes(void) {
|
|
static Suite * testSuite_services_attributes(void) {
|
|
Suite *s = suite_create("services_attributes_read");
|
|
Suite *s = suite_create("services_attributes_read");
|
|
|
|
|
|
TCase *tc_readSingleAttributes = tcase_create("readSingleAttributes");
|
|
TCase *tc_readSingleAttributes = tcase_create("readSingleAttributes");
|
|
|
|
+ tcase_add_checked_fixture(tc_readSingleAttributes, setup, teardown);
|
|
tcase_add_test(tc_readSingleAttributes, ReadSingleAttributeValueWithoutTimestamp);
|
|
tcase_add_test(tc_readSingleAttributes, ReadSingleAttributeValueWithoutTimestamp);
|
|
tcase_add_test(tc_readSingleAttributes, ReadSingleAttributeValueRangeWithoutTimestamp);
|
|
tcase_add_test(tc_readSingleAttributes, ReadSingleAttributeValueRangeWithoutTimestamp);
|
|
tcase_add_test(tc_readSingleAttributes, ReadSingleAttributeNodeIdWithoutTimestamp);
|
|
tcase_add_test(tc_readSingleAttributes, ReadSingleAttributeNodeIdWithoutTimestamp);
|
|
@@ -988,6 +872,7 @@ static Suite * testSuite_services_attributes(void) {
|
|
suite_add_tcase(s, tc_readSingleAttributes);
|
|
suite_add_tcase(s, tc_readSingleAttributes);
|
|
|
|
|
|
TCase *tc_writeSingleAttributes = tcase_create("writeSingleAttributes");
|
|
TCase *tc_writeSingleAttributes = tcase_create("writeSingleAttributes");
|
|
|
|
+ tcase_add_checked_fixture(tc_writeSingleAttributes, setup, teardown);
|
|
tcase_add_test(tc_writeSingleAttributes, WriteSingleAttributeNodeId);
|
|
tcase_add_test(tc_writeSingleAttributes, WriteSingleAttributeNodeId);
|
|
tcase_add_test(tc_writeSingleAttributes, WriteSingleAttributeNodeclass);
|
|
tcase_add_test(tc_writeSingleAttributes, WriteSingleAttributeNodeclass);
|
|
tcase_add_test(tc_writeSingleAttributes, WriteSingleAttributeBrowseName);
|
|
tcase_add_test(tc_writeSingleAttributes, WriteSingleAttributeBrowseName);
|