|
|
@@ -0,0 +1,46 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+set -e
|
|
|
+
|
|
|
+PID_FILE=cassandra.pid
|
|
|
+STARTUP_LOG=startup.log
|
|
|
+ARCHIVE_BASE_URL=http://archive.apache.org/dist/cassandra
|
|
|
+
|
|
|
+for v in 2.0.6 2.0.7
|
|
|
+do
|
|
|
+ TARBALL=apache-cassandra-$v-bin.tar.gz
|
|
|
+ CASSANDRA_DIR=apache-cassandra-$v
|
|
|
+
|
|
|
+ curl -L -O $ARCHIVE_BASE_URL/$v/$TARBALL
|
|
|
+
|
|
|
+ if [ ! -f $CASSANDRA_DIR/bin/cassandra ]
|
|
|
+ then
|
|
|
+ tar xzf $TARBALL
|
|
|
+ fi
|
|
|
+
|
|
|
+ CASSANDRA_LOG_DIR=`pwd`/v${v}/log/cassandra
|
|
|
+ CASSANDRA_LOG=$CASSANDRA_LOG_DIR/system.log
|
|
|
+
|
|
|
+ mkdir -p $CASSANDRA_LOG_DIR
|
|
|
+ : >$CASSANDRA_LOG # create an empty log file
|
|
|
+
|
|
|
+ sed -i -e 's?/var?'`pwd`/v${v}'?' $CASSANDRA_DIR/conf/cassandra.yaml
|
|
|
+ sed -i -e 's?/var?'`pwd`/v${v}'?' $CASSANDRA_DIR/conf/log4j-server.properties
|
|
|
+
|
|
|
+ echo "Booting Cassandra ${v}, waiting for CQL listener to start ...."
|
|
|
+
|
|
|
+ $CASSANDRA_DIR/bin/cassandra -p $PID_FILE &> $STARTUP_LOG
|
|
|
+
|
|
|
+ { tail -n +1 -f $CASSANDRA_LOG & } | sed -n '/Starting listening for CQL clients/q'
|
|
|
+
|
|
|
+ PID=$(<"$PID_FILE")
|
|
|
+
|
|
|
+ echo "Cassandra ${v} running (PID ${PID}), about to run test suite ...."
|
|
|
+
|
|
|
+ go test -v ./...
|
|
|
+
|
|
|
+ echo "Test suite passed against Cassandra ${v}, killing server instance (PID ${PID})"
|
|
|
+
|
|
|
+ kill -9 $PID
|
|
|
+ rm $PID_FILE
|
|
|
+done
|