#At bzr+ssh://bk-internal.mysql.com/bzrroot/mysql-falcon/ based on revid:hky@stripped
381 Hakan Kuecuekyilmaz 2009-04-24 [merge]
Merge
added:
upgrade-downgrade/
upgrade-downgrade/README.txt
upgrade-downgrade/RUNME.bash
upgrade-downgrade/build.bash
upgrade-downgrade/bzr_checkout.bash
upgrade-downgrade/include/
upgrade-downgrade/include/apply_patches.inc
upgrade-downgrade/include/configure_linux_gcc.inc
upgrade-downgrade/include/configure_solaris_sparc_gcc.inc
upgrade-downgrade/include/configure_solaris_x86_gcc.inc
upgrade-downgrade/include/host_urd07.inc
upgrade-downgrade/patches/
upgrade-downgrade/patches/mysql-test-extra-6.0_updown-falcon-additions.diff
upgrade-downgrade/prepare_test.bash
upgrade-downgrade/run_test.bash
upgrade-downgrade/trd_falcon_updown_linux-32bit.env
=== added directory 'upgrade-downgrade'
=== added file 'upgrade-downgrade/README.txt'
--- a/upgrade-downgrade/README.txt 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/README.txt 2009-04-24 10:38:01 +0000
@@ -0,0 +1,32 @@
+Scripts for automated runs of the "updown" test suite created by MySQL System QA.
+Designed for running upgrade/downgrade tests against two versions of the
+Falcon storage engine.
+
+For more information about the "updown" test framework, see
+https://inside.mysql.com/wiki/QA_UpDown_Howto
+
+You can adjust the location of the binaries you want to test in the environment
+file pointed to by the variable "UPDOWN_ENV_FILE" in the host-specific script
+which you can find in the include/ directory.
+
+For example, such an environment file could be "trd_falcon_updown.env".
+
+The environment file will be copied automatically to the local working copy of the
+mysql-test-extra-6.0 repository when the test is run (see prepare_test.bash).
+
+You can run the test by doing:
+
+bash ./RUNME.bash
+
+See host-specific .inc file in include/ for details regarding variables used
+in the various other scripts.
+
+TODOs:
+ - Build TOP_DIR_OLD / TOP_DIR_NEW if mysqld binary not found in these dirs?
+ - Do not use FALCON_LOCAL_WORK_BZR, only TOP_DIR_OLD and TOP_DIR_NEW?
+ - Add support for E-mail reporting?
+
+--
+John H. Embretsen, John.Embretsen [at] Sun.COM
+First edit: 2009-04-24
+
=== added file 'upgrade-downgrade/RUNME.bash'
--- a/upgrade-downgrade/RUNME.bash 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/RUNME.bash 2009-04-24 10:38:01 +0000
@@ -0,0 +1,132 @@
+#! /bin/bash
+#
+# Runs the customized upgrade/downgrade test against the Falcon storage engine,
+# including the following phases:
+#
+# - Code / test checkout from bzr repositories
+# - Patch relevant working copies if applicable
+# (- Build binaries from source code)
+# (- Prepare test run)
+# (- Run test)
+# (- Collect and analyze results)
+# (- Report results)
+# (- Archive results )
+#
+# John Embretsen, <john dot embretsen at sun dot com>, 2009-04-21.
+#
+
+#
+# REQUIREMENTS:
+# - bash 3 or newer
+#
+
+#
+# Hostname. Needed for various paths, directories, includes.
+#
+HOSTNAME=$(hostname)
+
+#
+# Name of directory where this script is located
+#
+DIRNAME="${0%/*}"
+
+cd ${DIRNAME}
+
+##
+## Includes.
+##
+## There should be one include file per host, specifying
+## platform/host specific variables (paths etc.).
+#
+HOST_INCLUDE_FILE="include/host_${HOSTNAME}.inc"
+if [ ! -f "${HOST_INCLUDE_FILE}" ]; then
+ echo "[ERROR_runme] Include file for host ${HOSTNAME} not found."
+ echo "Was looking for: ${PWD}/${HOST_INCLUDE_FILE}"
+ echo "Exiting."
+ exit 1
+fi
+source ${HOST_INCLUDE_FILE}
+
+# Working directory for this script.
+cd ${AUTO_BASE}
+
+# Assumes that all called scripts are present in the directory pointed to by
+# the variable AUTO_BASE, set in this host's include script.
+
+#
+# Files
+#
+RUNME_LOG="${LOG_DIR}/runme.log"
+
+echo "********* MySQL/Falcon Upgrade/Downgrade testing - RUNME SCRIPT **********" >> ${RUNME_LOG}
+echo "" >> ${RUNME_LOG}
+echo "TIMESTAMP: ${TIMESTAMP}" >> ${RUNME_LOG}
+echo "PATH: ${PATH}" >> ${RUNME_LOG}
+echo "AUTO_BASE: ${AUTO_BASE}" >> ${RUNME_LOG}
+echo "" >> ${RUNME_LOG}
+
+#######################################################################
+#
+# bzr checkout and patching of working dirs.
+#
+#######################################################################
+TSTAMP=$(date +%Y-%m-%d_T_%H%M%S)
+echo "[RUNME_${TSTAMP}] Running bzr_checkout.sh..." >> ${RUNME_LOG}
+${AUTO_BASE}/bzr_checkout.bash
+if [ $? != 0 ]; then
+ echo "[ERROR_RUNME] bzr checkout script failed!" >> ${RUNME_LOG}
+ echo "[ERROR_RUNME] bzr checkout script failed!"
+ echo "[ERROR_RUNME] See logs in ${LOG_DIR}"
+ exit 1
+fi
+
+#######################################################################
+#
+# build necessary binaries.
+#
+#######################################################################
+TSTAMP=$(date +%Y-%m-%d_T_%H%M%S)
+echo "[RUNME_${TSTAMP}] Running build.sh..." >> ${RUNME_LOG}
+${AUTO_BASE}/build.bash
+if [ $? != 0 ]; then
+ echo "[ERROR_RUNME] build.sh script failed!" >> ${RUNME_LOG}
+ echo "[ERROR_RUNME] build.sh script failed!"
+ echo "[ERROR_RUNME] See logs in ${LOG_DIR}"
+ exit 1
+fi
+
+#######################################################################
+#
+# prepare test run.
+#
+#######################################################################
+TSTAMP=$(date +%Y-%m-%d_T_%H%M%S)
+echo "[RUNME_${TSTAMP}] Running prepare_test.bash..." >> ${RUNME_LOG}
+${AUTO_BASE}/prepare_test.bash
+if [ $? != 0 ]; then
+ echo "[ERROR_RUNME] prepare_test.bash script failed!" >> ${RUNME_LOG}
+ echo "[ERROR_RUNME] prepare_test.bash script failed!"
+ echo "[ERROR_RUNME] See logs in ${LOG_DIR}"
+ exit 1
+fi
+
+#######################################################################
+#
+# run the actual test.
+#
+#######################################################################
+TSTAMP=$(date +%Y-%m-%d_T_%H%M%S)
+echo "[RUNME_${TSTAMP}] Running run_test.bash..." >> ${RUNME_LOG}
+${AUTO_BASE}/run_test.bash 2>${RUNME_LOG}
+if [ $? != 0 ]; then
+ echo "[ERROR_RUNME] run_test.bash script failed!" >> ${RUNME_LOG}
+ echo "[ERROR_RUNME] run_test.bash script failed!"
+ echo "[ERROR_RUNME] See logs in ${LOG_DIR}"
+ exit 1
+fi
+
+
+TSTAMP=$(date +%Y-%m-%d_T_%H%M%S)
+echo "[INFO] RUNME.bash script done at ${TSTAMP}" >> ${RUNME_LOG}
+
+
=== added file 'upgrade-downgrade/build.bash'
--- a/upgrade-downgrade/build.bash 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/build.bash 2009-04-24 10:38:01 +0000
@@ -0,0 +1,144 @@
+#! /bin/bash
+#
+# Build source version of MySQL / Falcon if needed.
+#
+# Not building if local work directories do not correspond to TOP_DIR_OLD
+# or TOP_DIR_NEW in environment file for this test (see prepare_test.bash).
+#
+# When running this script for the first time on a given host, add a file named
+# "include/host_<hostname>.inc" first. Copy from another host_<hostname>.inc
+# file and adjust the variables as necessary.
+#
+# John Embretsen, <john dot embretsen at sun dot com>, 2009-04-20.
+# $Id$
+
+#
+# Hostname. Needed for various paths, directories, includes.
+#
+HOSTNAME=$(hostname)
+
+#
+# Name of directory where this script is located
+#
+DIRNAME="${0%/*}"
+
+cd ${DIRNAME}
+
+#
+# Includes.
+#
+# There should be one include file per host, specifying
+# platform/host specific variables (paths etc.).
+# Working dir needs to be where this script ($0) is located.
+#
+HOST_INCLUDE_FILE="include/host_${HOSTNAME}.inc"
+if [ ! -f "${HOST_INCLUDE_FILE}" ]; then
+ echo "[ERROR_build] Include file for host ${HOSTNAME} not found."
+ echo "Was looking for: ${DIRNAME}/${HOST_INCLUDE_FILE}"
+ echo "Exiting."
+ exit 1
+fi
+source ${HOST_INCLUDE_FILE}
+
+#
+# Environment.
+#
+PLATFORM=$(uname)
+ARCH=$(uname -m)
+
+#
+# Files
+#
+BUILD_LOG=${LOG_DIR}/build.log
+
+#
+# Read paths from the environment file
+# We need:
+# TOP_DIR_OLD (top-level dir of installation / src+build of OLD version to test.)
+# TOP_DIR_NEW (top-level dir of installation / src+build of NEW version to test.)
+#
+source ${UPDOWN_ENV_FILE}
+
+#
+# IF both TOP_DIR_OLD and TOP_DIR_NEW are different from FALCON_LOCAL_WORK_BZR,
+# then do not build anything.
+#
+# TODO: Build TOP_DIR_OLD / TOP_DIR_NEW if mysqld binary not found?
+# Do not use FALCON_LOCAL_WORK_BZR if we are testing releases?
+#
+if [ "${TOP_DIR_OLD}" != "${FALCON_LOCAL_WORK_BZR}" ] && [ "${TOP_DIR_NEW}" != "${FALCON_LOCAL_WORK_BZR}" ]; then
+ echo "[INFO] Local bzr checkout ${FALCON_LOCAL_WORK_BZR} not defined in updown env file." >> $BUILD_LOG
+ echo "[INFO] Not doing build, assuming we are testing pre-build versions." >> ${BUILD_LOG}
+ exit
+fi
+
+#
+# Build new mysqld with Falcon support.
+#
+# Check whether we had a successful branch on file server
+# and build latest mysqld.
+echo "[INFO]: Starting build.sh for test run of $TIMESTAMP" > $BUILD_LOG
+if [ -d ${FALCON_LOCAL_WORK_BZR} ]; then
+ cd ${FALCON_LOCAL_WORK_BZR}
+ echo "[INFO] Running: BUILD/autorun.sh" >> $BUILD_LOG 2>&1
+ BUILD/autorun.sh >> $BUILD_LOG 2>&1
+
+ case $PLATFORM in
+ Linux)
+ # Linux gcc
+ source ${AUTO_BASE}/include/configure_linux_gcc.inc >> $BUILD_LOG 2>&1
+
+ J=$(cat /proc/cpuinfo | grep processor | wc -l)
+ J=$(( $J + 1 ))
+ ;;
+ SunOS)
+ if [ x"$ARCH" = x'i86pc' ]; then
+ # Solaris/x86 gcc
+ source ${BZR_BASE}/include/configure_solaris_x86_gcc.inc >> $BUILD_LOG 2>&1
+
+ J=$(psrinfo | wc -l)
+ J=$(( $J + 1 ))
+ elif [ x"$ARCH" = x'sun4v' ]; then
+ # Solaris/SPARC gcc
+ source ${BZR_BASE}/include/configure_solaris_sparc_gcc.inc >> $BUILD_LOG 2>&1
+
+ J=8
+ fi
+ ;;
+ *)
+ echo '[ERROR]: Platform not supported yet. Exiting.' >> $BUILD_LOG
+ echo '[ERROR]: Platform not supported yet. Exiting.'
+ exit 1
+ ;;
+ esac
+
+ ###############################
+ # CONFIGURE
+ ###############################
+ echo "" >> ${BUILD_LOG} 2>&1
+ echo '[INFO] Running configure:' >> ${BUILD_LOG} 2>&1
+ echo "./configure $CONFIGURATION" >> ${BUILD_LOG} 2>&1
+ echo "" >> ${BUILD_LOG} 2>&1
+ ./configure $CONFIGURATION >> ${BUILD_LOG} 2>&1
+
+ ###############################
+ # MAKE
+ ###############################
+ echo "" >> ${BUILD_LOG} 2>&1
+ echo "======================================================================" >> ${BUILD_LOG} 2>&1
+ echo '[INFO] Running make:' >> ${BUILD_LOG} 2>&1
+ echo "$MAKE -j$J" >> ${BUILD_LOG} 2>&1
+ echo "" >> ${BUILD_LOG} 2>&1
+ $MAKE -j$J >> $BUILD_LOG 2>&1
+
+ if [ $? != 0 ]; then
+ echo "[ERROR] Build of ${FALCON} failed!" >> $BUILD_LOG
+ exit 1
+ else
+ echo "[INFO]: Build of ${FALCON} was successful!" >> $BUILD_LOG
+ fi
+else
+ echo "[ERROR_build] Unable to find falcon sources at ${FALCON_LOCAL_WORK_BZR}" >> $BUILD_LOG
+ exit 1
+fi
+
=== added file 'upgrade-downgrade/bzr_checkout.bash'
--- a/upgrade-downgrade/bzr_checkout.bash 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/bzr_checkout.bash 2009-04-24 10:38:01 +0000
@@ -0,0 +1,149 @@
+#! /bin/bash
+#
+# Pull latest HEAD of given repository and branch it.
+#
+# When running this script for the first time on a given host, add a file named
+# "include/host_<hostname>.inc" first. Copy from another host_<hostname>.inc
+# file and adjust the variables as necessary.
+#
+# John Embretsen, <john dot embretsen at sun dot com>, 2009-04-20.
+# $Id$
+
+#
+# Hostname. Needed for various paths, directories, includes.
+#
+HOSTNAME=$(hostname)
+
+#
+# Name of directory where this script is located
+#
+DIRNAME="${0%/*}"
+
+cd ${DIRNAME}
+
+#
+# Includes.
+#
+# There should be one include file per host, specifying
+# platform/host specific variables (paths etc.).
+# Working dir needs to be where this script ($0) is located.
+#
+HOST_INCLUDE_FILE="include/host_${HOSTNAME}.inc"
+if [ ! -f "${HOST_INCLUDE_FILE}" ]; then
+ echo "[ERROR_bzr] Include file for host ${HOSTNAME} not found."
+ echo "Was looking for: ${DIRNAME}/${HOST_INCLUDE_FILE}"
+ echo "Exiting."
+ exit 1
+fi
+source ${HOST_INCLUDE_FILE}
+
+#
+# Files.
+#
+LOG="${LOG_DIR}/bzr.log"
+
+#
+# Control timestamp. Hour precision.
+#
+# Other timestamp is TIMESTAMP set in host script. Has second precision.
+TIMESTAMP_H=$(date +%Y-%m-%d_T_%H)
+
+#if [ ! -f "${AUTO_BASE}/bzr_updown_date-${TIMESTAMP_H}" ]; then
+# echo "Found up-to-date bzr control file for updown testing in ${AUTO_BASE} for timestamp ${TIMESTAMP_H}." >> $LOG
+# echo 'Skipping bzr updates for this reason.' >> $LOG
+# #exit
+#fi
+
+echo "[INFO] Starting $0 (bzr checkouts) - $TIMESTAMP" >> $LOG
+
+# Suppressing output from bzr branch & pull commands since the log quickly fills
+# up with "Build phase 1/11438" etc. messages otherwise.
+# Not using grep since that will affect the exit code from bzr which is used
+# to indicate success or failure.
+
+# Delete old working copies.
+echo "[INFO] Deleting old working copies of falcon src and test-extra." >> $LOG
+rm -rf ${FALCON_LOCAL_WORK_BZR} 2>/dev/null
+rm -rf ${TEST_EXTRA_LOCAL_WORK_BZR} 2>/dev/null
+
+if [ ! -d ${FALCON_LOCAL_MASTER} ]; then
+ echo '[INFO] Initial Falcon branch did not exist.' >> $LOG
+ if [ ! -d ${LOCAL_BZR_ROOT_SERVER}/.bzr ]; then
+ echo "[INFO] Shared bzr repository not found in ${WORK}." >> $LOG
+ echo '[INFO] Creating shared bzr repository: bzr init-repo' >> $LOG
+ bzr init-repo ${WORK} >> $LOG 2>&1
+ fi
+ echo 'Branching now. This will take quite a while!' >> $LOG
+ echo "bzr branch ${FALCON_BZR_ROOT} ${FALCON_LOCAL_MASTER}" >> /dev/null 2>&1
+ bzr branch ${FALCON_BZR_ROOT} ${FALCON_LOCAL_MASTER} >> /dev/null 2>&1
+fi
+if [ $? != 0 ]; then
+ echo "[ERROR] Branching of ${FALCON_BZR_ROOT} failed" >> $LOG
+ exit 1
+fi
+
+# Update local master branch
+echo "[INFO] Updating (bzr pull) local master branch (falcon)..." >> $LOG
+cd ${FALCON_LOCAL_MASTER}
+bzr pull >> /dev/null 2>&1
+if [ $? != 0 ]; then
+ echo "[ERROR] Pull of ${FALCON_LOCAL_MASTER} failed" >> $LOG
+ exit 1
+fi
+
+# Get new working copy based on local master branch
+echo "[INFO] Branching working copy of ${FALCON} from local master branch (suppressing output)..." >> $LOG
+bzr branch ${FALCON_LOCAL_MASTER} ${FALCON_LOCAL_WORK_BZR} >> /dev/null 2>&1
+if [ $? != 0 ]; then
+ echo "[ERROR] Branching of ${FALCON_LOCAL_MASTER} into ${FALCON_LOCAL_WORK_BZR} failed." >> $LOG
+ exit 1
+fi
+
+# Branch the test-extra branch
+echo "[INFO] Branching test-extra branch: ${TEST_EXTRA}..." >> $LOG
+bzr branch ${TEST_EXTRA_BZR_ROOT} ${TEST_EXTRA_LOCAL_WORK_BZR} >> /dev/null 2>&1
+if [ $? != 0 ]; then
+ echo "[ERROR] Branching of ${TEST_EXTRA_BZR_ROOT} into ${TEST_EXTRA_LOCAL_WORK_BZR} failed." >> $LOG
+ exit 1
+fi
+
+echo "" >> $LOG
+echo "Using the following local branches (directories) for this test run:" >> $LOG
+echo " ${FALCON_LOCAL_WORK_BZR}" >> $LOG
+echo " ${TEST_EXTRA_LOCAL_WORK_BZR}" >> $LOG
+echo " ${AUTO_BASE}" >> $LOG
+echo "" >> $LOG
+
+# Apply patches. Report versions.
+# Pathces are located in a special directory and include branch name in file name.
+# See apply_patches.inc and host_<hostname>.inc for details.
+cd ${FALCON_LOCAL_WORK_BZR}
+echo "[INFO] ===================================================================" >> $LOG
+echo "[INFO] bzr version-info from ${FALCON}:" >> $LOG
+bzr version-info >> $LOG 2>&1
+echo "[INFO] ===================================================================" >> $LOG
+source ${AUTO_BASE}/include/apply_patches.inc >> $LOG 2>&1
+if [ -f ${PATCH_ERROR_FILE} ]; then
+ echo "[ERROR_bzr] Patching failed! Patch error file ${FALCON_LOCAL_WORK_BZR}/${PATCH_ERROR_FILE} found!" >> $LOG 2>&1
+ exit 1
+fi
+
+
+cd ${TEST_EXTRA_LOCAL_WORK_BZR}
+echo "[INFO] ===================================================================" >> $LOG
+echo "[INFO] bzr version-info from ${TEST_EXTRA}:" >> $LOG
+bzr version-info >> $LOG 2>&1
+echo "[INFO] ===================================================================" >> $LOG
+source ${AUTO_BASE}/include/apply_patches.inc >> $LOG 2>&1
+if [ -f ${PATCH_ERROR_FILE} ]; then
+ echo "[ERROR_bzr] Patching failed! Patch error file ${TEST_EXTRA_LOCAL_WORK_BZR}/${PATCH_ERROR_FILE} found!" >> $LOG 2>&1
+ exit 1
+fi
+
+cd ${AUTO_BASE}
+
+rm -f ${AUTO_BASE}/bzr_updown_date* >> $LOG 2>&1
+touch ${AUTO_BASE}/bzr_updown_date-${TIMESTAMP_H} >> $LOG 2>&1
+
+echo "[INFO] $0 done $(date +%Y-%m-%d_T_%H%M%S)" >> $LOG 2>&1
+
=== added directory 'upgrade-downgrade/include'
=== added file 'upgrade-downgrade/include/apply_patches.inc'
--- a/upgrade-downgrade/include/apply_patches.inc 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/include/apply_patches.inc 2009-04-24 10:38:01 +0000
@@ -0,0 +1,64 @@
+#
+# Apply host specific patches.
+#
+# NOTE: Requires that a set of variables have been set
+# (see bzr_checkout.sh and include/host_*.inc)
+# and that the current working directory is the
+# top/root directory to apply patches against.
+#
+# Required variables: $LOG
+# $PATCHES
+# correct $PWD (working dir)
+#
+# $Id$
+# John H. EMbretsen, <john dot embretsen at sun dot com>, 2009-04-21.
+
+
+# Reset patch error file
+if [ -f ${PATCH_ERROR_FILE} ]; then
+ rm ${PATCH_ERROR_FILE}
+fi
+
+###########################################
+#
+# Functions
+#
+###########################################
+
+apply_patches ()
+{
+ for file in ${PATCHES}/*
+ do
+ if [ $(echo $file | grep $BASENAME) ]; then
+ echo "[INFO] Found patch $file. Trying to apply..."
+ patch -tN --dry-run -p0 < $file
+ if [ $? -ne 0 ]; then
+ echo "[ERROR_patch] Patch dry run of $file failed."
+ echo "[ERROR_patch] Patch dry run of $file failed." >> ${PATCH_ERROR_FILE}
+ else
+ patch -tN -p0 < $file
+ if [ $? -ne 0 ]; then
+ echo "[ERROR_patch] Patch $file failed."
+ echo "[ERROR_patch] Patch $file failed." >> ${PATCH_ERROR_FILE}
+ else
+ echo "[INFO] Patch $file succeeded."
+ fi
+ fi
+ else
+ echo "[INFO] No patch found in ${PATCHES} matching ${BASENAME}"
+ fi
+ done
+}
+
+######################### End of function definitions ################
+
+# Name of repository (current working dir)
+# If name does not match a substring of a patch file in the patch dir,
+# we do not patch anything.
+BASENAME=$(basename $PWD)
+echo "[INFO] Running apply_patches.inc for ${BASENAME}..."
+echo "[INFO] Looking for patches in ${PATCHES}..."
+
+apply_patches
+
+
=== added file 'upgrade-downgrade/include/configure_linux_gcc.inc'
--- a/upgrade-downgrade/include/configure_linux_gcc.inc 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/include/configure_linux_gcc.inc 2009-04-24 10:38:01 +0000
@@ -0,0 +1,39 @@
+#
+# Configuration for compiling MySQL on Linux with gcc.
+#
+# $Id$
+# John Embretsen, <john dot embretsen at sun dot com>, 2009-04-22.
+
+CCACHE_TEST=$(ccache -V 2> /dev/null)
+if [ "x$CCACHE_TEST" != "x" ]; then
+ CCACHE=$(which ccache)
+else
+ CCACHE=''
+fi
+
+export CC="$CCACHE gcc"
+export CXX="$CCACHE g++"
+
+export CFLAGS="-g \
+ -O3 \
+ -fno-omit-frame-pointer \
+ -Wall \
+ -DFORCE_INIT_OF_VARS"
+
+export CXXFLAGS="-g \
+ -O3 \
+ -fno-omit-frame-pointer \
+ -Wall \
+ -DFORCE_INIT_OF_VARS"
+
+#
+# We need shared libraries for DBT2's client and driver program.
+#
+export CONFIGURATION="\
+ --prefix=${FALCON_LOCAL_WORK_BZR}/install \
+ --with-comment='MySQL-Server-Falcon-tests' \
+ --with-extra-charsets=all \
+ --with-plugins=max-no-ndb \
+ --with-ssl \
+ --with-libevent \
+"
=== added file 'upgrade-downgrade/include/configure_solaris_sparc_gcc.inc'
--- a/upgrade-downgrade/include/configure_solaris_sparc_gcc.inc 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/include/configure_solaris_sparc_gcc.inc 2009-04-24 10:38:01 +0000
@@ -0,0 +1,84 @@
+#
+# Configuration for compiling MySQL on Solaris/SPARC with gcc.
+#
+# $Id$
+# Hakan Kuecuekyilmaz, <hakan at mysql dot com>, 2008-07-16.
+
+CCACHE_TEST=$(ccache -V 2> /dev/null)
+if [ "x$CCACHE_TEST" != "x" ]; then
+ CCACHE=$(which ccache)
+else
+ CCACHE=''
+fi
+
+export CC="$CCACHE gcc"
+export CXX="$CCACHE g++"
+
+export CFLAGS="-g \
+ -O3 \
+ -mcpu=v9 \
+ -fno-omit-frame-pointer \
+ -Wunused-function \
+ -Wunused-label \
+ -Wunused-value \
+ -Wunused-variable \
+ -Wimplicit \
+ -Wreturn-type \
+ -Wswitch \
+ -Wtrigraphs \
+ -Wcomment \
+ -W \
+ -Wa \
+ -Wchar-subscripts \
+ -Wformat \
+ -Wparentheses \
+ -Wsign-compare \
+ -Wwrite-strings \
+ -Wuninitialized \
+ -Wunused \
+ -DFORCE_INIT_OF_VARS"
+
+export CXXFLAGS="-g \
+ -O3 \
+ -mcpu=v9 \
+ -fno-omit-frame-pointer \
+ -Wunused-function \
+ -Wunused-label \
+ -Wunused-value \
+ -Wunused-variable \
+ -Wimplicit \
+ -Wreturn-type \
+ -Wswitch \
+ -Wtrigraphs \
+ -Wcomment \
+ -W \
+ -Wa \
+ -Woverloaded-virtual \
+ -Wchar-subscripts \
+ -Wformat \
+ -Wparentheses \
+ -Wsign-compare \
+ -Wwrite-strings \
+ -Wctor-dtor-privacy \
+ -Wnon-virtual-dtor \
+ -Wuninitialized \
+ -DFORCE_INIT_OF_VARS"
+
+export CONFIGURATION="--disable-shared \
+ --enable-assembler \
+ --enable-dtrace \
+ --enable-local-infile \
+ --enable-thread-safe-client \
+ --libexecdir=/usr/local/mysql/bin \
+ --localstatedir=/usr/local/mysql/data \
+ --with-big-tables \
+ --with-client-ldflags='-static' \
+ --with-comment='MySQL-Community-Server' \
+ --with-extra-charsets=all \
+ --with-plugins=max-no-ndb \
+ --with-mysqld-ldflags='-static' \
+ --prefix=/usr/local/mysql \
+ --with-readline \
+ --with-ssl \
+ --with-libevent \
+ --with-zlib-dir=bundled"
=== added file 'upgrade-downgrade/include/configure_solaris_x86_gcc.inc'
--- a/upgrade-downgrade/include/configure_solaris_x86_gcc.inc 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/include/configure_solaris_x86_gcc.inc 2009-04-24 10:38:01 +0000
@@ -0,0 +1,82 @@
+#
+# Configuration for compiling MySQL on Solaris/x86 with gcc.
+#
+# $Id$
+# Hakan Kuecuekyilmaz, <hakan at mysql dot com>, 2008-07-16.
+
+CCACHE_TEST=$(ccache -V 2> /dev/null)
+if [ "x$CCACHE_TEST" != "x" ]; then
+ CCACHE=$(which ccache)
+else
+ CCACHE=''
+fi
+
+export CC="$CCACHE gcc"
+export CXX="$CCACHE g++"
+
+export CFLAGS="-g \
+ -O3 \
+ -fno-omit-frame-pointer \
+ -Wunused-function \
+ -Wunused-label \
+ -Wunused-value \
+ -Wunused-variable \
+ -Wimplicit \
+ -Wreturn-type \
+ -Wswitch \
+ -Wtrigraphs \
+ -Wcomment \
+ -W \
+ -Wa \
+ -Wchar-subscripts \
+ -Wformat \
+ -Wparentheses \
+ -Wsign-compare \
+ -Wwrite-strings \
+ -Wuninitialized \
+ -Wunused \
+ -DFORCE_INIT_OF_VARS"
+
+export CXXFLAGS="-g \
+ -O3 \
+ -fno-omit-frame-pointer \
+ -Wunused-function \
+ -Wunused-label \
+ -Wunused-value \
+ -Wunused-variable \
+ -Wimplicit \
+ -Wreturn-type \
+ -Wswitch \
+ -Wtrigraphs \
+ -Wcomment \
+ -W \
+ -Wa \
+ -Woverloaded-virtual \
+ -Wchar-subscripts \
+ -Wformat \
+ -Wparentheses \
+ -Wsign-compare \
+ -Wwrite-strings \
+ -Wctor-dtor-privacy \
+ -Wnon-virtual-dtor \
+ -Wuninitialized \
+ -DFORCE_INIT_OF_VARS"
+
+export CONFIGURATION="--disable-shared \
+ --enable-assembler \
+ --enable-dtrace \
+ --enable-local-infile \
+ --enable-thread-safe-client \
+ --libexecdir=/usr/local/mysql/bin \
+ --localstatedir=/usr/local/mysql/data \
+ --with-big-tables \
+ --with-client-ldflags='-static' \
+ --with-comment='MySQL-Community-Server' \
+ --with-extra-charsets=all \
+ --with-plugins=max-no-ndb \
+ --with-mysqld-ldflags='-static' \
+ --prefix=/usr/local/mysql \
+ --with-readline \
+ --with-ssl \
+ --with-libevent \
+ --with-zlib-dir=bundled"
=== added file 'upgrade-downgrade/include/host_urd07.inc'
--- a/upgrade-downgrade/include/host_urd07.inc 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/include/host_urd07.inc 2009-04-24 10:38:01 +0000
@@ -0,0 +1,103 @@
+#
+# Set various paths and other variables that may depend on host or platform.
+# This file is for the host
+#
+# urd07.norway.sun.com
+#
+# OS: Linux Red Hat 5.2
+# CPU: Sun Fire V60x, 4 x Intel Xeon, 2.80 GHz
+# RAM: 1 GB
+# Local file system: ext3
+#
+#
+# John H. Embretsen, <john dot embretsen at sun dot com>, 2009-04-02.
+# $Id$
+
+#
+# Timestamp for a test run, used e.g. in directory or log file names.
+#
+if [ "x${TIMESTAMP}" == "x" ]; then
+ export TIMESTAMP=$(date +%Y-%m-%d_T_%H%M%S)
+fi
+
+# Where to send email in case of test run errors.
+ADMIN='john.embretsen@stripped'
+
+# Where to send email with test results.
+REPORT_TO='john.embretsen@stripped'
+
+# Base directory for falcon QA-related stuff (test scripts, workdir, etc.)
+# (/export/home/ and /export/home2 are local disks on norway.sun.com hosts)
+FALCONQA_BASEDIR="/export/home/tmp/falconQA"
+
+# Base directory of the helper scripts for these automated test runs w/Falcon.
+# Also the place where the results are stored.
+AUTO_BASE="${FALCONQA_BASEDIR}/bzr-repos/mysql-falcon/upgrade-downgrade"
+
+# User name and URL for bzr on MySQL's server.
+# Note: Make sure automatic SSH key authentication is properly set up, so
+# that no password is needed.
+BZR_USERNAME='jembretsen'
+BZR_ROOT="bzr+ssh://${BZR_USERNAME}@bk-internal.mysql.com/bzrroot/server"
+
+## Names of bazaar repositories
+#FALCON='mysql-6.0'
+#FALCON='mysql-6.0-falcon'
+FALCON='mysql-6.0-falcon-team'
+TEST_EXTRA='mysql-test-extra-6.0'
+
+# Local bzr repositories and working copies.
+# It may be a good idea to use a so-called shared bazaar repository for the
+# server code in order to speed up branching.
+LOCAL_BZR_ROOT="${FALCONQA_BASEDIR}/bzr-repos"
+LOCAL_BZR_ROOT_SERVER="${LOCAL_BZR_ROOT}/server"
+
+# Bazaar URLs (server) or paths (localhost).
+FALCON_BZR_ROOT="${BZR_ROOT}/${FALCON}"
+FALCON_LOCAL_MASTER="${LOCAL_BZR_ROOT_SERVER}/${FALCON}-local-master"
+FALCON_LOCAL_WORK_BZR="${LOCAL_BZR_ROOT_SERVER}/${FALCON}"
+TEST_EXTRA_BZR_ROOT="${BZR_ROOT}/${TEST_EXTRA}"
+TEST_EXTRA_LOCAL_WORK_BZR="${LOCAL_BZR_ROOT}/${TEST_EXTRA}"
+
+# Where to find patches to apply to the checked out code base before building.
+#PATCHES="$HOME/mysql/patches/auto/$(hostname)"
+PATCHES="${AUTO_BASE}/patches"
+
+#
+# PATCH_ERROR_FILE indicates patching error
+#
+PATCH_ERROR_FILE=patch-error.txt
+
+#
+# Environment file for the updown test framework (in test-extra).
+# Specifies the location of the MySQL binaries to test and a few other things.
+#
+UPDOWN_ENV_FILE="${AUTO_BASE}/trd_falcon_updown_linux-32bit.env"
+
+#
+# Directory of updown test suite in test-extra working copy.
+#
+UPDOWN_DIR="${TEST_EXTRA_LOCAL_WORK_BZR}/mysql-test/qa-suite/updown"
+
+#
+# Log directory for this run
+#
+LOG_DIR="${AUTO_BASE}/logs-${TIMESTAMP}"
+if [ ! -d ${LOG_DIR} ]; then
+ mkdir ${LOG_DIR} 2>/dev/null
+fi
+
+
+##################
+# Binaries
+##################
+# On Sun Trondheim hosts /usr/local/bin is central installation, /usr/bin/ is local
+PATH="/opt/csw/bin:/usr/local/bin:/usr/bin:/bin:/usr/sfw/bin:/usr/sbin:/opt/SUNWspro/bin:/usr/ucb:/usr/ccs/bin:$PATH"
+PATCH=gpatch
+MAKE=gmake
+
+# Path to mail program which accepts -s and -t for sending mails.
+MAIL=/usr/sbin/sendmail
+
+# Path to Perl intallation with required modules installed.
+PERL=/usr/bin/perl
=== added directory 'upgrade-downgrade/patches'
=== added file 'upgrade-downgrade/patches/mysql-test-extra-6.0_updown-falcon-additions.diff'
--- a/upgrade-downgrade/patches/mysql-test-extra-6.0_updown-falcon-additions.diff 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/patches/mysql-test-extra-6.0_updown-falcon-additions.diff 2009-04-24 10:38:01 +0000
@@ -0,0 +1,851 @@
+=== added file 'mysql-test/qa-suite/updown/bin/60minor-falcon.tst'
+--- mysql-test/qa-suite/updown/bin/60minor-falcon.tst 1970-01-01 00:00:00 +0000
++++ mysql-test/qa-suite/updown/bin/60minor-falcon.tst 2009-04-20 09:31:31 +0000
+@@ -0,0 +1,99 @@
++################################################################################
++#
++# Attention: This bourne Shell script is a temporary solution.
++# The final script will be written in Perl.
++#
++################################################################################
++#
++# Idea: ML
++# Created by: SK
++# Modified by: EM
++#
++###########################################################################
++SCENARIO=60minor
++
++UPGRADE_TYPE="live" # Determines the upgrade method to use,
++ # Can be set to:
++ # 'live' - Use the existing database after upgrade
++ # 'dump' - Export the db and import it after upgrade
++
++DOWNGRADE_TYPE="dump" # Determines the downgrade method to use,
++ # Can be set to:
++ # 'live' - Use the existing database after downgrade
++ # 'dump' - Export the db and import it after downgrade
++
++UPDN_TYPE="minor" # Indicates the differences between the two releases
++ # tested (since 'live' downgrade is not supported
++ # between 'major' releases). Can be set to:
++ # 'minor' - allow 'live' downgrade testing
++ # 'major' - bypass 'live' downgrade testing,
++ # -> If UPDN_MODE="single" set DOWNGRADE_TYPE to 'dump'
++ # -> If UPDN_MODE="all", bypass 'live' DOWNGRADE_TYPE.
++
++UPDN_MODE="single" # Indicates which of the combinations of
++ # UPGRADE_TYPE and DOWNGRADE_TYPE will be used.
++ # Can be set to:
++ # 'single' - Run one round using $UPGRADE_TYPE for
++ # the upgrade method and $DOWNGRADE_TYPE
++ # for the downgrade method.
++ # 'all' - Run four rounds using all combinations
++ # of 'live' and 'dump' (ignoring the above
++ # values of UPGRADE_TYPE and DOWNGRADE_TYPE
++
++# TEST_NUM= # If set limits the run to a specific test scenario
++ # Values are in the form of 00, 01,...
++
++BATCH_MODE="one-pass" # Determines the order in which the test cases will
++ # be exeuted. Can be set to:
++ # 'one-pass - run all 'initial' then all 'upgrade' then
++ # all 'downgrade' (i1,i2...,u1,u2...,d1,d2...)
++ # 'none' - run each test in its own uprade/downgrade
++ # cycle (i1,u1,d1,i2,u2,d2,...)
++ # Note: BATCH_MODE is ignored if --test-num is specified
++ # on the command line or if $TEST_NUM is set.
++
++NEW_UPG_TOOL=mysql_upgrade # Determines what tool should be used during upgrade
++ # can be set to 'fix_privs' or 'mysql_upgrade'
++
++OLD_UPG_TOOL=mysql_upgrade # Determines what tool should be used during downgrade
++ # can be set to 'fix_privs' or 'mysql_upgrade'
++
++OLD_SERVER_OPT="--mysqld=--innodb --mysqld=--concurrent_insert=0"
++ # Additional command line parameters to pass to
++ # 'old version' mysqld server
++
++NEW_SERVER_OPT="--mysqld=--innodb --mysqld=--concurrent_insert=0"
++ # Additional command line parameters to pass to
++ # 'new version' mysqld server
++
++OLDVER_DUMP_OPT="--events --default-character-set=utf8"
++ # Additional command line parameters to pass to
++ # 'mysqldump' when dumping the 'old version' database
++ # during a 'dump' upgrade.
++
++NEWVER_DUMP_OPT="--events --default-character-set=utf8"
++ # Additional command line parameters to pass to
++ # 'mysqldump' when dumping the 'new version' database
++ # during a 'dump' downgrade.
++
++OLDVER_IMPORT_OPT="--default-character-set=utf8"
++ # Additional command line parameters to pass to
++ # 'mysql' when importing the 'old version' database
++ # during a 'dump' upgrade.
++
++NEWVER_IMPORT_OPT="--default-character-set=utf8"
++ # Additional command line parameters to pass to
++ # 'mysql' when importing the 'new version' database
++ # during a 'dump' downgrade.
++
++
++RPL_MODE=0 # Disable replication part
++
++
++SUITE_TIMEOUT=20
++TESTCASE_TIMEOUT=10
++
++# Derived variables
++TIMEOUTS_OLD="--testcase-timeout=$TESTCASE_TIMEOUT --suite-timeout=$SUITE_TIMEOUT"
++TIMEOUTS_NEW="--testcase-timeout=$TESTCASE_TIMEOUT --suite-timeout=$SUITE_TIMEOUT"
++################################################################################
+
+=== modified file 'mysql-test/qa-suite/updown/bin/run_updown.inc.sh'
+--- mysql-test/qa-suite/updown/bin/run_updown.inc.sh 2009-02-18 15:44:25 +0000
++++ mysql-test/qa-suite/updown/bin/run_updown.inc.sh 2009-04-16 12:06:38 +0000
+@@ -116,7 +116,8 @@
+ local SERVER_TYPE_STOP=""
+ local START_OPT_RPL="--mysqld=--innodb rpl_alter"
+
+- local SERVER_MASTER_PORT="9306"
++ #local SERVER_MASTER_PORT="9306"
++ local SERVER_MASTER_PORT="10010"
+ local SERVER_SLAVE_PORT="9308"
+
+ #
+
+=== added file 'mysql-test/qa-suite/updown/scenarios/60minor/r/downgrade08.result'
+--- mysql-test/qa-suite/updown/scenarios/60minor/r/downgrade08.result 1970-01-01 00:00:00 +0000
++++ mysql-test/qa-suite/updown/scenarios/60minor/r/downgrade08.result 2009-04-16 10:58:45 +0000
+@@ -0,0 +1,147 @@
++*********************************************
++*** POST-DOWNGRADE TEST FOR FALCON ***
++*********************************************
++use updown;
++
++############################################################################
++# Verify structure of and access to previous Falcon tables after downgrade:
++############################################################################
++
++SHOW TABLES;
++Tables_in_updown
++falcon_table_from_before_upgrade
++falcon_table_new_on_upgrade
++to_be_falcon_table_after_upgrade
++
++# Table created before upgrade:
++SHOW CREATE TABLE falcon_table_from_before_upgrade;
++Table Create Table
++falcon_table_from_before_upgrade CREATE TABLE `falcon_table_from_before_upgrade` (
++ `id` int(11) NOT NULL AUTO_INCREMENT,
++ `code` int(11) DEFAULT NULL,
++ `age` int(11) DEFAULT NULL,
++ `name` varchar(255) DEFAULT NULL,
++ PRIMARY KEY (`id`),
++ KEY `idx_multi` (`code`,`name`),
++ KEY `idx_code` (`code`)
++) ENGINE=Falcon AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
++SELECT * FROM falcon_table_from_before_upgrade;
++id code age name
++1 -1 -1 Negative1
++2 0 0 Zero
++3 5 5 Five
++4 7 7 Seven
++5 1025 1025 ThousandTwentyFive
++
++# Use index to select range
++SELECT * FROM falcon_table_from_before_upgrade WHERE code > 3;
++id code age name
++3 5 5 Five
++4 7 7 Seven
++5 1025 1025 ThousandTwentyFive
++
++# Table created as non-Falcon table before upgrade and altered to Falcon after.
++SHOW CREATE TABLE to_be_falcon_table_after_upgrade;
++Table Create Table
++to_be_falcon_table_after_upgrade CREATE TABLE `to_be_falcon_table_after_upgrade` (
++ `id` int(11) NOT NULL AUTO_INCREMENT,
++ `code` int(11) DEFAULT NULL,
++ `age` int(11) DEFAULT NULL,
++ `name` varchar(255) DEFAULT NULL,
++ PRIMARY KEY (`id`),
++ KEY `idx_multi` (`code`,`name`),
++ KEY `idx_code` (`code`)
++) ENGINE=Falcon AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
++SELECT * FROM to_be_falcon_table_after_upgrade;
++id code age name
++1 -1 -1 Negative1
++2 0 0 Zero
++3 5 5 Five
++4 7 7 Seven
++5 1025 1025 ThousandTwentyFive
++
++# Use index to select range
++SELECT * FROM to_be_falcon_table_after_upgrade WHERE code > 3;
++id code age name
++3 5 5 Five
++4 7 7 Seven
++5 1025 1025 ThousandTwentyFive
++
++# Table created after upgrade
++SHOW CREATE TABLE falcon_table_new_on_upgrade;
++Table Create Table
++falcon_table_new_on_upgrade CREATE TABLE `falcon_table_new_on_upgrade` (
++ `id` int(11) NOT NULL AUTO_INCREMENT,
++ `code` int(11) DEFAULT NULL,
++ `age` int(11) DEFAULT NULL,
++ `name` varchar(255) DEFAULT NULL,
++ PRIMARY KEY (`id`),
++ KEY `idx_multi` (`code`,`name`),
++ KEY `idx_code` (`code`)
++) ENGINE=Falcon AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
++SELECT * FROM falcon_table_new_on_upgrade;
++id code age name
++1 -1 -1 Upgrade Negative1
++2 0 0 Upgrade Zero
++3 5 5 Upgrade Five
++4 7 7 Upgrade Seven
++5 1025 1025 Upgrade ThousandTwentyFive
++
++# Use index to select range
++SELECT * FROM falcon_table_new_on_upgrade WHERE code > 3;
++id code age name
++3 5 5 Upgrade Five
++4 7 7 Upgrade Seven
++5 1025 1025 Upgrade ThousandTwentyFive
++
++########################################################################
++# Verify structure of the information_schema:
++########################################################################
++
++use information_schema;
++SHOW TABLES;
++Tables_in_information_schema
++CHARACTER_SETS
++COLLATIONS
++COLLATION_CHARACTER_SET_APPLICABILITY
++COLUMNS
++COLUMN_PRIVILEGES
++ENGINES
++EVENTS
++FILES
++GLOBAL_STATUS
++GLOBAL_VARIABLES
++KEY_COLUMN_USAGE
++PARAMETERS
++PARTITIONS
++PLUGINS
++PROCESSLIST
++PROFILING
++REFERENTIAL_CONSTRAINTS
++ROUTINES
++SCHEMATA
++SCHEMA_PRIVILEGES
++SESSION_STATUS
++SESSION_VARIABLES
++STATISTICS
++TABLES
++TABLESPACES
++TABLE_CONSTRAINTS
++TABLE_PRIVILEGES
++TRIGGERS
++USER_PRIVILEGES
++VIEWS
++FALCON_RECORD_CACHE_SUMMARY
++FALCON_SYSTEM_MEMORY_DETAIL
++FALCON_TABLESPACE_IO
++FALCON_SYSTEM_MEMORY_SUMMARY
++FALCON_VERSION
++FALCON_TRANSACTION_SUMMARY
++FALCON_SERIAL_LOG_INFO
++FALCON_SYNCOBJECTS
++FALCON_TRANSACTIONS
++FALCON_RECORD_CACHE_DETAIL
++
++#######################################################
++## END TESTS FOR DOWNGRADE STAGE ######################
++#######################################################
+
+=== added file 'mysql-test/qa-suite/updown/scenarios/60minor/r/initial08.result'
+--- mysql-test/qa-suite/updown/scenarios/60minor/r/initial08.result 1970-01-01 00:00:00 +0000
++++ mysql-test/qa-suite/updown/scenarios/60minor/r/initial08.result 2009-04-16 10:58:22 +0000
+@@ -0,0 +1,132 @@
++*********************************************
++*** INITIAL (PRE-UPGRADE) TEST FOR FALCON ***
++*********************************************
++DROP DATABASE IF EXISTS updown;
++CREATE DATABASE updown;
++SET SQL_WARNINGS=1;
++use updown;
++
++########################################################################
++# Create table that will later be altered to Falcon engine and verify:
++########################################################################
++
++CREATE TABLE to_be_falcon_table_after_upgrade (
++id INT AUTO_INCREMENT PRIMARY KEY,
++code INT,
++age INT,
++name VARCHAR(255),
++INDEX idx_multi (code, name),
++INDEX idx_code (code)
++) ENGINE = MyISAM;
++
++# Insert some data
++INSERT INTO to_be_falcon_table_after_upgrade (code, age, name) VALUES
++(-1, -1, 'Negative1'),
++(0, 0, 'Zero'),
++(5, 5, 'Five'),
++(7, 7, 'Seven'),
++(1025, 1025, 'ThousandTwentyFive');
++
++# Verify contents:
++SELECT * FROM to_be_falcon_table_after_upgrade;
++id code age name
++1 -1 -1 Negative1
++2 0 0 Zero
++3 5 5 Five
++4 7 7 Seven
++5 1025 1025 ThousandTwentyFive
++
++########################################################################
++# Create table that is Falcon engine from the start and verify:
++########################################################################
++
++CREATE TABLE falcon_table_from_before_upgrade (
++id INT AUTO_INCREMENT PRIMARY KEY,
++code INT,
++age INT,
++name VARCHAR(255),
++INDEX idx_multi (code, name),
++INDEX idx_code (code)
++) ENGINE = Falcon;
++
++# Insert some data
++INSERT INTO falcon_table_from_before_upgrade (code, age, name) VALUES
++(-1, -1, 'Negative1'),
++(0, 0, 'Zero'),
++(5, 5, 'Five'),
++(7, 7, 'Seven'),
++(1025, 1025, 'ThousandTwentyFive');
++
++# Verify structure and engine:
++SHOW CREATE TABLE falcon_table_from_before_upgrade;
++Table Create Table
++falcon_table_from_before_upgrade CREATE TABLE `falcon_table_from_before_upgrade` (
++ `id` int(11) NOT NULL AUTO_INCREMENT,
++ `code` int(11) DEFAULT NULL,
++ `age` int(11) DEFAULT NULL,
++ `name` varchar(255) DEFAULT NULL,
++ PRIMARY KEY (`id`),
++ KEY `idx_multi` (`code`,`name`),
++ KEY `idx_code` (`code`)
++) ENGINE=Falcon AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
++
++# Verify contents:
++SELECT * FROM falcon_table_from_before_upgrade;
++id code age name
++1 -1 -1 Negative1
++2 0 0 Zero
++3 5 5 Five
++4 7 7 Seven
++5 1025 1025 ThousandTwentyFive
++
++########################################################################
++# Verify the structure of the information schema before upgrade:
++########################################################################
++
++use information_schema;
++SHOW TABLES;
++Tables_in_information_schema
++CHARACTER_SETS
++COLLATIONS
++COLLATION_CHARACTER_SET_APPLICABILITY
++COLUMNS
++COLUMN_PRIVILEGES
++ENGINES
++EVENTS
++FILES
++GLOBAL_STATUS
++GLOBAL_VARIABLES
++KEY_COLUMN_USAGE
++PARAMETERS
++PARTITIONS
++PLUGINS
++PROCESSLIST
++PROFILING
++REFERENTIAL_CONSTRAINTS
++ROUTINES
++SCHEMATA
++SCHEMA_PRIVILEGES
++SESSION_STATUS
++SESSION_VARIABLES
++STATISTICS
++TABLES
++TABLESPACES
++TABLE_CONSTRAINTS
++TABLE_PRIVILEGES
++TRIGGERS
++USER_PRIVILEGES
++VIEWS
++FALCON_RECORD_CACHE_SUMMARY
++FALCON_SYSTEM_MEMORY_DETAIL
++FALCON_TABLESPACE_IO
++FALCON_SYSTEM_MEMORY_SUMMARY
++FALCON_VERSION
++FALCON_TRANSACTION_SUMMARY
++FALCON_SERIAL_LOG_INFO
++FALCON_SYNCOBJECTS
++FALCON_TRANSACTIONS
++FALCON_RECORD_CACHE_DETAIL
++#######################################################
++## END TESTS FOR INITIAL STAGE ######################
++## PROCEEDING TO UPGRADE STAGE ######################
++#######################################################
+
+=== added file 'mysql-test/qa-suite/updown/scenarios/60minor/r/upgrade08.result'
+--- mysql-test/qa-suite/updown/scenarios/60minor/r/upgrade08.result 1970-01-01 00:00:00 +0000
++++ mysql-test/qa-suite/updown/scenarios/60minor/r/upgrade08.result 2009-04-16 10:59:33 +0000
+@@ -0,0 +1,152 @@
++*********************************************
++*** POST-UPGRADE TEST FOR FALCON ***
++*********************************************
++use updown;
++
++########################################################################
++# Create new table that uses the Falcon engine and verify:
++########################################################################
++
++CREATE TABLE falcon_table_new_on_upgrade (
++id INT AUTO_INCREMENT PRIMARY KEY,
++code INT,
++age INT,
++name VARCHAR(255),
++INDEX idx_multi (code, name),
++INDEX idx_code (code)
++) ENGINE = Falcon;
++
++# Verify table structure and engine:
++SHOW CREATE TABLE falcon_table_new_on_upgrade;
++Table Create Table
++falcon_table_new_on_upgrade CREATE TABLE `falcon_table_new_on_upgrade` (
++ `id` int(11) NOT NULL AUTO_INCREMENT,
++ `code` int(11) DEFAULT NULL,
++ `age` int(11) DEFAULT NULL,
++ `name` varchar(255) DEFAULT NULL,
++ PRIMARY KEY (`id`),
++ KEY `idx_multi` (`code`,`name`),
++ KEY `idx_code` (`code`)
++) ENGINE=Falcon DEFAULT CHARSET=latin1
++
++# Insert some data
++INSERT INTO falcon_table_new_on_upgrade (code, age, name) VALUES
++(-1, -1, 'Upgrade Negative1'),
++(0, 0, 'Upgrade Zero'),
++(5, 5, 'Upgrade Five'),
++(7, 7, 'Upgrade Seven'),
++(1025, 1025, 'Upgrade ThousandTwentyFive');
++
++########################################################################
++# Access old Falcon table:
++########################################################################
++
++# Verify table structure and engine:
++SHOW CREATE TABLE falcon_table_from_before_upgrade;
++Table Create Table
++falcon_table_from_before_upgrade CREATE TABLE `falcon_table_from_before_upgrade` (
++ `id` int(11) NOT NULL AUTO_INCREMENT,
++ `code` int(11) DEFAULT NULL,
++ `age` int(11) DEFAULT NULL,
++ `name` varchar(255) DEFAULT NULL,
++ PRIMARY KEY (`id`),
++ KEY `idx_multi` (`code`,`name`),
++ KEY `idx_code` (`code`)
++) ENGINE=Falcon AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
++
++# Verify table contents:
++SELECT * FROM falcon_table_from_before_upgrade;
++id code age name
++1 -1 -1 Negative1
++2 0 0 Zero
++3 5 5 Five
++4 7 7 Seven
++5 1025 1025 ThousandTwentyFive
++
++# Use index to select range
++SELECT * FROM falcon_table_from_before_upgrade WHERE code > 3;
++id code age name
++3 5 5 Five
++4 7 7 Seven
++5 1025 1025 ThousandTwentyFive
++
++########################################################################
++# Alter old MYISAM table to use Falcon engine:
++########################################################################
++
++ALTER TABLE to_be_falcon_table_after_upgrade ENGINE = Falcon;
++
++# Verify table structure and engine:
++SHOW CREATE TABLE to_be_falcon_table_after_upgrade;
++Table Create Table
++to_be_falcon_table_after_upgrade CREATE TABLE `to_be_falcon_table_after_upgrade` (
++ `id` int(11) NOT NULL AUTO_INCREMENT,
++ `code` int(11) DEFAULT NULL,
++ `age` int(11) DEFAULT NULL,
++ `name` varchar(255) DEFAULT NULL,
++ PRIMARY KEY (`id`),
++ KEY `idx_multi` (`code`,`name`),
++ KEY `idx_code` (`code`)
++) ENGINE=Falcon AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
++
++# Verify table contents:
++SELECT * FROM to_be_falcon_table_after_upgrade;
++id code age name
++1 -1 -1 Negative1
++2 0 0 Zero
++3 5 5 Five
++4 7 7 Seven
++5 1025 1025 ThousandTwentyFive
++
++########################################################################
++# Check the structure of the information_schema:
++########################################################################
++
++use information_schema;
++SHOW TABLES;
++Tables_in_information_schema
++CHARACTER_SETS
++COLLATIONS
++COLLATION_CHARACTER_SET_APPLICABILITY
++COLUMNS
++COLUMN_PRIVILEGES
++ENGINES
++EVENTS
++FILES
++GLOBAL_STATUS
++GLOBAL_VARIABLES
++KEY_COLUMN_USAGE
++PARAMETERS
++PARTITIONS
++PLUGINS
++PROCESSLIST
++PROFILING
++REFERENTIAL_CONSTRAINTS
++ROUTINES
++SCHEMATA
++SCHEMA_PRIVILEGES
++SESSION_STATUS
++SESSION_VARIABLES
++STATISTICS
++TABLES
++TABLESPACES
++TABLE_CONSTRAINTS
++TABLE_PRIVILEGES
++TRIGGERS
++USER_PRIVILEGES
++VIEWS
++FALCON_RECORD_CACHE_SUMMARY
++FALCON_SYSTEM_MEMORY_DETAIL
++FALCON_TABLESPACE_IO
++FALCON_SYSTEM_MEMORY_SUMMARY
++FALCON_VERSION
++FALCON_TRANSACTION_SUMMARY
++FALCON_SERIAL_LOG_INFO
++FALCON_SYNCOBJECTS
++FALCON_TRANSACTIONS
++FALCON_RECORD_CACHE_DETAIL
++
++#######################################################
++## END TESTS FOR UPGRADE STAGE ######################
++## PROCEEDING TO DOWNGRADE STAGE ######################
++#######################################################
+
+=== added file 'mysql-test/qa-suite/updown/scenarios/60minor/t/downgrade08.test'
+--- mysql-test/qa-suite/updown/scenarios/60minor/t/downgrade08.test 1970-01-01 00:00:00 +0000
++++ mysql-test/qa-suite/updown/scenarios/60minor/t/downgrade08.test 2009-04-16 10:53:50 +0000
+@@ -0,0 +1,68 @@
++## File: downgrade08.test
++## This is the third and final phase of the updown test: Downgrade.
++## This script is specifically for the Falcon storage engine.
++--echo *********************************************
++--echo *** POST-DOWNGRADE TEST FOR FALCON ***
++--echo *********************************************
++
++########################################
++# SETUP
++########################################
++use updown;
++
++########################################
++# TEST
++########################################
++
++--echo
++--echo ############################################################################
++--echo # Verify structure of and access to previous Falcon tables after downgrade:
++--echo ############################################################################
++--echo
++SHOW TABLES;
++
++--echo
++--echo # Table created before upgrade:
++
++SHOW CREATE TABLE falcon_table_from_before_upgrade;
++SELECT * FROM falcon_table_from_before_upgrade;
++
++--echo
++--echo # Use index to select range
++
++SELECT * FROM falcon_table_from_before_upgrade WHERE code > 3;
++
++--echo
++--echo # Table created as non-Falcon table before upgrade and altered to Falcon after.
++
++SHOW CREATE TABLE to_be_falcon_table_after_upgrade;
++SELECT * FROM to_be_falcon_table_after_upgrade;
++
++--echo
++--echo # Use index to select range
++
++SELECT * FROM to_be_falcon_table_after_upgrade WHERE code > 3;
++
++--echo
++--echo # Table created after upgrade
++
++SHOW CREATE TABLE falcon_table_new_on_upgrade;
++SELECT * FROM falcon_table_new_on_upgrade;
++
++--echo
++--echo # Use index to select range
++
++SELECT * FROM falcon_table_new_on_upgrade WHERE code > 3;
++
++--echo
++--echo ########################################################################
++--echo # Verify structure of the information_schema:
++--echo ########################################################################
++--echo
++use information_schema;
++SHOW TABLES;
++
++--echo
++--echo #######################################################
++--echo ## END TESTS FOR DOWNGRADE STAGE ######################
++--echo #######################################################
+
+=== added file 'mysql-test/qa-suite/updown/scenarios/60minor/t/initial08.test'
+--- mysql-test/qa-suite/updown/scenarios/60minor/t/initial08.test 1970-01-01 00:00:00 +0000
++++ mysql-test/qa-suite/updown/scenarios/60minor/t/initial08.test 2009-04-16 10:54:22 +0000
+@@ -0,0 +1,98 @@
++## File: initial08.test
++## This script is the first phase of the updown (upgrade/downgrade) test.
++## This script is specifically for the Falcon storage engine.
++--echo *********************************************
++--echo *** INITIAL (PRE-UPGRADE) TEST FOR FALCON ***
++--echo *********************************************
++
++########################################
++# SETUP
++########################################
++
++--disable_warnings
++DROP DATABASE IF EXISTS updown;
++CREATE DATABASE updown;
++--enable_warnings
++
++# This variable controls whether single-row INSERT statements produce an information string if warnings occur.
++SET SQL_WARNINGS=1;
++
++use updown;
++
++########################################
++# TEST
++########################################
++
++--echo
++--echo ########################################################################
++--echo # Create table that will later be altered to Falcon engine and verify:
++--echo ########################################################################
++--echo
++CREATE TABLE to_be_falcon_table_after_upgrade (
++ id INT AUTO_INCREMENT PRIMARY KEY,
++ code INT,
++ age INT,
++ name VARCHAR(255),
++ INDEX idx_multi (code, name),
++ INDEX idx_code (code)
++ ) ENGINE = MyISAM;
++
++--echo
++--echo # Insert some data
++
++INSERT INTO to_be_falcon_table_after_upgrade (code, age, name) VALUES
++ (-1, -1, 'Negative1'),
++ (0, 0, 'Zero'),
++ (5, 5, 'Five'),
++ (7, 7, 'Seven'),
++ (1025, 1025, 'ThousandTwentyFive');
++
++--echo
++--echo # Verify contents:
++SELECT * FROM to_be_falcon_table_after_upgrade;
++
++--echo
++--echo ########################################################################
++--echo # Create table that is Falcon engine from the start and verify:
++--echo ########################################################################
++--echo
++CREATE TABLE falcon_table_from_before_upgrade (
++ id INT AUTO_INCREMENT PRIMARY KEY,
++ code INT,
++ age INT,
++ name VARCHAR(255),
++ INDEX idx_multi (code, name),
++ INDEX idx_code (code)
++ ) ENGINE = Falcon;
++
++--echo
++--echo # Insert some data
++
++INSERT INTO falcon_table_from_before_upgrade (code, age, name) VALUES
++ (-1, -1, 'Negative1'),
++ (0, 0, 'Zero'),
++ (5, 5, 'Five'),
++ (7, 7, 'Seven'),
++ (1025, 1025, 'ThousandTwentyFive');
++
++--echo
++--echo # Verify structure and engine:
++SHOW CREATE TABLE falcon_table_from_before_upgrade;
++
++--echo
++--echo # Verify contents:
++SELECT * FROM falcon_table_from_before_upgrade;
++
++--echo
++--echo ########################################################################
++--echo # Verify the structure of the information schema before upgrade:
++--echo ########################################################################
++--echo
++use information_schema;
++SHOW TABLES;
++
++--echo #######################################################
++--echo ## END TESTS FOR INITIAL STAGE ######################
++--echo ## PROCEEDING TO UPGRADE STAGE ######################
++--echo #######################################################
++
+
+=== modified file 'mysql-test/qa-suite/updown/scenarios/60minor/t/manifest.txt'
+--- mysql-test/qa-suite/updown/scenarios/60minor/t/manifest.txt 2008-12-19 13:43:55 +0000
++++ mysql-test/qa-suite/updown/scenarios/60minor/t/manifest.txt 2009-04-15 15:04:32 +0000
+@@ -21,6 +21,8 @@
+ Test 07 Miscellaneous Changes in 6.0: Information Schema, log tables,
+ utf32 columns and Falcon tables.
+
++Test 08 Falcon Specific test for the Falcon storage engine.
++
+ Test 90 Dummy Does nothing and should always pass - testing the framework
+
+
+
+=== added file 'mysql-test/qa-suite/updown/scenarios/60minor/t/upgrade08.test'
+--- mysql-test/qa-suite/updown/scenarios/60minor/t/upgrade08.test 1970-01-01 00:00:00 +0000
++++ mysql-test/qa-suite/updown/scenarios/60minor/t/upgrade08.test 2009-04-16 10:57:48 +0000
+@@ -0,0 +1,93 @@
++## File: upgrade08.test
++## This script is the second phase of the updown test: Upgrade.
++## This script is specifically for the Falcon storage engine.
++--echo *********************************************
++--echo *** POST-UPGRADE TEST FOR FALCON ***
++--echo *********************************************
++
++########################################
++# SETUP
++########################################
++use updown;
++
++########################################
++# TEST
++########################################
++
++--echo
++--echo ########################################################################
++--echo # Create new table that uses the Falcon engine and verify:
++--echo ########################################################################
++--echo
++CREATE TABLE falcon_table_new_on_upgrade (
++ id INT AUTO_INCREMENT PRIMARY KEY,
++ code INT,
++ age INT,
++ name VARCHAR(255),
++ INDEX idx_multi (code, name),
++ INDEX idx_code (code)
++ ) ENGINE = Falcon;
++
++--echo
++--echo # Verify table structure and engine:
++SHOW CREATE TABLE falcon_table_new_on_upgrade;
++
++--echo
++--echo # Insert some data
++
++INSERT INTO falcon_table_new_on_upgrade (code, age, name) VALUES
++ (-1, -1, 'Upgrade Negative1'),
++ (0, 0, 'Upgrade Zero'),
++ (5, 5, 'Upgrade Five'),
++ (7, 7, 'Upgrade Seven'),
++ (1025, 1025, 'Upgrade ThousandTwentyFive');
++
++--echo
++--echo ########################################################################
++--echo # Access old Falcon table:
++--echo ########################################################################
++--echo
++--echo # Verify table structure and engine:
++
++SHOW CREATE TABLE falcon_table_from_before_upgrade;
++
++--echo
++--echo # Verify table contents:
++
++SELECT * FROM falcon_table_from_before_upgrade;
++
++--echo
++--echo # Use index to select range
++SELECT * FROM falcon_table_from_before_upgrade WHERE code > 3;
++
++--echo
++--echo ########################################################################
++--echo # Alter old MYISAM table to use Falcon engine:
++--echo ########################################################################
++--echo
++
++ALTER TABLE to_be_falcon_table_after_upgrade ENGINE = Falcon;
++
++--echo
++--echo # Verify table structure and engine:
++
++SHOW CREATE TABLE to_be_falcon_table_after_upgrade;
++
++--echo
++--echo # Verify table contents:
++
++SELECT * FROM to_be_falcon_table_after_upgrade;
++
++--echo
++--echo ########################################################################
++--echo # Check the structure of the information_schema:
++--echo ########################################################################
++--echo
++use information_schema;
++SHOW TABLES;
++
++--echo
++--echo #######################################################
++--echo ## END TESTS FOR UPGRADE STAGE ######################
++--echo ## PROCEEDING TO DOWNGRADE STAGE ######################
++--echo #######################################################
+
=== added file 'upgrade-downgrade/prepare_test.bash'
--- a/upgrade-downgrade/prepare_test.bash 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/prepare_test.bash 2009-04-24 10:38:01 +0000
@@ -0,0 +1,117 @@
+#! /bin/bash
+#
+# Prepares the customized upgrade/downgrade test against the Falcon storage
+# engine.
+#
+# Requires: Checked out / available working copies of
+# mysql-test-extra-6.0 (for the up/down test framework)
+# - "NEW" version of MySQL Server with the falcon storage engine and MTR.
+# - "OLD" version of MySQL Server with the falcon storage engine and MTR.
+#
+# This script does the following:
+# - verifies that the required MySQL versions exist and are available.
+# - Test drives MTR with Falcon in all versions to be tested.
+# - creates symlinks in the mysql-test/suite directory of each version to
+# be tested, pointing to the test suite "updown" in the test-extra repository.
+#
+#
+# HOW TO SPECIFY WHICH VERSIONS TO TEST?
+# - edit the file referred to by the variable $UPDOWN_ENV_FILE (see host script)
+# (e.g. "trd_falcon_updown.env") in this directory before running the test.
+#
+#
+# John Embretsen, <john dot embretsen at sun dot com>, 2009-04-23.
+#
+
+
+#
+# Hostname. Needed for various paths, directories, includes.
+#
+HOSTNAME=$(hostname)
+
+#
+# Name of directory where this script is located
+#
+DIRNAME="${0%/*}"
+
+cd ${DIRNAME}
+
+##
+## Includes.
+##
+## There should be one include file per host, specifying
+## platform/host specific variables (paths etc.).
+#
+HOST_INCLUDE_FILE="include/host_${HOSTNAME}.inc"
+if [ ! -f "${HOST_INCLUDE_FILE}" ]; then
+ echo "[ERROR_runme] Include file for host ${HOSTNAME} not found."
+ echo "Was looking for: ${PWD}/${HOST_INCLUDE_FILE}"
+ echo "Exiting."
+ exit 1
+fi
+source ${HOST_INCLUDE_FILE}
+
+# Working directory for this script.
+cd ${AUTO_BASE}
+
+#
+# Files and directories.
+#
+LOG=${LOG_DIR}/prepare_test.log
+
+#
+# Read paths from the environment file
+# We need:
+# TOP_DIR_OLD (top-level dir of installation / src+build of OLD version to test.)
+# TOP_DIR_NEW (top-level dir of installation / src+build of NEW version to test.)
+#
+source ${UPDOWN_ENV_FILE}
+
+echo "[INFO] TOP_DIR_OLD=${TOP_DIR_OLD}" >> $LOG
+echo "[INFO] TOP_DIR_NEW=${TOP_DIR_OLD}" >> $LOG
+
+#
+# Copy test environment file to the test-extra working dir.
+#
+echo "[INFO] Copying ${UPDOWN_ENV_FILE} to ${UPDOWN_DIR}" >> $LOG
+cp ${UPDOWN_ENV_FILE} ${UPDOWN_DIR}/bin/ 2>$LOG
+
+#
+# Verify that MTR v1 + Falcon works in each version to be tested.
+# Then create symbolic links to the updown suite in test-extra.
+#
+TEST_CMD="perl mysql-test-run.pl --suite=falcon falcon_options"
+export MTR_VERSION=1
+MTR_OUTPUT="mtr-tmp.log"
+
+# OLD version:
+echo "[INFO] Verifying MTR + Falcon in OLD version..." >> $LOG
+cd ${TOP_DIR_OLD}/mysql-test
+${TEST_CMD} >> ${MTR_OUTPUT} 2>&1
+if [ $? -ne 0 ]; then
+ echo "[ERROR_prepare_OLD] MTR test run '${TEST_CMD}' failed!" >> $LOG
+ echo "[ERROR_prepare_NEW] Log from ${TOP_DIR_NEW}:" >> $LOG
+ echo "" >> $LOG
+ cat ${MTR_OUTPUT} >> $LOG
+ exit 1
+fi
+ln -s ${UPDOWN_DIR} suite/updown >> $LOG 2>&1
+
+# NEW version:
+echo "[INFO] Verifying MTR + Falcon in NEW version..." >> $LOG
+cd ${TOP_DIR_NEW}/mysql-test
+${TEST_CMD} >> ${MTR_OUTPUT} 2>&1
+if [ $? -ne 0 ]; then
+ echo "[ERROR_prepare_NEW] MTR test run '${TEST_CMD}' failed!" >> $LOG
+ echo "[ERROR_prepare_NEW] Log from ${TOP_DIR_NEW}:" >> $LOG
+ echo "" >> $LOG
+ cat ${MTR_OUTPUT} >> $LOG
+ exit 1
+fi
+ln -s ${UPDOWN_DIR} suite/updown >> $LOG 2>&1
+
+#
+# CD back to our own working dir.
+#
+cd ${AUTO_BASE}
+
=== added file 'upgrade-downgrade/run_test.bash'
--- a/upgrade-downgrade/run_test.bash 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/run_test.bash 2009-04-24 10:38:01 +0000
@@ -0,0 +1,96 @@
+#! /bin/bash
+#
+# Runs the customized upgrade/downgrade test. Do not execute this script
+# directly, see RUNME.bash instead.
+#
+# John Embretsen, <john dot embretsen at sun dot com>, 2009-04-23.
+#
+
+
+#
+# Hostname. Needed for various paths, directories, includes.
+#
+HOSTNAME=$(hostname)
+
+#
+# Name of directory where this script is located.
+#
+DIRNAME="${0%/*}"
+
+cd ${DIRNAME}
+
+##
+## Includes.
+##
+## There should be one include file per host, specifying
+## platform/host specific variables (paths etc.).
+#
+HOST_INCLUDE_FILE="include/host_${HOSTNAME}.inc"
+if [ ! -f "${HOST_INCLUDE_FILE}" ]; then
+ echo "[ERROR_runme] Include file for host ${HOSTNAME} not found."
+ echo "Was looking for: ${PWD}/${HOST_INCLUDE_FILE}"
+ echo "Exiting."
+ exit 1
+fi
+source ${HOST_INCLUDE_FILE}
+
+# Working directory for this script.
+cd ${AUTO_BASE}
+
+#
+# Read paths from the environment file
+# We need:
+# TOP_DIR_OLD (top-level dir of installation / src+build of OLD version to test.)
+# TOP_DIR_NEW (top-level dir of installation / src+build of NEW version to test.)
+#
+# for retreiving server error logs.
+#
+source ${UPDOWN_ENV_FILE}
+
+# Assumes that all called scripts are present in the directory pointed to by
+# the variable AUTO_BASE, set in this host's include script.
+
+#
+# Files
+#
+LOG="${LOG_DIR}/run_test.log"
+
+#
+# Run the test and store the output
+#
+cd ${UPDOWN_DIR}/bin
+if [ $? -ne 0 ]; then
+ echo "[ERROR_run] Unable to cd to ${UPDOWN_DIR}! Exiting." >> $LOG
+ echo "[ERROR_run] Unable to cd to ${UPDOWN_DIR}!"
+ echo "See logs in ${LOG} for details. Exiting."
+ exit 1
+fi
+
+ENV_FILE_BASENAME="${UPDOWN_ENV_FILE##*/}"
+RUN_CMD="./run_updown --config=${ENV_FILE_BASENAME} --scenario=60minor-falcon.tst --test-num=08"
+
+echo "[INFO] Running the following command:" >> $LOG
+echo " ${RUN_CMD}" >> $LOG
+echo "" >> $LOG
+
+export MTR_VERSION=1
+${RUN_CMD} >> $LOG 2>&1
+if [ $? -ne 0 ]; then
+ echo "[FAIL] Run of updown test failed!" >> $LOG
+ echo "[INFO] Attempting to get server error log from upgrade..." >> $LOG
+ ERROR_LOG_NEW="${TOP_DIR_NEW}/mysql-test/var/log/master.err"
+ if [ -f "${ERROR_LOG_NEW}" ]; then
+ echo "[INFO] master.err from NEW version ${TOP_DIR_NEW}:" >> $LOG
+ echo "" >> $LOG
+ cat ${ERROR_LOG_NEW} >> $LOG
+ else
+ echo "[ERROR_run_test] Unable to find error log from NEW server." >> $LOG
+ fi
+
+ echo "[FAIL] Run of updown test failed!"
+ echo "See ${LOG} for details. Exiting."
+ exit 1
+else
+ echo "[INFO] Testrun completed successfully (exit code 0)" >> $LOG
+fi
+
=== added file 'upgrade-downgrade/trd_falcon_updown_linux-32bit.env'
--- a/upgrade-downgrade/trd_falcon_updown_linux-32bit.env 1970-01-01 00:00:00 +0000
+++ b/upgrade-downgrade/trd_falcon_updown_linux-32bit.env 2009-04-24 10:38:01 +0000
@@ -0,0 +1,49 @@
+################################################################################
+#
+# Attention: This bourne Shell script is a temporary solution.
+# The final script will be written in Perl.
+#
+################################################################################
+#
+# Idea: ML
+# Created by: SK
+# Modified by: EM, JHE
+#
+# 2007-05-17 OBN - Split the original confg file to test related
+# and environment related config files
+###########################################################################
+SUITE="updown"
+
+TOP_DIR_OLD=/export/home/tmp/falconQA/mysql-releases/mysql-6.0.9-alpha-linux-i686-glibc23 # Top directory of old MySQL version
+TOP_DIR_NEW=/export/home/tmp/falconQA/mysql-releases/mysql-6.0.10-alpha-linux-i686-glibc23
+#TOP_DIR_NEW=/export/home/tmp/falconQA/bzr-repos/server/mysql-6.0-falcon-team # Top directory of new MySQL version
+TOP_TEST_EXTRA=/home/je159969/mysql/bzr-repos/mysql-test-extra-6.0 # Top directory for mysql-test-extra
+
+WINDOWS=0 # Set to '1' if running on Windows
+
+SERVER_HOST="localhost" # Server hostname:
+ # <localhost> for local connections
+ # <some-host-name> for remote connections
+
+SERVER_PORT="10010" # Port for remote connections
+
+VAR_DIR=/tmp/falcon-upgrade/var # Variable pointing to the var'directory
+
+MAATKIT_BASEDIR=/data0/maatkit # BASEDIR for maatkit suite that is used
+ # in replication modes for checking of consistency
+ # with checksum method
+
+
+# The following variables are used for storing result files fir the different
+# up/down permutations during the test runs. Names are relative to the location
+# of the 'scenario' directory in test-extra
+DD_DIR=res_dd # Upgrade/downgrade using a dump file
+DL_DIR=res_dl # Upgrade using dump file, live downgrade
+LD_DIR=res_ld # Live upgrade, using dump file for downgrade
+LL_DIR=res_ll # live upgrade and downgrade
+
+# TZ=GMT+2 # Set timezone variable if needed
+
+################################################################################
+
+
Attachment: [text/bzr-bundle] bzr/hky@sun.com-20090424105243-xabjhjziclgc81zg.bundle
| Thread |
|---|
| • bzr commit into mysql-falcon branch (hky:381) | Hakan Kuecuekyilmaz | 24 Apr |