From: Andrew Bartlett Date: Fri, 17 Feb 2012 23:35:24 +0000 (+1100) Subject: selftest: Fix selftest to check ADS functionalty again X-Git-Tag: samba-4.0.0alpha18~96 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dd479bd2927a6b470e2b6c6b89ef0e4fdd457d55;p=thirdparty%2Fsamba.git 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 --- diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index e8a03e71dc1..269601470ed 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;