nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 81 lines 3.1 kB view raw
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