-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathappveyor.yml
More file actions
120 lines (89 loc) · 3.49 KB
/
appveyor.yml
File metadata and controls
120 lines (89 loc) · 3.49 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Operating system (build VM template)
os:
- Visual Studio 2015
- Visual Studio 2017
# build platform, i.e. Win32 (instead of x86), x64, Any CPU. This setting is optional.
# platform:
# - Win32
# - x64
# scripts that are called at very beginning, before repo cloning
init:
- git config --global core.autocrlf input
# clone directory
clone_folder: C:\projects\primer
# fetch repository as zip archive
shallow_clone: true # default is "false"
branches:
only:
- master
build: off
environment:
BOOST_VER: "boost_1_60_0"
BOOST_URL: "https://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.zip"
cache:
- C:\projects\boost_1_60_0.zip
install:
- ps: >-
If($true) {
Add-Type -assembly "system.io.compression.filesystem"
$boost_path = "C:\projects\" + $env:BOOST_VER
$boost_zip = $boost_path + ".zip"
If(Test-Path $boost_zip) {
Write-Host "Found cached boost"
} Else {
Write-Host "Downloading boost..."
(new-object net.webclient).DownloadFile($env:BOOST_URL, $boost_zip)
}
Write-Host "Extracting boost..."
[io.compression.zipfile]::ExtractToDirectory($boost_zip, "C:\projects\")
Set-Location $boost_path
Write-Host "Bootstrapping..."
& ".\bootstrap.bat"
$env:BOOST_ROOT = $boost_path
$env:Path += ";" + $boost_path + ";"
$env:LUA_ROOT = "lua-5.3.3"
Set-Location "C:\projects\primer\test"
Write-Host "Building test executables"
& b2 --toolset=msvc --variant=debug --no-static-asserts --debug-symbols=on --debug-store=database -d+2
Write-Host "Attempting to copy the symbol files for test executables"
cmd /r dir
cmd /r dir bin\
cmd /r dir bin\msvc-14.0\
cmd /r dir bin\msvc-14.0\debug\
cmd /r dir bin\msvc-14.0\debug\threading-multi
cmd /r copy /Y bin\msvc-14.0\debug\threading-multi\*.pdb stage\
}
# Note: static asserts are disabled because in MSVC 2015, standard containers are not
# noexcept correct unfortunately.
# TODO: What is the right cdb path?
# $SymPath = "srv;C:\Windows\Symbols;C:\projects\primer\test\stage;http://msdl.microsoft.com/download/symbols"
test_script:
- ps: >-
If($true) {
Write-Host ""
Write-Host "Running " + $env:LUA_ROOT + " unit tests"
Set-Location "C:\projects\primer\test\lua-5.3.3-tests"
../stage_lua/lua.exe -e "_port=true" all.lua
Set-Location "C:\projects\primer\test\stage_lua"
If(Test-Path ./persist.exe) {
Write-Host ""
Write-Host "Running eris unit tests"
./persist.exe persist.lua test.eris
./unpersist.exe unpersist.lua test.eris
}
Write-Host ""
Write-Host "Running primer test executables.."
Set-Location "C:\projects\primer\test"
$env:Path += ";C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x86\;"
$env:Path += ";C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\;"
$SymPath = "C:\projects\primer\test\stage;SRV*c:\symbols*http://msdl.microsoft.com/download/symbols"
cmd /r mkdir c:\symbols
$files = Get-ChildItem C:\projects\primer\test\stage\*.exe
ForEach($file in $files) {
Write-Host ""
Write-Host $file.fullName " ... "
$file.fullName
Write-Host "Exit code: " $lastExitCode
}
}
# cdb -y $SymPath -c "|;g;kv;q" -o $file.fullName