summaryrefslogtreecommitdiffstats
path: root/src/pmdk/appveyor.yml
blob: c9e9a2953c6c6f9730dd41b195aafa459b4fd250 (plain)
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
version: 1.4.{build}
os: Visual Studio 2019
platform: x64

install:
- ps: Install-PackageProvider -Name NuGet -Force
- ps: Install-Module PsScriptAnalyzer -Force

configuration:
- Debug
- Release

environment:
  solutionname: PMDK.sln
  ex_solutionname: Examples.sln

matrix:
  fast_finish: true

before_build:
- ps: >-
    if ($Env:CONFIGURATION -eq "Release") {
        utils/CSTYLE.ps1
        if ($LASTEXITCODE -ne 0) {
                exit 1
        }
        utils/CHECK_WHITESPACE.ps1
        if ($LASTEXITCODE -ne 0) {
                exit 1
        }
        utils/ps_analyze.ps1
        if ($LASTEXITCODE -ne 0) {
                exit 1
        }
        ./utils/check_sdk_version.py -d .
        if ($LASTEXITCODE -ne 0) {
                exit 1
        }
    }

build_script:
- ps: msbuild src\$Env:solutionname /property:Configuration=$Env:CONFIGURATION /m /v:m
- ps: msbuild src\examples\$Env:ex_solutionname /property:Configuration=$Env:CONFIGURATION /m /v:m

after_build:
- ps: utils/CREATE-ZIP.ps1 -b $Env:CONFIGURATION

test_script:
- ps: >-
    if ($true) {
        cd src\test
        md C:\temp
        echo "`$Env:NON_PMEM_FS_DIR = `"C:\temp`"" >> testconfig.ps1
        echo "`$Env:PMEM_FS_DIR = `"C:\temp`"" >> testconfig.ps1
        echo "`$Env:PMEM_FS_DIR_FORCE_PMEM = `"1`"" >> testconfig.ps1
        echo "`$Env:PMDK_NO_ABORT_MSG = `"1`"" >> testconfig.ps1
        echo "`$Env:TM = `"1`"" >> testconfig.ps1

        write-output "config = {
    'unittest_log_level': 1,
    'cacheline_fs_dir': 'C:\\temp',
    'force_cacheline': True,
    'page_fs_dir': 'C:\\temp',
    'force_page': False,
    'byte_fs_dir': 'C:\\temp',
    'force_byte': True,
    'tm': True,
    'test_type': 'check',
    'granularity': 'all',
    'fs_dir_force_pmem': 1,
    'keep_going': False,
    'timeout': '4m',
    'build': 'debug',
    'force_enable': None,
    'fail_on_skip': False,
    'enable_admin_tests': False,
    }" | out-file "testconfig.py" -encoding utf8

        if ($Env:CONFIGURATION -eq "Debug") {
            ./RUNTESTS.ps1 -b debug -o 4m
            if ($?) {
                ./RUNTESTS.py -b debug
            }
        }
        if ($Env:CONFIGURATION -eq "Release") {
            ./RUNTESTS.ps1 -b nondebug -o 4m
            if ($?) {
                ./RUNTESTS.py -b release
            }
        }
    }

artifacts:
- path: 'src\x64\*.zip'
  name: PMDK