From 23bc755164fb299d40c7910efa4642f3cd35b87a Mon Sep 17 00:00:00 2001 From: Ingo Huerner Date: Fri, 19 Dec 2014 19:15:08 +0100 Subject: Updated README file --- README | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 148 insertions(+), 3 deletions(-) (limited to 'README') diff --git a/README b/README index 3dbac83..15f252a 100644 --- a/README +++ b/README @@ -1,3 +1,151 @@ +***************************** +Persistence Client Library +***************************** + +Copyright (C) 2015 XS Embedded GmbH. All rights reserved. + + +---------------------------- +Project Scope +---------------------------- +The persistence client library has been developed as a proof of concept (PoC) for GENIVI. +It now serves as a reference implementation. + + +---------------------------- +License +---------------------------- +The Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy +of the MPL was not distributed with this file. Youcan obtain one at +http://mozilla.org/MPL/2.0/ + + +---------------------------- +Dependencies +---------------------------- +The client library has the following dependencies +* Libraries +** automotive-dlt (http://projects.genivi.org/diagnostic-log-trace/) +** Persistence Common Object (http://git.projects.genivi.org/?p=persistence/persistence-common-object.git;a=summary) + Add "-- with_database=key-value-store" to the configure step +** dbus-1 +** check unit test framework for C used when configured with "--enable-tests" + Ubuntu: use Synaptic package manager + Or download http://check.sourceforge.net/ +* autotools +* libtool + + +---------------------------- +Dependencies +---------------------------- +The Persistence Client Lib component uses automake +to build the library. +Execute the following steps in order to build the component +* autoreconf –vi +* configure, with the following options +** --enable-tests to enable the build of the tests +** --enable-pasinterface enable the PAS interface (disabled by default) +** -- with_database decide which storage backend to use +*** Itzam/C is currently default backend +*** It is recommended to use the key-value-store backend ("-- with_database=key-value-store") +* make + + +---------------------------- +Testing and Debugging +---------------------------- + +Introduction: +-------------- +The test framework “check” has been used to write unit tests which will be run automatically +when the test binary will be started. At the end a test report will be printed to the console +showing first a summary about number of tests that have been executed and how many +tests have been passed or failed. After the summary a test report will be generated showing +the status of each test. When a bug will be fixed a test will be written to verify the problem +has been solved. +DTL (Diagnostic, Log and Trace) will be used by the PCL to send status and error. For +details about DLT, please refer to the GENIVI DLT p roject page +(http://projects.genivi.org/diagnostic-log-trace/). + + +Running tests: +-------------- +There are unit tests available for the persistency client library component available. +The unit tests are used to verify that the component is working correctly and exclude any +regressions. Please refer always to the source codeto see the available tests + + +Precondition: +-------------- +* GENIVI Lifecycle components are available on thesystem +** The GENIVI lifecycle components are available here: + http://projects.genivi.org/node-state-manager/ + http://projects.genivi.org/node-startup-controller/ +** Make sure Node State Manager is running (Start "node-state-manager") +* Persistence Administration Service is available in the system and running +** The GENIVI Persistence Administration Service is available here: + http://git.projects.genivi.org/?p=persistence/persistence-administrator.git +* Persistence Common Object is available in the system +** The GENIVI Persistence Common Object is available here: + http://git.projects.genivi.org/?p=persistence/persistence-common-object.git + use the key-value-store backend (run configure step with "-- with_database=key-value-store") +* Persistence partitions has been created and mounted and test data is +* If partition and data is not available, use the PAS to setup the test data. +** make sure node-state-manager and pers_admin_svc are running +** Now install the test data: + "persadmin_tool install /path_to_test_data/PAS_data.tar.gz" + The test data is provided by the PCL (../test/data/PAS_data.tar.gz) +* Make sure dlt-daemon is running +* Make sure D-Bus system bus is available + + +Run tests: +-------------- +run persistency unit test "./persistence_client_library_test" + + +Expected test result: +-------------- +The expected result is to have 0 failures and 0 errors, see example output below: + +./persistence_client_library_test +Running suite(s): Persistency client library +100%: Checks: 13, Failures: 0, Errors: 0 +persistence_client_library_test.c:141:P:GetData:test_GetData:0: Passed +persistence_client_library_test.c:357:P:SetData:test_SetData:0: Passed +persistence_client_library_test.c:400:P:SetDataNoPRCT:test_SetDataNoPRCT:0: Passed +persistence_client_library_test.c:434:P:GetDataSize:test_GetDataSize:0: Passed +persistence_client_library_test.c:478:P:DeleteData:test_DeleteData:0: Passed +persistence_client_library_test.c:236:P:GetDataHandle:test_GetDataHandle:0: Passed +persistence_client_library_test.c:652:P:DataHandle:test_DataHandle:0: Passed +persistence_client_library_test.c:727:P:DataHandleOpen:test_DataHandleOpen:0: Passed +persistence_client_library_test.c:578:P:DataFile:test_DataFile:0: Passed +persistence_client_library_test.c:604:P:DataFileRecovery:test_DataFileRecovery:0: Passed +persistence_client_library_test.c:794:P:Cursor:test_Cursor:0: Passed +persistence_client_library_test.c:864:P:ReadDefault:test_ReadDefault:0: Passed +persistence_client_library_test.c:886:P:ReadConfDefault:test_ReadConfDefault:0: Passed + +The output above may vary as the test cases will beadopted or extended. + + +---------------------------- +Project page +---------------------------- +- http://projects.genivi.org/persistence-client-library/ + + +---------------------------- +Mailing List +---------------------------- +Subscribe to the mailing list here: http://lists.genivi.org/mailman/listinfo/genivi-persistence + +---------------------------- +Bug reporting +---------------------------- +View or Report bugs here: http://bugs.genivi.org/buglist.cgi?product=persistence-client-library + + ---------------------------- Documentation ---------------------------- @@ -17,6 +165,3 @@ How to create doxygen documentation The doxygen package must be installed. run "doxygen doc/pcl_doxyfile" and the html documentation will be generated in the doc folder. - - - -- cgit v1.2.1