Chris Browne cbbrowne at lists.slony.info
Fri Apr 20 13:51:11 PDT 2007
Update of /home/cvsd/slony1/slony1-engine/tests
In directory main.slony.info:/tmp/cvs-serv31857/tests

Modified Files:
      Tag: REL_1_2_STABLE
	run_test.sh settings.ik 
Log Message:
Add a log shipping regression test.  It is actually not adequate to test
things properly; I start here by adding it in in a form that "seems to
function" before tweaking it further.


Index: settings.ik
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/settings.ik,v
retrieving revision 1.4
retrieving revision 1.4.2.1
diff -C2 -d -r1.4 -r1.4.2.1
*** settings.ik	13 Dec 2005 21:45:55 -0000	1.4
--- settings.ik	20 Apr 2007 20:51:09 -0000	1.4.2.1
***************
*** 87,88 ****
--- 87,91 ----
  PORT13=${PORT13:-${PGPORT:-"5432"}}
  PGBINDIR13=${PGBINDIR13:-${PGBINDIR:-"/usr/local/pgsql/bin"}}
+ 
+ # Where to look for tools (e.g. - slony1_dump.sh)
+ SLTOOLDIR=${SLTOOLDIR:-"../tools"}
\ No newline at end of file

Index: run_test.sh
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/run_test.sh,v
retrieving revision 1.11
retrieving revision 1.11.2.1
diff -C2 -d -r1.11 -r1.11.2.1
*** run_test.sh	9 Jun 2006 17:12:20 -0000	1.11
--- run_test.sh	20 Apr 2007 20:51:09 -0000	1.11.2.1
***************
*** 176,183 ****
        eval user=\$USER${alias}
        eval port=\$PORT${alias}
  
        if [ -n "${db}" -a "${host}" -a "${user}" -a "${port}" ]; then
          if [ ${alias} -ne ${originnode} ]; then
!           echo "STORE NODE (id=${alias}, comment='node ${alias}');" >> $mktmp/slonik.script
          fi
          if [ ${alias} -ge ${NUMNODES} ]; then
--- 176,188 ----
        eval user=\$USER${alias}
        eval port=\$PORT${alias}
+       eval logship=\$LOGSHIP${alias}
  
        if [ -n "${db}" -a "${host}" -a "${user}" -a "${port}" ]; then
          if [ ${alias} -ne ${originnode} ]; then
!           if [ "x${logship}" == "xtrue" ]; then    # Don't bother generating nodes used for log shipping
!             status "Node ${alias} is a log shipping node - no need for STORE NODE"
!           else
!             echo "STORE NODE (id=${alias}, comment='node ${alias}');" >> $mktmp/slonik.script
!          fi
          fi
          if [ ${alias} -ge ${NUMNODES} ]; then
***************
*** 203,206 ****
--- 208,212 ----
      eval user=\$USER${i}
      eval port=\$PORT${i}
+     eval logship=\$LOGSHIP${i}
  
      if [ -n "${db}" -a "${host}" -a "${user}" -a "${port}" ]; then
***************
*** 212,217 ****
--- 218,229 ----
            eval buser=\$USER${j}
            eval bport=\$PORT${j}
+           eval blogship=\$LOGSHIP${j}
            if [ -n "${bdb}" -a "${bhost}" -a "${buser}" -a "${bport}" ]; then
+             if [[ "x${logship}" == "xtrue" || "x${blogship}" == "xtrue" ]]; then
+                 # log shipping node - no paths need exist that involve this node
+                 status "log shipping between nodes(${i}/${j}) - ls(${logship}/${blogship}) - omit STORE PATH"
+             else
  	    echo "STORE PATH (SERVER=${i}, CLIENT=${j}, CONNINFO='dbname=${db} host=${host} user=${user} port=${port}');" >> $mktmp/slonik.script
+             fi
            else
              err 3 "No conninfo"
***************
*** 471,474 ****
--- 483,488 ----
        eval port=\$PORT${alias}
        eval cluster=\$CLUSTER1
+       eval archive=\$ARCHIVE{alias}
+       eval logship=\$LOGSHIP${alias}
  
        if [ -n "${db}" -a "${host}" -a "${user}" -a "${port}" ]; then
***************
*** 479,497 ****
          eval slon${alias}_pid=
  
          conninfo="dbname=${db} host=${host} user=${user} port=${port}"
  
!         status "launching: $pgbindir/slon -s500 -g10 -d2 $cluster \"$conninfo\""
  
!         $pgbindir/slon -s500 -g10 -d2 $cluster "$conninfo" 1>> $mktmp/slon_log.${alias} 2>&1 &
!         tmppid=$!
!         tmpppid=$$
!         sleep 1
  
!         foo=$(_check_pid slon ${tmppid} ${tmpppid})
  
  
!         eval slon${alias}_pid=${foo}
!         if [ -z "${foo}" -o "${tmppid}" != "${foo}" ]; then
!           warn 3 "Failed to launch slon on node ${alias} check $mktmp/slon_log.${alias} for details"
          fi
        fi
--- 493,520 ----
          eval slon${alias}_pid=
  
+         if [ "x${archive}" != "xtrue" ]; then
+           status "Creating log shipping directory - $mktmp/archive_logs_3}${alias}"
+           mkdir -p $mktmp/archive_logs_${alias}
+           archiveparm="-a ${mktmp}/archive_logs_${alias}"
+        fi
          conninfo="dbname=${db} host=${host} user=${user} port=${port}"
  
!         if [ "x${logship}" == "xtrue" ]; then
!           status "do not launch slon for node ${alias} - it receives data via log shipping"
!         else
!           status "launching: $pgbindir/slon -s500 -g10 -d2 ${archiveparm} $cluster \"$conninfo\""
  
!           $pgbindir/slon -s500 -g10 -d2 ${archiveparm} $cluster "$conninfo" 1>> $mktmp/slon_log.${alias} 2>&1 &
!           tmppid=$!
!           tmpppid=$$
!           sleep 1
  
!           foo=$(_check_pid slon ${tmppid} ${tmpppid})
  
  
!           eval slon${alias}_pid=${foo}
!           if [ -z "${foo}" -o "${tmppid}" != "${foo}" ]; then
!             warn 3 "Failed to launch slon on node ${alias} check $mktmp/slon_log.${alias} for details"
!           fi
          fi
        fi



More information about the Slony1-commit mailing list