about summary refs log tree commit diff
path: root/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh
blob: f19bf9f620febfa302adb7ddf1467cf40cbe789b (plain) (blame)
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
# inherit arguments from derivation
dotnetTestFlags=( ${dotnetTestFlags[@]-} )

dotnetCheckHook() {
    echo "Executing dotnetCheckHook"

    runHook preCheck

    if [ "${disabledTests-}" ]; then
        local -r disabledTestsFlag="--filter @disabledTests@"
    fi

    if [ "${enableParallelBuilding-}" ]; then
        local -r maxCpuFlag="$NIX_BUILD_CORES"
    else
        local -r maxCpuFlag="1"
    fi

    for project in ${testProjectFile[@]-${projectFile[@]}}; do
        runtimeIdFlags=()
        if [[ "$project" == *.csproj ]]; then
            runtimeIdFlags=("--runtime @runtimeId@")
        fi

        LD_LIBRARY_PATH="@libraryPath@" \
            dotnet test "$project" \
              -maxcpucount:$maxCpuFlag \
              -p:ContinuousIntegrationBuild=true \
              -p:Deterministic=true \
              --configuration "@buildType@" \
              --no-build \
              --logger "console;verbosity=normal" \
              ${disabledTestsFlag-} \
              ${runtimeIdFlags[@]} \
              "${dotnetTestFlags[@]}"  \
              "${dotnetFlags[@]}"
    done

    runHook postCheck

    echo "Finished dotnetCheckHook"
}

if [[ -z "${dontDotnetCheck-}" && -z "${checkPhase-}" ]]; then
    checkPhase=dotnetCheckHook
fi