Ack with comments:
* the commit message does not describe what the patch is doing, should probably
be something like:
"logtest: fix hardcoded root path, read from IMM [#541]"
* code commented out should be removed
Thanks,
Hans
On 08/14/2013 04:12 PM, Lennart Lund wrote:
> tests/logsv/Makefile.am | 4 ++-
> tests/logsv/logtest.c | 55
> ++++++++++++++++++++++++++++++++++++++++++++++
> tests/logsv/logtest.h | 3 +-
> tests/logsv/tet_LogOiOps.c | 28 +++++++++++++++++++----
> 4 files changed, 83 insertions(+), 7 deletions(-)
>
>
> - Replaced hard coded root path with root path fetched from log service IMM
> config object
>
> diff --git a/tests/logsv/Makefile.am b/tests/logsv/Makefile.am
> --- a/tests/logsv/Makefile.am
> +++ b/tests/logsv/Makefile.am
> @@ -25,11 +25,13 @@ noinst_HEADERS = \
>
> logtest_CPPFLAGS = \
> $(AM_CPPFLAGS) \
> - -I$(top_srcdir)/tests/unit_test_fw/inc
> + -I$(top_srcdir)/tests/unit_test_fw/inc \
> + -I$(top_srcdir)/osaf/libs/common/immsv/include
>
> logtest_SOURCES = \
> $(top_srcdir)/tests/unit_test_fw/src/utest.c \
> $(top_srcdir)/tests/unit_test_fw/src/util.c \
> + $(top_srcdir)/osaf/tools/safimm/src/immutil.c \
> logtest.c \
> tet_saLogInitialize.c \
> tet_saLogSelectionObjectGet.c \
> diff --git a/tests/logsv/logtest.c b/tests/logsv/logtest.c
> --- a/tests/logsv/logtest.c
> +++ b/tests/logsv/logtest.c
> @@ -17,6 +17,11 @@
>
> #include <sys/time.h>
> #include <unistd.h>
> +#include <limits.h>
> +#include <configmake.h>
> +#include <saImmOm.h>
> +#include <immutil.h>
> +#include <saImm.h>
>
> #include "logtest.h"
>
> @@ -93,16 +98,62 @@ SaLogRecordT genLogRecord =
> };
>
> SaVersionT logVersion = {'A', 0x02, 0x01};
> +SaVersionT immVersion = {'A', 2, 11};
> SaAisErrorT rc;
> SaLogHandleT logHandle;
> SaLogStreamHandleT logStreamHandle;
> SaLogCallbacksT logCallbacks = {NULL, NULL, NULL};
> SaSelectionObjectT selectionObject;
> +char log_root_path[PATH_MAX];
> +
> +void init_logrootpath(void)
> +{
> + SaImmHandleT omHandle;
> + SaNameT objectName = {
> + .value = "logConfig=1,safApp=safLogService",
> + .length = strlen("logConfig=1,safApp=safLogService")
> + };
> + SaImmAccessorHandleT accessorHandle;
> + SaImmAttrValuesT_2 *attribute;
> + SaImmAttrValuesT_2 **attributes;
> + SaAisErrorT ais_rc = SA_AIS_OK;
> + const char logRootDirectory_name[] = "logRootDirectory";
> + SaImmAttrNameT attributeNames[2] = {(char *) logRootDirectory_name,
> NULL};
> + void *value;
> +
> +#if 0
> + printf("logRootDirectory_name \"%s\"\n",logRootDirectory_name);
> + printf("objectName.value \"%s\"\n",objectName.value);
> + printf("objectName.length = %d\n",objectName.length);
> +#endif
> +
> + /* NOTE: immutil init osaf_assert if error */
> + (void) immutil_saImmOmInitialize(&omHandle, NULL, &immVersion);
> + (void) immutil_saImmOmAccessorInitialize(omHandle, &accessorHandle);
> +
> + /* Get all attributes of the object */
> + ais_rc = immutil_saImmOmAccessorGet_2(accessorHandle, &objectName,
> +
> attributeNames, &attributes);
> + if (ais_rc == SA_AIS_OK) {
> + attribute = attributes[0];
> + value = attribute->attrValues[0];
> + strncpy(log_root_path, *((char **) value), PATH_MAX);
> + } else {
> + /* We didn't get a root path from IMM. Use default */
> + strncpy(log_root_path, PKGLOGDIR, PATH_MAX);
> + }
> + (void) immutil_saImmOmFinalize(omHandle);
> +
> +#if 1
> + printf("log_root_path \"%s\"\n\n",log_root_path);
> +#endif
> +}
>
> int main(int argc, char **argv)
> {
> int suite = ALL_SUITES, tcase = ALL_TESTS;
>
> + init_logrootpath();
> srandom(getpid());
>
> if (argc > 1)
> @@ -120,6 +171,10 @@ int main(int argc, char **argv)
> test_list();
> return 0;
> }
> +
> + if (suite == 999) {
> + return 0;
> + }
>
> return test_run(suite, tcase);
> }
> diff --git a/tests/logsv/logtest.h b/tests/logsv/logtest.h
> --- a/tests/logsv/logtest.h
> +++ b/tests/logsv/logtest.h
> @@ -33,7 +33,7 @@
> #define DEFAULT_APP_LOG_REC_SIZE 128
> #define DEFAULT_APP_LOG_FILE_SIZE 1024 * 1024
> #define DEFAULT_FORMAT_EXPRESSION "@Cr @Ch:@Cn:@Cs @Cm/@Cd/@CY @Sv @Sl
> \"@Cb\""
> -#define SA_LOG_STREAM_APPLICATION1 "safLgStr=saLogApplication1"
> +//#define SA_LOG_STREAM_APPLICATION1 "safLgStr=saLogApplication1"
> #define DEFAULT_ALM_LOG_REC_SIZE 1024
> #define DEFAULT_ALM_LOG_BUFFER "Alarm stream test"
> #define DEFAULT_NOT_LOG_REC_SIZE 1024
> @@ -60,5 +60,6 @@ extern SaLogBufferT notificationStreamBu
> extern SaSelectionObjectT selectionObject;
> extern SaNameT logSvcUsrName;
> extern SaLogRecordT genLogRecord;
> +extern char log_root_path[];
>
> #endif
> diff --git a/tests/logsv/tet_LogOiOps.c b/tests/logsv/tet_LogOiOps.c
> --- a/tests/logsv/tet_LogOiOps.c
> +++ b/tests/logsv/tet_LogOiOps.c
> @@ -19,6 +19,7 @@
> #include <sys/wait.h>
> #include <saImm.h>
> #include <saImmOm.h>
> +#include <limits.h>
> #include "logtest.h"
>
> static SaLogFileCreateAttributesT_2 appStreamLogFileCreateAttributes =
> @@ -44,13 +45,24 @@ void saLogOi_01(void)
> test_validate(WEXITSTATUS(rc), 0);
> }
>
> +/**
> + * CCB Object Modify saLogStreamPathName, ERR not allowed
> + */
> void saLogOi_02(void)
> {
> int rc;
> char command[256];
> +
> + /* Create an illegal path name (log_root_path> cd ../) */
> + char tststr[PATH_MAX];
> + char *tstptr;
> + strcpy(tststr,log_root_path);
> + tstptr = strrchr(tststr, '/');
> + *tstptr = '\0';
>
> - sprintf(command, "immcfg -a saLogStreamPathName=/var/log %s 2>
> /dev/null",
> - SA_LOG_STREAM_ALARM);
> + sprintf(command, "immcfg -a saLogStreamPathName=/%s %s 2> /dev/null",
> + tststr,
> + SA_LOG_STREAM_ALARM);
> rc = system(command);
> test_validate(WEXITSTATUS(rc), 1);
> }
> @@ -597,14 +609,17 @@ void saLogOi_47()
> test_validate(WEXITSTATUS(rc), 0);
> }
>
> +/**
> + * CCB Object Modify, root directory
> + */
> void saLogOi_48()
> {
> int rc;
> char command[256];
> -
> - sprintf(command, "mkdir -p /var/log/opensaf/saflog/xxtest");
> +
> + sprintf(command, "mkdir -p %s/xxtest",log_root_path);
> rc = system(command);
> - sprintf(command, "immcfg -a
> logRootDirectory=/var/log/opensaf/saflog/xxtest
> logConfig=1,safApp=safLogService");
> + sprintf(command, "immcfg -a logRootDirectory=%s/xxtest
> logConfig=1,safApp=safLogService",log_root_path);
> rc = system(command);
> test_validate(WEXITSTATUS(rc), 0);
> }
> @@ -655,6 +670,9 @@ static int get_filter_cnt_attr(const SaN
> return filter_cnt;
> }
>
> +/**
> + * saflogtest, writing to saLogApplication1, severity filtering check
> + */
> void saLogOi_51(void)
> {
> int rc;
>
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel