nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1dotnetCheckHook() {
2 echo "Executing dotnetCheckHook"
3
4 runHook preCheck
5
6 local -r dotnetBuildType="${dotnetBuildType-Release}"
7
8 if [[ -n $__structuredAttrs ]]; then
9 local dotnetProjectFilesArray=( "${dotnetProjectFiles[@]}" )
10 local dotnetTestProjectFilesArray=( "${dotnetTestProjectFiles[@]}" )
11 local dotnetTestFlagsArray=( "${dotnetTestFlags[@]}" )
12 local dotnetTestFiltersArray=( "${dotnetTestFilters[@]}" )
13 local dotnetDisabledTestsArray=( "${dotnetDisabledTests[@]}" )
14 local dotnetRuntimeDepsArray=( "${dotnetRuntimeDeps[@]}" )
15 local dotnetRuntimeIdsArray=( "${dotnetRuntimeIds[@]}" )
16 else
17 local dotnetProjectFilesArray=($dotnetProjectFiles)
18 local dotnetTestProjectFilesArray=($dotnetTestProjectFiles)
19 local dotnetTestFlagsArray=($dotnetTestFlags)
20 local dotnetTestFiltersArray=($dotnetTestFilters)
21 local dotnetDisabledTestsArray=($dotnetDisabledTests)
22 local dotnetRuntimeDepsArray=($dotnetRuntimeDeps)
23 local dotnetRuntimeIdsArray=($dotnetRuntimeIds)
24 fi
25
26 if (( ${#dotnetDisabledTestsArray[@]} > 0 )); then
27 local disabledTestsFilters=("${dotnetDisabledTestsArray[@]/#/FullyQualifiedName!=}")
28 dotnetTestFiltersArray=( "${dotnetTestFiltersArray[@]}" "${disabledTestsFilters[@]//,/%2C}" )
29 fi
30
31 if (( ${#dotnetTestFiltersArray[@]} > 0 )); then
32 local OLDIFS="$IFS" IFS='&'
33 dotnetTestFlagsArray+=("--filter:${dotnetTestFiltersArray[*]}")
34 IFS="$OLDIFS"
35 fi
36
37 local libraryPath="${LD_LIBRARY_PATH-}"
38 if (( ${#dotnetRuntimeDepsArray[@]} > 0 )); then
39 local libraryPathArray=("${dotnetRuntimeDepsArray[@]/%//lib}")
40 local OLDIFS="$IFS" IFS=':'
41 libraryPath="${libraryPathArray[*]}${libraryPath:+':'}$libraryPath"
42 IFS="$OLDIFS"
43 fi
44
45 if [[ -n ${enableParallelBuilding-} ]]; then
46 local -r maxCpuFlag="$NIX_BUILD_CORES"
47 else
48 local -r maxCpuFlag="1"
49 fi
50
51 local projectFile runtimeId
52 for projectFile in "${dotnetTestProjectFilesArray[@]-${dotnetProjectFilesArray[@]}}"; do
53 for runtimeId in "${dotnetRuntimeIdsArray[@]}"; do
54 local runtimeIdFlagsArray=()
55 if [[ $projectFile == *.csproj ]]; then
56 runtimeIdFlagsArray=("--runtime" "$runtimeId")
57 fi
58
59 LD_LIBRARY_PATH=$libraryPath \
60 dotnet test "$projectFile" \
61 -maxcpucount:"$maxCpuFlag" \
62 -p:ContinuousIntegrationBuild=true \
63 -p:Deterministic=true \
64 --configuration "$dotnetBuildType" \
65 --no-restore \
66 --no-build \
67 --logger "console;verbosity=normal" \
68 "${runtimeIdFlagsArray[@]}" \
69 "${dotnetTestFlagsArray[@]}" \
70 "${dotnetFlagsArray[@]}"
71 done
72 done
73
74 runHook postCheck
75
76 echo "Finished dotnetCheckHook"
77}
78
79if [[ -z "${dontDotnetCheck-}" && -z "${checkPhase-}" ]]; then
80 checkPhase=dotnetCheckHook
81fi