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

Reply via email to