diff options
author | Matthieu Patou <mat@freebsd.home.tridgell.net> | 2010-10-10 10:12:46 +1100 |
---|---|---|
committer | Matthieu Patou <mat@matws.net> | 2010-10-10 16:03:35 +0400 |
commit | 9d958ce582fa760456b52d65a2deb36d8bd3794a (patch) | |
tree | ae4b0a883ef4dbee5e51fdb9243bdaa6debb199f | |
parent | f827fcd0e0f91b6aca113ec94e09e293f119cba8 (diff) | |
download | samba-9d958ce582fa760456b52d65a2deb36d8bd3794a.tar.gz samba-9d958ce582fa760456b52d65a2deb36d8bd3794a.tar.bz2 samba-9d958ce582fa760456b52d65a2deb36d8bd3794a.zip |
build: make make tests SCREEN=1 work on freebsd
-rwxr-xr-x | selftest/in_screen | 17 | ||||
-rw-r--r-- | selftest/target/Samba4.pm | 7 | ||||
-rw-r--r-- | source4/selftest/wscript | 4 |
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 |