summary refs log tree commit diff
path: root/pkgs/development/interpreters/python/hooks/unittest-check-hook.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters/python/hooks/unittest-check-hook.sh')
-rw-r--r--pkgs/development/interpreters/python/hooks/unittest-check-hook.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/python/hooks/unittest-check-hook.sh b/pkgs/development/interpreters/python/hooks/unittest-check-hook.sh
new file mode 100644
index 00000000000..3485fcc7945
--- /dev/null
+++ b/pkgs/development/interpreters/python/hooks/unittest-check-hook.sh
@@ -0,0 +1,29 @@
+# Setup hook for unittest.
+echo "Sourcing unittest-check-hook"
+
+unittestCheckPhase() {
+    echo "Executing unittestCheckPhase"
+    runHook preCheck
+
+    eval "@pythonCheckInterpreter@ -m unittest discover $unittestFlagsArray"
+
+    runHook postCheck
+    echo "Finished executing unittestCheckPhase"
+}
+
+if [ -z "${dontUseUnittestCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
+    echo "Using unittestCheckPhase"
+    preDistPhases+=" unittestCheckPhase"
+
+    # It's almost always the case that setuptoolsCheckPhase should not be ran
+    # when the unittestCheckHook is being ran
+    if [ -z "${useSetuptoolsCheck-}" ]; then
+        dontUseSetuptoolsCheck=1
+
+        # Remove command if already injected into preDistPhases
+        if [[ "$preDistPhases" =~ "setuptoolsCheckPhase" ]]; then
+            echo "Removing setuptoolsCheckPhase"
+            preDistPhases=${preDistPhases/setuptoolsCheckPhase/}
+        fi
+    fi
+fi