summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorIngo Huerner <ingo.huerner@xse.de>2015-01-08 13:19:20 +0100
committerIngo Huerner <ingo.huerner@xse.de>2015-01-08 13:19:20 +0100
commite026de7ddd7ef60abb5213f046db20cf7dffcb51 (patch)
treeb3244c3df3b6b901c7b962b0f542228eee86c90b /test
parent2fc0d0f76225e8c318a5c7e9995ceda8201ec1f7 (diff)
downloadpersistence-client-library-e026de7ddd7ef60abb5213f046db20cf7dffcb51.tar.gz
Removed compiler warnings; added check for shared data if application is allowed to modify
Diffstat (limited to 'test')
-rw-r--r--test/data/PAS_data.tar.gzbin6949 -> 7018 bytes
-rw-r--r--test/persistence_client_library_dbus_test.c8
-rw-r--r--test/persistence_client_library_test.c53
3 files changed, 54 insertions, 7 deletions
diff --git a/test/data/PAS_data.tar.gz b/test/data/PAS_data.tar.gz
index de372b5..46c5eca 100644
--- a/test/data/PAS_data.tar.gz
+++ b/test/data/PAS_data.tar.gz
Binary files differ
diff --git a/test/persistence_client_library_dbus_test.c b/test/persistence_client_library_dbus_test.c
index 2dbd5dc..dae3bc2 100644
--- a/test/persistence_client_library_dbus_test.c
+++ b/test/persistence_client_library_dbus_test.c
@@ -55,18 +55,18 @@ int main(int argc, char *argv[])
printf("pclInitLibrary: %d\n", ret);
printf("Press a key to end application\n");
- ret = pclKeyHandleOpen(0xFF, "posHandle/last_position", 0, 0);
+ ret = pclKeyHandleOpen(PCL_LDBID_LOCAL, "posHandle/last_position", 0, 0);
printf("Register for change notification\n");
ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback);
ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback);
ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback);
- ret = pclKeyRegisterNotifyOnChange(0xFF, "69", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
+ ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "69", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
printf("Reg => 69: %d\n", ret);
- ret = pclKeyRegisterNotifyOnChange(0xFF, "70", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
+ ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "70", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
printf("Reg => 70: %d\n", ret);
- ret = pclKeyRegisterNotifyOnChange(0xFF, "key_70", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
+ ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "key_70", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
printf("Reg => key_70: %d\n", ret);
diff --git a/test/persistence_client_library_test.c b/test/persistence_client_library_test.c
index e5e3b99..db3a1e8 100644
--- a/test/persistence_client_library_test.c
+++ b/test/persistence_client_library_test.c
@@ -210,7 +210,7 @@ START_TEST (test_GetDataHandle)
locTime = localtime(&t);
- snprintf(sysTimeBuffer, 128, "TimeAndData: \"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon, (locTime->tm_year+1900),
+ snprintf(sysTimeBuffer, 128, "TimeAndData: \"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon+1, (locTime->tm_year+1900),
locTime->tm_hour, locTime->tm_min, locTime->tm_sec);
@@ -336,7 +336,7 @@ START_TEST(test_SetData)
locTime = localtime(&t);
// write data
- snprintf(sysTimeBuffer, 128, "\"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon, (locTime->tm_year+1900),
+ snprintf(sysTimeBuffer, 128, "\"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon+1, (locTime->tm_year+1900),
locTime->tm_hour, locTime->tm_min, locTime->tm_sec);
/**
@@ -454,7 +454,7 @@ START_TEST(test_SetDataNoPRCT)
locTime = localtime(&t);
- snprintf(sysTimeBuffer, 128, "TimeAndData: \"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon, (locTime->tm_year+1900),
+ snprintf(sysTimeBuffer, 128, "TimeAndData: \"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon+1, (locTime->tm_year+1900),
locTime->tm_hour, locTime->tm_min, locTime->tm_sec);
/**
@@ -1585,6 +1585,47 @@ START_TEST(test_DbusInterface)
END_TEST
+START_TEST(test_SharedAccess)
+{
+ int ret = 0;
+ unsigned int shutdownReg = PCL_SHUTDOWN_TYPE_FAST | PCL_SHUTDOWN_TYPE_NORMAL;
+ unsigned char buffer[256] = {0};
+ char sysTimeBuffer[256];
+ struct tm *locTime;
+ time_t t = time(0);
+
+ locTime = localtime(&t);
+
+ // write data
+ snprintf(sysTimeBuffer, 128, "\"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon+1, (locTime->tm_year+1900),
+ locTime->tm_hour, locTime->tm_min, locTime->tm_sec);
+
+ (void)pclInitLibrary(gTheAppId, shutdownReg); // use the app id, the resource is registered for
+
+ ret = pclKeyWriteData(PCL_LDBID_PUBLIC, "aSharedResource", 1, 1, (unsigned char*)sysTimeBuffer, strlen(sysTimeBuffer));
+ fail_unless(ret == (int)strlen(sysTimeBuffer), "Failed to write shared data ");
+
+ ret = pclKeyReadData(PCL_LDBID_PUBLIC, "aSharedResource", 1, 1, buffer, 256);
+ fail_unless(ret == (int)strlen(sysTimeBuffer), "Failed to read shared data ");
+
+ pclDeinitLibrary();
+
+ // ----------------------------------------------
+
+ (void)pclInitLibrary("node-health-monitor", shutdownReg); // now use a different app id, which is not able to write this resource
+
+ ret = pclKeyWriteData(PCL_LDBID_PUBLIC, "aSharedResource", 1, 1, (unsigned char*)"This is a test Buffer", strlen("This is a test Buffer"));
+ fail_unless(ret == EPERS_NOT_RESP_APP, "Able to write shared data, but should not!!");
+
+ ret = pclKeyReadData(PCL_LDBID_PUBLIC, "aSharedResource", 1, 1, buffer, 256);
+ fail_unless(ret == (int)strlen(sysTimeBuffer), "Failed to read shared data ");
+ fail_unless(strncmp((char*)buffer, sysTimeBuffer, strlen((char*)sysTimeBuffer)) == 0, "Buffer not correctly read");
+
+ pclDeinitLibrary();
+}
+END_TEST
+
+
static Suite * persistencyClientLib_suite()
{
const char* testSuiteName = "Persistency_client_library";
@@ -1689,6 +1730,9 @@ static Suite * persistencyClientLib_suite()
TCase * tc_VerifyROnly = tcase_create("VerifyROnly");
tcase_add_test(tc_VerifyROnly, test_VerifyROnly);
+ TCase * tc_SharedAccess = tcase_create("SharedAccess");
+ tcase_add_test(tc_SharedAccess, test_SharedAccess);
+ tcase_set_timeout(tc_SharedAccess, 2);
suite_add_tcase(s, tc_persSetData);
@@ -1753,6 +1797,9 @@ static Suite * persistencyClientLib_suite()
suite_add_tcase(s, tc_DataFileConfDefault);
tcase_add_checked_fixture(tc_DataFileConfDefault, data_setup, data_teardown);
+
+ suite_add_tcase(s, tc_SharedAccess);
+
#if USE_APPCHECK
suite_add_tcase(s, tc_ValidApplication);
#endif