summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Patou <mat@freebsd.home.tridgell.net>2010-10-10 10:12:46 +1100
committerMatthieu Patou <mat@matws.net>2010-10-10 16:03:35 +0400
commit9d958ce582fa760456b52d65a2deb36d8bd3794a (patch)
treeae4b0a883ef4dbee5e51fdb9243bdaa6debb199f
parentf827fcd0e0f91b6aca113ec94e09e293f119cba8 (diff)
downloadsamba-9d958ce582fa760456b52d65a2deb36d8bd3794a.tar.gz
samba-9d958ce582fa760456b52d65a2deb36d8bd3794a.tar.bz2
samba-9d958ce582fa760456b52d65a2deb36d8bd3794a.zip
build: make make tests SCREEN=1 work on freebsd
-rwxr-xr-xselftest/in_screen17
-rw-r--r--selftest/target/Samba4.pm7
-rw-r--r--source4/selftest/wscript4
3 files changed, 22 insertions, 6 deletions
diff --git a/selftest/in_screen b/selftest/in_screen
index 8a3cc5c601..927d83109b 100755
--- a/selftest/in_screen
+++ b/selftest/in_screen
@@ -1,10 +1,24 @@
-#!/bin/bash
+#!/usr/bin/env bash
export TMPDIR="$SELFTEST_TMPDIR"
SERVERNAME="$ENVNAME"
[ -z "$SERVERNAME" ] && SERVERNAME="base"
basedir=$TMPDIR
+osname=$(uname)
+if [ "$osname" = "Linux" ]; then
+ vars=$(mktemp)
+else
+ vars=$(mktemp -t tmpsmb)
+ function seq() {
+ dpt=$1
+ end=$2
+ while [ $dpt -le $end ]; do
+ echo "$dpt"
+ dpt=$(( $dpt + 1))
+ done
+ }
+fi
[ -r $basedir/$SERVERNAME.pid ] && {
for i in $(seq 2 100); do
@@ -19,7 +33,6 @@ rm -f $basedir/$SERVERNAME.*
# set most of the environment vars we have in the screen session too
_ENV=""
-vars=$(mktemp)
printenv |
egrep -v '^TERMCAP|^WINDOW|^SHELL|^STY|^SHLVL|^SAMBA_VALGRIND|\$' |
egrep '^[A-Z]' |
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 36023f21c7..574c015a11 100644
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -88,6 +88,7 @@ sub check_or_start($$$)
POSIX::mkfifo($env_vars->{SAMBA_TEST_FIFO}, 0700);
unlink($env_vars->{SAMBA_TEST_LOG});
+ my $pwd = `pwd`;
print "STARTING SAMBA for $ENV{ENVNAME}\n";
my $pid = fork();
if ($pid == 0) {
@@ -138,9 +139,11 @@ sub check_or_start($$$)
if (defined($ENV{SAMBA_PROCESS_MODEL})) {
$model = $ENV{SAMBA_PROCESS_MODEL};
}
- my $ret = system("$valgrind $samba $optarg $env_vars->{CONFIGURATION} -M $model -i");
+ chomp($pwd);
+ my $cmdline = "$valgrind ${pwd}/$samba $optarg $env_vars->{CONFIGURATION} -M $model -i";
+ my $ret = system("$cmdline");
if ($ret == -1) {
- print "Unable to start $samba: $ret: $!\n";
+ print "Unable to start $cmdline: $ret: $!\n";
exit 1;
}
my $exit = ($ret >> 8);
diff --git a/source4/selftest/wscript b/source4/selftest/wscript
index 561baeb6e1..249db5e90b 100644
--- a/source4/selftest/wscript
+++ b/source4/selftest/wscript
@@ -130,8 +130,8 @@ def cmd_testonly(opt):
server_wrapper = '../selftest/gdb_run _DUMMY=X'
if Options.options.SCREEN:
- server_wrapper = '../selftest/in_screen %s' % server_wrapper
- os.environ['TERMINAL'] = '../selftest/in_screen'
+ server_wrapper = '%s/../selftest/in_screen %s' % (os.getcwd(), server_wrapper)
+ os.environ['TERMINAL'] = '%s/../selftest/in_screen' % os.getcwd()
elif server_wrapper != '':
server_wrapper = 'xterm -n server -l -e %s' % server_wrapper