Skip to content

Commit ea3b8b1

Browse files
Merged PR 7672902: Create and test against simple SymCrypt Windows test module (dll)
+ Builds in both CMake and Razzle, and test in CI pipeline Related work items: #38706387
1 parent d1d4572 commit ea3b8b1

File tree

11 files changed

+803
-15
lines changed

11 files changed

+803
-15
lines changed

azure-build-template.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,15 @@ steps:
101101
- ${{ if ne(parameters.env, 'Generic') }}:
102102
- script: |
103103
cd bin\exe\${{parameters.arch}}\${{parameters.env}}\${{parameters.buildType}}
104-
.\symcryptunittest.exe
105-
displayName: 'Execute unit tests'
104+
.\symcryptunittest.exe dynamic:symcrypttestmodule.dll
105+
displayName: 'Execute unit tests with SymCrypt test module'
106106
name: '${{parameters.env}}UnitTest_${{parameters.buildType}}'
107107
# Execute Generic unit tests in CI and in PRs to publish
108108
- ${{ if eq(parameters.env, 'Generic') }}:
109109
- script: |
110110
cd bin\exe\%PROCESSOR_ARCHITECTURE%\${{parameters.env}}\${{parameters.buildType}}
111-
.\symcryptunittest.exe
112-
displayName: 'Execute unit tests'
111+
.\symcryptunittest.exe dynamic:symcrypttestmodule.dll
112+
displayName: 'Execute unit tests with SymCrypt test module'
113113
name: '${{parameters.env}}UnitTest_${{parameters.buildType}}'
114114
condition: or(eq(variables['System.PullRequest.TargetBranch'], 'refs/heads/publish'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'))
115115
- ${{ if eq(parameters.hostos, 'Linux') }}:

azure-pipelines.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ jobs:
7777
cxx: cl
7878
buildType: Debug
7979
additionalCMakeArgs: -DSYMCRYPT_INTERNAL_BUILD=1 -A Win32
80+
timeoutInMinutes: 90
8081

8182
- job: Windows_x86_Release
8283
pool:
@@ -91,6 +92,7 @@ jobs:
9192
cxx: cl
9293
buildType: Release
9394
additionalCMakeArgs: -DSYMCRYPT_INTERNAL_BUILD=1 -A Win32
95+
timeoutInMinutes: 90
9496

9597
- job: Linux_AMD64_gcc_Debug
9698
pool:
@@ -219,6 +221,7 @@ jobs:
219221
cxx: cl
220222
buildType: Release
221223
additionalCMakeArgs:
224+
timeoutInMinutes: 120
222225

223226
- job: Generic_Windows_Win32_Release
224227
pool:
@@ -233,6 +236,7 @@ jobs:
233236
cxx: cl
234237
buildType: Release
235238
additionalCMakeArgs: -A Win32
239+
timeoutInMinutes: 120
236240

237241
- job: Generic_Linux_gcc_Release
238242
pool:
@@ -247,6 +251,7 @@ jobs:
247251
cxx: g++
248252
buildType: Release
249253
additionalCMakeArgs:
254+
timeoutInMinutes: 120
250255

251256
- job: Generic_Linux_clang_Release
252257
pool:
@@ -261,3 +266,4 @@ jobs:
261266
cxx: clang++
262267
buildType: Release
263268
additionalCMakeArgs:
269+
timeoutInMinutes: 120

scbuild/scbuild.cs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -609,14 +609,17 @@ public void CopySymCryptToRelaseDir( string arch )
609609
CopyFile(testFileName2 + ".exe", @"release\lib\" + arch + @"\symcryptunittest_win7nlater.exe");
610610
CopyFile(testFileName2 + ".pdb", @"release\lib\" + arch + @"\symcryptunittest_win7nlater.pdb");
611611

612-
string testFileName4 = object_root + @"\symcrypt\unittest\exe_win8_1nlater\" + objDirName(arch) + "symcryptunittest_win8_1nlater";
613-
CopyFile(testFileName4 + ".exe", @"release\lib\" + arch + @"\symcryptunittest_win8_1nlater.exe");
614-
CopyFile(testFileName4 + ".pdb", @"release\lib\" + arch + @"\symcryptunittest_win8_1nlater.pdb");
612+
string testFileName3 = object_root + @"\symcrypt\unittest\exe_win8_1nlater\" + objDirName(arch) + "symcryptunittest_win8_1nlater";
613+
CopyFile(testFileName3 + ".exe", @"release\lib\" + arch + @"\symcryptunittest_win8_1nlater.exe");
614+
CopyFile(testFileName3 + ".pdb", @"release\lib\" + arch + @"\symcryptunittest_win8_1nlater.pdb");
615615

616-
string testFileName3 = object_root + @"\symcrypt\unittest\exe_legacy\" + objDirName(arch) + "symcryptunittest_legacy";
617-
CopyFile(testFileName3 + ".exe", @"release\lib\" + arch + @"\symcryptunittest_legacy.exe");
618-
CopyFile(testFileName3 + ".pdb", @"release\lib\" + arch + @"\symcryptunittest_legacy.pdb");
616+
string testFileName4 = object_root + @"\symcrypt\unittest\exe_legacy\" + objDirName(arch) + "symcryptunittest_legacy";
617+
CopyFile(testFileName4 + ".exe", @"release\lib\" + arch + @"\symcryptunittest_legacy.exe");
618+
CopyFile(testFileName4 + ".pdb", @"release\lib\" + arch + @"\symcryptunittest_legacy.pdb");
619619

620+
string testFileName5 = object_root + @"\symcrypt\unittest\module_windows\" + objDirName(arch) + "symcrypttestmodule";
621+
CopyFile(testFileName5 + ".dll", @"release\lib\" + arch + @"\symcrypttestmodule.dll");
622+
CopyFile(testFileName5 + ".pdb", @"release\lib\" + arch + @"\symcrypttestmodule.pdb");
620623
}
621624

622625
public string objDirName( string arch )

unittest/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ if(WIN32)
9090
add_subdirectory(exe_legacy)
9191
add_subdirectory(exe_Win7nlater)
9292
add_subdirectory(exe_Win8_1nLater)
93+
add_subdirectory(module_windows)
9394
else()
9495
add_subdirectory(exe_linux)
9596
endif()

unittest/dirs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@ DIRS = \
44
exe_Win7nLater \
55
exe_Win8_1nLater \
66
exe_legacy \
7+
module_windows \
78
sys_test \
89
sys_Win7nLater \
910
sys_legacy \
10-
11-
12-
13-
14-
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
set(SOURCES
2+
module.cpp
3+
exports.def
4+
)
5+
6+
add_compile_options(-DINCLUDE_IMPL_MSBIGNUM=0)
7+
add_compile_options(-DINCLUDE_IMPL_RSA32=0)
8+
9+
add_library(symcrypttestmodule SHARED ${SOURCES})
10+
11+
target_link_libraries(symcrypttestmodule symcrypt_common symcrypt_usermodewin8_1 bcrypt)

0 commit comments

Comments
 (0)