forked from arangodb/arangodb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
unittest.ps1
52 lines (48 loc) · 1.59 KB
/
unittest.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
function Get-Build-Path {
for ($idx = 0; $idx -lt $args.count; $idx++) {
if ($args -eq "--build") {
return $args[$idx + 1]
}
}
}
$EXT = ".exe"
$EXEC_PATH = Split-Path -Path $PSScriptRoot
$BUILD_DIR_PARAM = Get-Build-Path @args
$env:PORT = 1024 + $(Get-Random -Maximum 1024)
if ($null -eq $env:ARANGOSH) {
if ($null -ne $BUILD_DIR_PARAM -And $(Test-Path -Path "$BUILD_DIR_PARAM/bin/arangosh$EXT" -PathType Leaf)) {
$ARANGOSH = "$BUILD_DIR_PARAM/bin/arangosh$EXT"
} elseif (Test-Path -Path "build/bin/RelWithDebInfo/arangosh$EXT" -PathType Leaf) {
$ARANGOSH = "build/bin/RelWithDebInfo/arangosh$EXT"
} elseif (Test-Path -Path "build/bin/arangosh$EXT" -PathType Leaf) {
$ARANGOSH = "build/bin/arangosh$EXT"
} elseif (Test-Path -Path "bin/arangosh$EXT" -PathType Leaf) {
$ARANGOSH = "bin/arangosh$EXT"
} elseif (Test-Path -Path "arangosh$EXT" -PathType Leaf) {
$ARANGOSH = "arangosh$EXT"
} else {
$ARANGOSH = Get-ChildItem -Path $EXEC_PATH -Name arangosh.exe -Recurse
if ($null -eq $ARANGOSH) {
Write-Error "Cannot locate arangosh.exe!"
Exit 1
}
if ($ARANGOSH -is [array]) {
$ARANGOSH = $ARANGOSH[0]
}
Write-Warning "WARNING: Using guessed arangosh location $ARANGOSH"
}
} else {
$ARANGOSH = $env:ARANGOSH
}
$arguments = @(
"-c etc/testing/arangosh.conf",
"--log.level warning",
"--server.endpoint none",
"--javascript.execute js/client/modules/@arangodb/testutils/unittest.js"
)
Start-Process `
-FilePath "$ARANGOSH" `
-WorkingDirectory "$EXEC_PATH" `
-ArgumentList "$arguments -- $args" `
-NoNewWindow `
-Wait