summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/stop_broker.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/tests/stop_broker.ps1')
-rw-r--r--qpid/cpp/src/tests/stop_broker.ps117
1 files changed, 16 insertions, 1 deletions
diff --git a/qpid/cpp/src/tests/stop_broker.ps1 b/qpid/cpp/src/tests/stop_broker.ps1
index 165c7a63b0..4fdeb26e2b 100644
--- a/qpid/cpp/src/tests/stop_broker.ps1
+++ b/qpid/cpp/src/tests/stop_broker.ps1
@@ -21,8 +21,23 @@
Get-Content -path qpidd.port -totalCount 1 | Set-Variable -name qpid_port
Remove-Item qpidd.port
+# Test runs from the tests directory but the broker executable is one level
+# up, and most likely in a subdirectory from there based on what build type.
+# Look around for it before trying to start it.
+$subs = "Debug","Release","MinSizeRel","RelWithDebInfo"
+foreach ($sub in $subs) {
+ $prog = "..\$sub\qpidd.exe"
+ if (Test-Path $prog) {
+ break
+ }
+}
+if (!(Test-Path $prog)) {
+ "Cannot locate qpidd.exe"
+ exit 1
+}
+
# Piping the output makes the script wait for qpidd to finish.
-..\Debug\qpidd --quit --port $qpid_port | Write-Output
+Invoke-Expression "$prog --quit --port $qpid_port" | Write-Output
$stopped = $?
# Check qpidd.log.