From dd479bd2927a6b470e2b6c6b89ef0e4fdd457d55 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 18 Feb 2012 10:35:24 +1100 Subject: selftest: Fix selftest to check ADS functionalty again This was found by looking over the lcov output on build.samba.org The new have_ads() check also now dies if it cannot run smbd, to avoid this in future. Andrew Bartlett --- selftest/target/Samba3.pm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'selftest/target') diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index e8a03e71dc..269601470e 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -12,15 +12,17 @@ use POSIX; use target::Samba; sub have_ads($) { - my ($self); + my ($self) = @_; my $found_ads = 0; - my $smbd_build_options = Samba::bindir_path($self, "smbd") . " -b"; - my @build_options = `$smbd_build_options`; - foreach my $option (@build_options) { - if ($option =~ "WITH_ADS") { - $found_ads = 1; - } - } + my $smbd_build_options = Samba::bindir_path($self, "smbd") . " -b|"; + open(IN, $smbd_build_options) or die("Unable to run $smbd_build_options: $!"); + + while () { + if (/WITH_ADS/) { + $found_ads = 1; + } + } + close IN; # If we were not built with ADS support, pretend we were never even available return $found_ads; -- cgit