Send Linux-ha-cvs mailing list submissions to
        linux-ha-cvs@lists.linux-ha.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Linux-ha-cvs digest..."


Today's Topics:

   1. Linux-HA CVS: crm by andrew from 
      (linux-ha-cvs@lists.linux-ha.org)


----------------------------------------------------------------------

Message: 1
Date: Wed, 21 Jun 2006 02:31:28 -0600 (MDT)
From: linux-ha-cvs@lists.linux-ha.org
Subject: [Linux-ha-cvs] Linux-HA CVS: crm by andrew from 
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>

linux-ha CVS committal

Author  : andrew
Host    : 
Project : linux-ha
Module  : crm

Dir     : linux-ha/crm/pengine


Modified Files:
        ptest.c regression.core.sh regression.sh 


Log Message:
Cleaner regression test output
Detect and report memory leaks and invalid transitions in regression results
Bring a couple more testcases up-to-date

===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/crm/pengine/ptest.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -3 -r1.77 -r1.78
--- ptest.c     8 Jun 2006 13:39:10 -0000       1.77
+++ ptest.c     21 Jun 2006 08:31:27 -0000      1.78
@@ -1,4 +1,4 @@
-/* $Id: ptest.c,v 1.77 2006/06/08 13:39:10 andrew Exp $ */
+/* $Id: ptest.c,v 1.78 2006/06/21 08:31:27 andrew Exp $ */
 
 /* 
  * Copyright (C) 2004 Andrew Beekhof <[EMAIL PROTECTED]>
@@ -36,7 +36,7 @@
 
 #include <crm/cib.h>
 
-#define OPTARGS        "V?X:D:G:I:Lwx"
+#define OPTARGS        "V?X:D:G:I:Lwxd:"
 
 #ifdef HAVE_GETOPT_H
 #  include <getopt.h>
@@ -51,6 +51,7 @@
 extern crm_data_t * do_calculations(
        pe_working_set_t *data_set, crm_data_t *xml_input, ha_time_t *now);
 extern void cleanup_calculations(pe_working_set_t *data_set);
+char *use_date = NULL;
 
 FILE *dot_strm = NULL;
 #define DOT_PREFIX "PE_DOT: "
@@ -132,9 +133,9 @@
 int
 main(int argc, char **argv)
 {
+       gboolean all_good = TRUE;
        enum transition_status graph_rc = -1;
        crm_graph_t *transition = NULL;
-       const char *fake_now = NULL;
        ha_time_t *a_date = NULL;
        cib_t * cib_conn = NULL;
        
@@ -204,6 +205,9 @@
                        case 'X':
                                xml_file = crm_strdup(optarg);
                                break;
+                       case 'd':
+                               use_date = crm_strdup(optarg);
+                               break;
                        case 'D':
                                dot_file = crm_strdup(optarg);
                                break;
@@ -287,7 +291,11 @@
 
        crm_notice("Required feature set: %s", feature_set(cib_object));
        do_id_check(cib_object, NULL, FALSE, FALSE);
-
+       if(!validate_with_dtd(cib_object,FALSE,HA_LIBDIR"/heartbeat/crm.dtd")) {
+               crm_crit("%s is not a valid configuration", 
xml_file?xml_file:"stding");
+               all_good = FALSE;
+       }
+       
        if(input_file != NULL) {
                FILE *input_strm = fopen(input_file, "w");
                msg_buffer = dump_xml_formatted(cib_object);
@@ -299,16 +307,12 @@
        
        crm_zero_mem_stats(NULL);
        
-       fake_now = crm_element_value(cib_object, "fake_now");
-       if(fake_now != NULL) {
-               char *fake_now_copy = crm_strdup(fake_now);
-               char *fake_now_mutable = fake_now_copy;
-               a_date = parse_date(&fake_now_mutable);
+       if(use_date != NULL) {
+               a_date = parse_date(&use_date);
                log_date(LOG_WARNING, "Set fake 'now' to",
                         a_date, ha_log_date|ha_log_time);
                log_date(LOG_WARNING, "Set fake 'now' to (localtime)",
                         a_date, ha_log_date|ha_log_time|ha_log_local);
-               crm_free(fake_now_copy);
        }
 
        do_calculations(&data_set, cib_object, a_date);
@@ -403,8 +407,8 @@
        destroy_graph(transition);
        
        crm_mem_stats(NULL);
-       CRM_CHECK(crm_mem_stats(NULL) == FALSE, crm_err("Memory leak 
detected"));
-       CRM_CHECK(graph_rc == transition_complete, crm_err("An invalid 
transition was produced"));
+       CRM_CHECK(crm_mem_stats(NULL) == FALSE, all_good = FALSE; 
crm_err("Memory leak detected"));
+       CRM_CHECK(graph_rc == transition_complete, all_good = FALSE; 
crm_err("An invalid transition was produced"));
 
        crm_free(cib_object);   
 
@@ -418,6 +422,9 @@
                GMainLoop*  mainloop = g_main_new(FALSE);
                g_main_run(mainloop);           
        }
-       
-       return 0;
+
+       if(all_good) {
+               return 0;
+       }
+       return 5;
 }
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/crm/pengine/regression.core.sh,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- regression.core.sh  16 Jun 2006 07:28:34 -0000      1.21
+++ regression.core.sh  21 Jun 2006 08:31:27 -0000      1.22
@@ -19,7 +19,7 @@
 
 verbose=$1
 io_dir=testcases
-diff_opts="--ignore-all-space -u"
+diff_opts="--ignore-all-space -u -N"
 failed=.regression.failed.diff
 # zero out the error log
 > $failed
@@ -39,8 +39,8 @@
 
 function do_test {
 
-    base=$1;
-    name=$2;
+    base=$1; shift
+    name=$1; shift
     input=$io_dir/${base}.xml
     output=$io_dir/${base}.pe.out
     expected=$io_dir/${base}.exp
@@ -52,38 +52,40 @@
 
     if [ ! -f $input ]; then
        echo "Test $name        ($base)...      Error (PE : input)";
+       num_failed=`expr $num_failed + 1`
        return;
     fi
 
+    echo "Test $base   :       $name";
     if [ "$create_mode" != "true" -a ! -f $expected ]; then
-       echo "Test $name        ($base)...      Error (PE : expected)";
+       echo "  Error (PE : expected)";
 #      return;
     fi
 
 #    ../admin/crm_verify -X $input
-    ptest -V -X $input -D $dot_output -G $output
+    ptest -V -X $input -D $dot_output -G $output $*
+    if [ $? != 0 ]; then
+       echo "  * Failed (PE : rc)";
+       num_failed=`expr $num_failed + 1`
+    fi
 
     if [ -s core ]; then
-       echo "Test $name        ($base)...      Moved core to core.${base}";
+       echo "  Moved core to core.${base}";
+       num_failed=`expr $num_failed + 1`
        rm -f core.$base
        mv core core.$base
-       return;
     fi
 
     if [ ! -s $output ]; then
-       echo "Test $name        ($base)...      Error (PE : raw output)";
+       echo "  Error (PE : no graph)";
+       num_failed=`expr $num_failed + 1`
        rm $output
        return;
     fi
 
     if [ ! -s $dot_output ]; then
-       echo "Test $name        ($base)...      Error (PE : dot output)";
-       rm $output
-       return;
-    fi
-
-    if [ ! -s $output ]; then
-       echo "Test $name        ($base)...      Error (PE : fixed output)";
+       echo "  Error (PE : no dot-file)";
+       num_failed=`expr $num_failed + 1`
        rm $output
        return;
     fi
@@ -91,51 +93,29 @@
     if [ "$create_mode" = "true" ]; then
        cp "$output" "$expected"
        cp "$dot_output" "$dot_expected"
+       echo "  Created expected output (PE)" 
     fi
 
-    rc=2
-    #dot -Tpng $dot_output  2>/dev/null > $dot_png
-    if [ -f $dot_expected ]; then
-       diff $diff_opts $dot_expected $dot_output >/dev/null
-       rc=$?
-       if [ $rc != 0 ]; then
-           echo "Test $name    ($base)...      * Failed (PE : dot)";
-           diff $diff_opts $dot_expected $dot_output 2>/dev/null >> $failed
-           num_failed=`expr $num_failed + 1`
-       else 
-           rm $dot_output
-       fi
-    else
-       echo "Test $name        ($base)...      * No expected dot output";
-       echo "==== Raw results for PE test ($base) ====" >> $failed
-       cat $dot_output 2>/dev/null >> $failed
+    diff $diff_opts $dot_expected $dot_output >/dev/null
+    rc=$?
+    if [ $rc != 0 ]; then
+       echo "  * Failed (PE : dot)";
+       diff $diff_opts $dot_expected $dot_output 2>/dev/null >> $failed
+       num_failed=`expr $num_failed + 1`
+    else 
        rm $dot_output
     fi
 
-    rc2=2
-    if [ -f $expected ]; then
-       diff $diff_opts $expected $output >/dev/null
-       rc2=$?
-       if [ $rc2 != 0 ]; then
-           echo "Test $name    ($base)...      * Failed (PE : raw)";
-           diff $diff_opts $expected $output 2>/dev/null >> $failed
-           num_failed=`expr $num_failed + 1`
-       else 
-           rm $output
-       fi
-    else
-       echo "Test $name        ($base)...      * No expected raw output";
-       echo "==== Raw results for PE test ($base) ====" >> $failed
-       cat $output 2>/dev/null >> $failed
+    diff $diff_opts $expected $output >/dev/null
+    rc2=$?
+    if [ $rc2 != 0 ]; then
+       echo "  * Failed (PE : raw)";
+       diff $diff_opts $expected $output 2>/dev/null >> $failed
+       num_failed=`expr $num_failed + 1`
+    else 
        rm $output
     fi
     
-    if [ "$create_mode" = "true" ]; then
-       echo "Test $name        ($base)...      Created expected output (PE)" 
-    elif [ "$rc" = 0 -a "$rc2" = 0 ]; then
-       echo "Test $name        ($base)...      Passed (PE)";
-    fi
-
     if [ "$test_te" = "true" ]; then
        ../tengine/ttest -X $output 2> $te_output
        
@@ -155,7 +135,7 @@
            echo "==== Raw results for TE test ($base) ====" >> $failed
            cat $te_output 2>/dev/null >> $failed
        elif [ "$rc" = 0 ]; then
-           echo "Test $name    ($base)...      Passed (TE)";
+           :
        elif [ "$rc" = 1 ]; then
            echo "Test $name    ($base)...      * Failed (TE)";
            diff $diff_opts $te_expected $te_output 2>/dev/null >> $failed
@@ -169,27 +149,20 @@
     rm -f $output $te_output
 }
 
-
-#function do_test {
-#    base=$1;
-#    input=$io_dir/${base}.xml
-#    expected=$io_dir/${base}.exp
-#    te_expected=$io_dir/${base}.te.exp
-#    mv $input $expected $te_expected testcases.saved
-#}
-
 function test_results {
-
-    if [ -s $failed ]; then
-       if [ "$verbose" = "-v" ]; then
-           echo "Results of $num_failed failed tests...."
-           less $failed
+    if [ $num_failed != 0 ]; then
+       if [ -s $failed ]; then
+           if [ "$verbose" = "-v" ]; then
+               echo "Results of $num_failed failed tests...."
+               less $failed
+           else
+               echo "Results of $num_failed failed tests are in $failed...."
+               echo "Use $0 -v to display them automatically."
+           fi
        else
-           echo "Results of $num_failed failed tests are in $failed...."
-           echo "Use $0 -v to display them automatically."
+           echo "$num_failed tests failed (no diff results)"
+           rm $failed
        fi
-    else
-       rm $failed
     fi
 }
 
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/crm/pengine/regression.sh,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -3 -r1.87 -r1.88
--- regression.sh       19 Jun 2006 10:47:31 -0000      1.87
+++ regression.sh       21 Jun 2006 08:31:27 -0000      1.88
@@ -42,19 +42,23 @@
 do_test simple8 "Stickiness"
 
 echo ""
-do_test date-1 "Dates"
-do_test standby "Standby"
-do_test comments "Comments"
 do_test params-0 "Params: No change"
 do_test params-1 "Params: Changed"
 do_test params-2 "Params: Resource definition"
+
+echo ""
 do_test orphan-0 "Orphan ignore"
 do_test orphan-1 "Orphan stop"
 
-do_test probe-0 "Probe (anon clone)"
+echo ""
 do_test target-0 "Target Role : baseline"
 do_test target-1 "Target Role : test"
 
+echo ""
+do_test date-1 "Dates" -d "2005-020"
+do_test probe-0 "Probe (anon clone)"
+do_test standby "Standby"
+do_test comments "Comments"
 
 echo ""
 do_test master-0 "Stopped -> Slave"
@@ -209,13 +213,5 @@
 do_test unrunnable-1 "Unrunnable"
 
 echo ""
-do_test bad1 "Bad node         "
-do_test bad2 "Bad rsc          "
-do_test bad3 "No rsc class     "
-do_test bad4 "Bad data         "
-do_test bad5 "Bad data         "
-do_test bad6 "Bad lrm_rsc      "
-
-echo ""
 
 test_results




------------------------------

_______________________________________________
Linux-ha-cvs mailing list
Linux-ha-cvs@lists.linux-ha.org
http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs


End of Linux-ha-cvs Digest, Vol 31, Issue 69
********************************************

Reply via email to