|
@@ -67,7 +67,9 @@ createSubscription(void) {
|
|
UA_CreateSubscriptionResponse response;
|
|
UA_CreateSubscriptionResponse response;
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
subscriptionId = response.subscriptionId;
|
|
subscriptionId = response.subscriptionId;
|
|
|
|
|
|
@@ -98,7 +100,9 @@ createMonitoredItem(void) {
|
|
UA_CreateMonitoredItemsResponse response;
|
|
UA_CreateMonitoredItemsResponse response;
|
|
UA_CreateMonitoredItemsResponse_init(&response);
|
|
UA_CreateMonitoredItemsResponse_init(&response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateMonitoredItems(server, session, &request, &response);
|
|
Service_CreateMonitoredItems(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
@@ -118,8 +122,9 @@ START_TEST(Server_createSubscription) {
|
|
|
|
|
|
UA_CreateSubscriptionResponse response;
|
|
UA_CreateSubscriptionResponse response;
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
-
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
subscriptionId = response.subscriptionId;
|
|
subscriptionId = response.subscriptionId;
|
|
|
|
|
|
@@ -145,7 +150,9 @@ START_TEST(Server_modifySubscription) {
|
|
UA_ModifySubscriptionResponse response;
|
|
UA_ModifySubscriptionResponse response;
|
|
UA_ModifySubscriptionResponse_init(&response);
|
|
UA_ModifySubscriptionResponse_init(&response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_ModifySubscription(server, session, &request, &response);
|
|
Service_ModifySubscription(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
|
|
|
|
UA_ModifySubscriptionResponse_deleteMembers(&response);
|
|
UA_ModifySubscriptionResponse_deleteMembers(&response);
|
|
@@ -164,7 +171,10 @@ START_TEST(Server_setPublishingMode) {
|
|
UA_SetPublishingModeResponse response;
|
|
UA_SetPublishingModeResponse response;
|
|
UA_SetPublishingModeResponse_init(&response);
|
|
UA_SetPublishingModeResponse_init(&response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_SetPublishingMode(server, session, &request, &response);
|
|
Service_SetPublishingMode(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
|
|
+
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.results[0], UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.results[0], UA_STATUSCODE_GOOD);
|
|
@@ -184,7 +194,9 @@ START_TEST(Server_republish) {
|
|
UA_RepublishResponse response;
|
|
UA_RepublishResponse response;
|
|
UA_RepublishResponse_init(&response);
|
|
UA_RepublishResponse_init(&response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_Republish(server, session, &request, &response);
|
|
Service_Republish(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_BADMESSAGENOTAVAILABLE);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_BADMESSAGENOTAVAILABLE);
|
|
|
|
|
|
UA_RepublishResponse_deleteMembers(&response);
|
|
UA_RepublishResponse_deleteMembers(&response);
|
|
@@ -201,7 +213,9 @@ START_TEST(Server_republish_invalid) {
|
|
UA_RepublishResponse response;
|
|
UA_RepublishResponse response;
|
|
UA_RepublishResponse_init(&response);
|
|
UA_RepublishResponse_init(&response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_Republish(server, session, &request, &response);
|
|
Service_Republish(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID);
|
|
|
|
|
|
UA_RepublishResponse_deleteMembers(&response);
|
|
UA_RepublishResponse_deleteMembers(&response);
|
|
@@ -220,7 +234,9 @@ START_TEST(Server_deleteSubscription) {
|
|
UA_DeleteSubscriptionsResponse del_response;
|
|
UA_DeleteSubscriptionsResponse del_response;
|
|
UA_DeleteSubscriptionsResponse_init(&del_response);
|
|
UA_DeleteSubscriptionsResponse_init(&del_response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_DeleteSubscriptions(server, session, &del_request, &del_response);
|
|
Service_DeleteSubscriptions(server, session, &del_request, &del_response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(del_response.resultsSize, 1);
|
|
ck_assert_uint_eq(del_response.resultsSize, 1);
|
|
ck_assert_uint_eq(del_response.results[0], UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(del_response.results[0], UA_STATUSCODE_GOOD);
|
|
|
|
|
|
@@ -236,7 +252,9 @@ START_TEST(Server_publishCallback) {
|
|
UA_CreateSubscriptionRequest_init(&request);
|
|
UA_CreateSubscriptionRequest_init(&request);
|
|
request.publishingEnabled = true;
|
|
request.publishingEnabled = true;
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
UA_UInt32 subscriptionId1 = response.subscriptionId;
|
|
UA_UInt32 subscriptionId1 = response.subscriptionId;
|
|
UA_CreateSubscriptionResponse_deleteMembers(&response);
|
|
UA_CreateSubscriptionResponse_deleteMembers(&response);
|
|
@@ -245,7 +263,9 @@ START_TEST(Server_publishCallback) {
|
|
UA_CreateSubscriptionRequest_init(&request);
|
|
UA_CreateSubscriptionRequest_init(&request);
|
|
request.publishingEnabled = true;
|
|
request.publishingEnabled = true;
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
UA_UInt32 subscriptionId2 = response.subscriptionId;
|
|
UA_UInt32 subscriptionId2 = response.subscriptionId;
|
|
UA_Double publishingInterval = response.revisedPublishingInterval;
|
|
UA_Double publishingInterval = response.revisedPublishingInterval;
|
|
@@ -277,7 +297,9 @@ START_TEST(Server_publishCallback) {
|
|
UA_DeleteSubscriptionsResponse del_response;
|
|
UA_DeleteSubscriptionsResponse del_response;
|
|
UA_DeleteSubscriptionsResponse_init(&del_response);
|
|
UA_DeleteSubscriptionsResponse_init(&del_response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_DeleteSubscriptions(server, session, &del_request, &del_response);
|
|
Service_DeleteSubscriptions(server, session, &del_request, &del_response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(del_response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(del_response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(del_response.resultsSize, 2);
|
|
ck_assert_uint_eq(del_response.resultsSize, 2);
|
|
ck_assert_uint_eq(del_response.results[0], UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(del_response.results[0], UA_STATUSCODE_GOOD);
|
|
@@ -318,7 +340,9 @@ START_TEST(Server_modifyMonitoredItems) {
|
|
UA_ModifyMonitoredItemsResponse response;
|
|
UA_ModifyMonitoredItemsResponse response;
|
|
UA_ModifyMonitoredItemsResponse_init(&response);
|
|
UA_ModifyMonitoredItemsResponse_init(&response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_ModifyMonitoredItems(server, session, &request, &response);
|
|
Service_ModifyMonitoredItems(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
@@ -336,7 +360,9 @@ START_TEST(Server_overflow) {
|
|
UA_CreateSubscriptionRequest_init(&createSubscriptionRequest);
|
|
UA_CreateSubscriptionRequest_init(&createSubscriptionRequest);
|
|
createSubscriptionRequest.publishingEnabled = true;
|
|
createSubscriptionRequest.publishingEnabled = true;
|
|
UA_CreateSubscriptionResponse_init(&createSubscriptionResponse);
|
|
UA_CreateSubscriptionResponse_init(&createSubscriptionResponse);
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateSubscription(server, session, &createSubscriptionRequest, &createSubscriptionResponse);
|
|
Service_CreateSubscription(server, session, &createSubscriptionRequest, &createSubscriptionResponse);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(createSubscriptionResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(createSubscriptionResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
UA_UInt32 localSubscriptionId = createSubscriptionResponse.subscriptionId;
|
|
UA_UInt32 localSubscriptionId = createSubscriptionResponse.subscriptionId;
|
|
UA_Double publishingInterval = createSubscriptionResponse.revisedPublishingInterval;
|
|
UA_Double publishingInterval = createSubscriptionResponse.revisedPublishingInterval;
|
|
@@ -368,7 +394,9 @@ START_TEST(Server_overflow) {
|
|
UA_CreateMonitoredItemsResponse createMonitoredItemsResponse;
|
|
UA_CreateMonitoredItemsResponse createMonitoredItemsResponse;
|
|
UA_CreateMonitoredItemsResponse_init(&createMonitoredItemsResponse);
|
|
UA_CreateMonitoredItemsResponse_init(&createMonitoredItemsResponse);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateMonitoredItems(server, session, &createMonitoredItemsRequest, &createMonitoredItemsResponse);
|
|
Service_CreateMonitoredItems(server, session, &createMonitoredItemsRequest, &createMonitoredItemsResponse);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(createMonitoredItemsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(createMonitoredItemsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(createMonitoredItemsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(createMonitoredItemsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(createMonitoredItemsResponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(createMonitoredItemsResponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
@@ -438,8 +466,10 @@ START_TEST(Server_overflow) {
|
|
UA_ModifyMonitoredItemsResponse modifyMonitoredItemsResponse;
|
|
UA_ModifyMonitoredItemsResponse modifyMonitoredItemsResponse;
|
|
UA_ModifyMonitoredItemsResponse_init(&modifyMonitoredItemsResponse);
|
|
UA_ModifyMonitoredItemsResponse_init(&modifyMonitoredItemsResponse);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_ModifyMonitoredItems(server, session, &modifyMonitoredItemsRequest,
|
|
Service_ModifyMonitoredItems(server, session, &modifyMonitoredItemsRequest,
|
|
&modifyMonitoredItemsResponse);
|
|
&modifyMonitoredItemsResponse);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
@@ -468,8 +498,10 @@ START_TEST(Server_overflow) {
|
|
|
|
|
|
UA_ModifyMonitoredItemsResponse_init(&modifyMonitoredItemsResponse);
|
|
UA_ModifyMonitoredItemsResponse_init(&modifyMonitoredItemsResponse);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_ModifyMonitoredItems(server, session, &modifyMonitoredItemsRequest,
|
|
Service_ModifyMonitoredItems(server, session, &modifyMonitoredItemsRequest,
|
|
&modifyMonitoredItemsResponse);
|
|
&modifyMonitoredItemsResponse);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
@@ -497,8 +529,10 @@ START_TEST(Server_overflow) {
|
|
|
|
|
|
UA_ModifyMonitoredItemsResponse_init(&modifyMonitoredItemsResponse);
|
|
UA_ModifyMonitoredItemsResponse_init(&modifyMonitoredItemsResponse);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_ModifyMonitoredItems(server, session, &modifyMonitoredItemsRequest,
|
|
Service_ModifyMonitoredItems(server, session, &modifyMonitoredItemsRequest,
|
|
&modifyMonitoredItemsResponse);
|
|
&modifyMonitoredItemsResponse);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(modifyMonitoredItemsResponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
@@ -522,8 +556,10 @@ START_TEST(Server_overflow) {
|
|
UA_DeleteSubscriptionsResponse deleteSubscriptionsResponse;
|
|
UA_DeleteSubscriptionsResponse deleteSubscriptionsResponse;
|
|
UA_DeleteSubscriptionsResponse_init(&deleteSubscriptionsResponse);
|
|
UA_DeleteSubscriptionsResponse_init(&deleteSubscriptionsResponse);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_DeleteSubscriptions(server, session, &deleteSubscriptionsRequest,
|
|
Service_DeleteSubscriptions(server, session, &deleteSubscriptionsRequest,
|
|
&deleteSubscriptionsResponse);
|
|
&deleteSubscriptionsResponse);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(deleteSubscriptionsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(deleteSubscriptionsResponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(deleteSubscriptionsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(deleteSubscriptionsResponse.resultsSize, 1);
|
|
ck_assert_uint_eq(deleteSubscriptionsResponse.results[0], UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(deleteSubscriptionsResponse.results[0], UA_STATUSCODE_GOOD);
|
|
@@ -547,7 +583,9 @@ START_TEST(Server_setMonitoringMode) {
|
|
UA_SetMonitoringModeResponse response;
|
|
UA_SetMonitoringModeResponse response;
|
|
UA_SetMonitoringModeResponse_init(&response);
|
|
UA_SetMonitoringModeResponse_init(&response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_SetMonitoringMode(server, session, &request, &response);
|
|
Service_SetMonitoringMode(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.results[0], UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.results[0], UA_STATUSCODE_GOOD);
|
|
@@ -569,7 +607,9 @@ START_TEST(Server_deleteMonitoredItems) {
|
|
UA_DeleteMonitoredItemsResponse response;
|
|
UA_DeleteMonitoredItemsResponse response;
|
|
UA_DeleteMonitoredItemsResponse_init(&response);
|
|
UA_DeleteMonitoredItemsResponse_init(&response);
|
|
|
|
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_DeleteMonitoredItems(server, session, &request, &response);
|
|
Service_DeleteMonitoredItems(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.results[0], UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.results[0], UA_STATUSCODE_GOOD);
|
|
@@ -588,7 +628,9 @@ START_TEST(Server_lifeTimeCount) {
|
|
request.requestedLifetimeCount = 3;
|
|
request.requestedLifetimeCount = 3;
|
|
request.requestedMaxKeepAliveCount = 1;
|
|
request.requestedMaxKeepAliveCount = 1;
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.revisedMaxKeepAliveCount, 1);
|
|
ck_assert_uint_eq(response.revisedMaxKeepAliveCount, 1);
|
|
ck_assert_uint_eq(response.revisedLifetimeCount, 3);
|
|
ck_assert_uint_eq(response.revisedLifetimeCount, 3);
|
|
@@ -600,7 +642,9 @@ START_TEST(Server_lifeTimeCount) {
|
|
request.requestedLifetimeCount = 4;
|
|
request.requestedLifetimeCount = 4;
|
|
request.requestedMaxKeepAliveCount = 2;
|
|
request.requestedMaxKeepAliveCount = 2;
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.revisedMaxKeepAliveCount, 2);
|
|
ck_assert_uint_eq(response.revisedMaxKeepAliveCount, 2);
|
|
/* revisedLifetimeCount is revised to 3*MaxKeepAliveCount == 3 */
|
|
/* revisedLifetimeCount is revised to 3*MaxKeepAliveCount == 3 */
|
|
@@ -633,7 +677,9 @@ START_TEST(Server_lifeTimeCount) {
|
|
|
|
|
|
UA_CreateMonitoredItemsResponse mresponse;
|
|
UA_CreateMonitoredItemsResponse mresponse;
|
|
UA_CreateMonitoredItemsResponse_init(&mresponse);
|
|
UA_CreateMonitoredItemsResponse_init(&mresponse);
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateMonitoredItems(server, session, &mrequest, &mresponse);
|
|
Service_CreateMonitoredItems(server, session, &mrequest, &mresponse);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(mresponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(mresponse.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(mresponse.resultsSize, 1);
|
|
ck_assert_uint_eq(mresponse.resultsSize, 1);
|
|
ck_assert_uint_eq(mresponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(mresponse.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
@@ -740,7 +786,9 @@ START_TEST(Server_invalidPublishingInterval) {
|
|
request.publishingEnabled = true;
|
|
request.publishingEnabled = true;
|
|
request.requestedPublishingInterval = -5.0; // Must be positive
|
|
request.requestedPublishingInterval = -5.0; // Must be positive
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
UA_CreateSubscriptionResponse_init(&response);
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
Service_CreateSubscription(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert(response.revisedPublishingInterval ==
|
|
ck_assert(response.revisedPublishingInterval ==
|
|
server->config.publishingIntervalLimits.min);
|
|
server->config.publishingIntervalLimits.min);
|
|
@@ -778,7 +826,9 @@ START_TEST(Server_invalidSamplingInterval) {
|
|
|
|
|
|
UA_CreateMonitoredItemsResponse response;
|
|
UA_CreateMonitoredItemsResponse response;
|
|
UA_CreateMonitoredItemsResponse_init(&response);
|
|
UA_CreateMonitoredItemsResponse_init(&response);
|
|
|
|
+ UA_LOCK(server->serviceMutex);
|
|
Service_CreateMonitoredItems(server, session, &request, &response);
|
|
Service_CreateMonitoredItems(server, session, &request, &response);
|
|
|
|
+ UA_UNLOCK(server->serviceMutex);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.responseHeader.serviceResult, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.resultsSize, 1);
|
|
ck_assert_uint_eq(response.results[0].statusCode, UA_STATUSCODE_GOOD);
|
|
ck_assert_uint_eq(response.results[0].statusCode, UA_STATUSCODE_GOOD);
|