112 lines
4.0 KiB
Bash
Executable File
112 lines
4.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License, version 2.0,
|
|
# as published by the Free Software Foundation.
|
|
#
|
|
# This program is also distributed with certain software (including
|
|
# but not limited to OpenSSL) that is licensed under separate terms,
|
|
# as designated in a particular file or component or in included license
|
|
# documentation. The authors of MySQL hereby grant you an additional
|
|
# permission to link the program and your derivative works with the
|
|
# separately licensed software that they have included with MySQL.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License, version 2.0, for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
#
|
|
# Use like this in the ATRT test file:
|
|
#
|
|
# max-time: 180
|
|
# cmd: atrt-mysqltest
|
|
# args: --test-file=suite/ndb/t/smoke.test
|
|
#
|
|
set -x
|
|
RUN_DIR=`pwd`
|
|
|
|
RESULT_FILE="$RUN_DIR/mysqltest.out"
|
|
MYSQL_TEST_DIR=$MYSQL_BASE_DIR/mysql-test
|
|
RUN_LOG="$RUN_DIR/ndb_testrun.log"
|
|
|
|
# Expected subdirectory by tests written for MTR.
|
|
mkdir -p $RUN_DIR/tmp
|
|
|
|
$MYSQL_BASE_DIR/bin/ndb_waiter -c $NDB_CONNECTSTRING > $RESULT_FILE
|
|
|
|
cd $MYSQL_BASE_DIR/mysql-test
|
|
|
|
NDB_MGM="$MYSQL_BASE_DIR/storage/ndb/src/mgmclient/ndb_mgm"
|
|
if [ -f "$MYSQL_BASE_DIR/bin/ndb_mgm" ]; then
|
|
NDB_MGM="$MYSQL_BASE_DIR/bin/ndb_mgm"
|
|
fi
|
|
|
|
NDB_NDBD="$MYSQL_BASE_DIR/bin/ndbd"
|
|
if [ -f "$MYSQL_BASE_DIR/bin/ndbmtd" ]; then
|
|
NDB_NDBD="$MYSQL_BASE_DIR/bin/ndbmtd"
|
|
fi
|
|
if [ -f "$MYSQL_BASE_DIR/storage/ndb/src/kernel/ndbd" ]; then
|
|
NDB_NDBD="$MYSQL_BASE_DIR/storage/ndb/src/kernel/ndbd"
|
|
fi
|
|
if [ -f "$MYSQL_BASE_DIR/storage/ndb/src/kernel/ndbmtd" ]; then
|
|
NDB_NDBD="$MYSQL_BASE_DIR/storage/ndb/src/kernel/ndbmtd"
|
|
fi
|
|
|
|
NDB_TOOLS_DIR="$MYSQL_BASE_DIR/bin"
|
|
if [ -e "$MYSQL_BASE_DIR/storage/ndb/tools" ]; then
|
|
NDB_TOOLS_DIR="$MYSQL_BASE_DIR/storage/ndb/tools"
|
|
fi
|
|
|
|
NDB_EXAMPLES_DIR="$MYSQL_BASE_DIR/bin"
|
|
if [ -e "$MYSQL_BASE_DIR/storage/ndb/ndbapi-examples" ]; then
|
|
NDB_EXAMPLES_DIR="$MYSQL_BASE_DIR/storage/ndb/ndbapi-examples"
|
|
fi
|
|
|
|
NDB_EXAMPLES_BINARY="$MYSQL_BASE_DIR/bin/ndbapi_simple"
|
|
if [ -f "$MYSQL_BASE_DIR/storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple" ]; then
|
|
NDB_EXAMPLES_BINARY="$MYSQL_BASE_DIR/storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple"
|
|
fi
|
|
|
|
echo "Default group suffix: $MYSQL_GROUP_SUFFIX"
|
|
|
|
# MYSQL_GROUP_SUFFIX: This is a MySQL client, started as a NDB API client by ATRT.
|
|
NDB_CONNECTSTRING=$NDB_CONNECTSTRING MYSQL_TEST_DIR=$MYSQL_BASE_DIR/mysql-test \
|
|
NDB_TOOLS_OUTPUT=$RUN_LOG NDB_EXAMPLES_OUTPUT=$RUN_LOG NDB_MGM=$NDB_MGM NDB_NDBD=NDB_NDBD \
|
|
NDB_TOOLS_DIR=$NDB_TOOLS_DIR NDB_EXAMPLES_DIR=$NDB_EXAMPLES_DIR NDB_EXAMPLES_BINARY=$NDB_EXAMPLES_BINARY \
|
|
MYSQLTEST_VARDIR=$RUN_DIR MYSQL_GROUP_SUFFIX=.1.4node \
|
|
$MYSQL_BASE_DIR/bin/mysqltest --defaults-file=$MYSQL_HOME/my.cnf \
|
|
--tmpdir=$RUN_DIR \
|
|
--logdir=$RUN_DIR \
|
|
--basedir=$MYSQL_BASE_DIR/mysql-test/ \
|
|
--ps-protocol \
|
|
--tail-lines=20 \
|
|
--database=test \
|
|
--nowarnings \
|
|
--skip-safemalloc $* | tee -a $RESULT_FILE
|
|
|
|
# Could be added, but would then also need the mtr database:
|
|
# --include=include/mtr_check.sql \
|
|
# We could also run the bootstrap scripts
|
|
|
|
echo "Run complete, result code: '$?'"
|
|
|
|
r=$?
|
|
f=`grep -c '\[ fail \]' $RESULT_FILE`
|
|
o=`grep -c '\[ pass \]' $RESULT_FILE`
|
|
|
|
if [ ( $r -eq 0 ) -o ( $o -gt 0 -a $f -eq 0 ) ]
|
|
then
|
|
echo "NDBT_ProgramExit: OK"
|
|
exit 0
|
|
fi
|
|
|
|
echo "NDBT_ProgramExit: Failed"
|
|
exit 1
|