diff --git a/test/run_npm_test.sh b/test/run_npm_test.sh index 9d0225913..1361124c2 100755 --- a/test/run_npm_test.sh +++ b/test/run_npm_test.sh @@ -30,6 +30,9 @@ cp -t $testdir -r $testsrc/* # Required by MaxCtrl (not super pretty) cp -t $testdir/.. $srcdir/VERSION*.cmake +# This avoids running npm as root if we're executing the tests as root (MaxCtrl specific) +(cd $testdir && test -f configure_version.cmake && cmake -P configure_version.cmake) + # Copy required docker-compose files to the MaxScale directory and bring MariaDB # servers up. This is an asynchronous process. cd $maxscaledir diff --git a/test/start_double_maxscale.sh b/test/start_double_maxscale.sh index 889ec969f..a122e2dac 100755 --- a/test/start_double_maxscale.sh +++ b/test/start_double_maxscale.sh @@ -29,25 +29,27 @@ mkdir -m 0755 -p $maxscaledir/secondary/cache/maxscale mkdir -m 0755 -p $maxscaledir/secondary/run/maxscale mkdir -m 0755 -p $maxscaledir/secondary/log/maxscale +if [ "`whoami`" == "root" ] +then + user_opt="-U root" +fi + # Start MaxScale -$maxscaledir/bin/maxscale -df $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale1.output & +$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale1.output # Wait for the first MaxScale to start -for ((i=0;i<60;i++)) +for ((i=0;i<150;i++)) do - $maxscaledir/bin/maxadmin help >& /dev/null && break + $maxscaledir/bin/maxctrl list servers >& /dev/null && break sleep 0.1 done # Start a second maxscale -$maxscaledir/bin/maxscale -df $maxscaledir/maxscale_secondary.cnf &>> $maxscaledir/maxscale2.output & +$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale_secondary.cnf &>> $maxscaledir/maxscale2.output # Wait for the second MaxScale to start -for ((i=0;i<60;i++)) +for ((i=0;i<150;i++)) do - $maxscaledir/bin/maxadmin -S /tmp/maxadmin2.sock help >& /dev/null && break + $maxscaledir/bin/maxctrl --hosts 127.0.0.1:8990 list servers >& /dev/null && break sleep 0.1 done - -# Give MaxScale some time to settle -sleep 1 diff --git a/test/start_maxscale.sh b/test/start_maxscale.sh index 9504506e3..d13b6c453 100755 --- a/test/start_maxscale.sh +++ b/test/start_maxscale.sh @@ -19,16 +19,17 @@ mkdir -m 0755 -p $maxscaledir/cache/maxscale mkdir -m 0755 -p $maxscaledir/run/maxscale mkdir -m 0755 -p $maxscaledir/log/maxscale +if [ "`whoami`" == "root" ] +then + user_opt="-U root" +fi + # Start MaxScale -$maxscaledir/bin/maxscale -df $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale.output & -pid=$! +$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale.output # Wait for MaxScale to start -for ((i=0;i<60;i++)) +for ((i=0;i<150;i++)) do - $maxscaledir/bin/maxadmin help >& /dev/null && break + $maxscaledir/bin/maxctrl list servers >& /dev/null && break sleep 0.1 done - -# Give MaxScale some time to settle -sleep 1 diff --git a/test/stop_double_maxscale.sh b/test/stop_double_maxscale.sh index b4eca7494..d0cd55ef6 100755 --- a/test/stop_double_maxscale.sh +++ b/test/stop_double_maxscale.sh @@ -8,10 +8,10 @@ maxscaledir=$MAXSCALE_DIR test -z "$MAXSCALE_DIR" && exit 1 -for ((i=0;i<20;i++)) +for ((i=0;i<200;i++)) do pkill '^maxscale$' || break - sleep 0.5 + sleep 0.1 done # If it wasn't dead before, now it is diff --git a/test/stop_maxscale.sh b/test/stop_maxscale.sh index af9cb41d6..a086f86d1 100755 --- a/test/stop_maxscale.sh +++ b/test/stop_maxscale.sh @@ -8,10 +8,10 @@ maxscaledir=$MAXSCALE_DIR test -z "$MAXSCALE_DIR" && exit 1 -for ((i=0;i<20;i++)) +for ((i=0;i<200;i++)) do pkill '^maxscale$' || break - sleep 0.5 + sleep 0.1 done # If it wasn't dead before, now it is