1
0
mirror of https://github.com/tw93/Mole.git synced 2026-03-22 21:20:09 +00:00

fix(tests): prevent permission dialogs during test runs

Add MOLE_TEST_MODE=1 checks to skip AppleScript osascript calls
and sudo operations that trigger system permission dialogs during tests:

- lib/check/all.sh: Skip login items listing
- lib/clean/apps.sh: Skip running app detection
- lib/clean/user.sh: Skip Finder trash operations and sudo test calls
- lib/core/log.sh: Skip sudo status check in debug log
- lib/uninstall/batch.sh: Skip login item removal

Also add MOLE_TEST_MODE=1 export to all test files that load
these modules to ensure consistent test isolation.
This commit is contained in:
Tw93
2026-03-16 20:43:35 +08:00
parent 0cc4862f9c
commit ea4cd9d0e3
13 changed files with 91 additions and 29 deletions

View File

@@ -9,6 +9,10 @@ setup_file() {
HOME="$(mktemp -d "${BATS_TEST_DIRNAME}/tmp-brew-uninstall-home.XXXXXX")"
export HOME
# Prevent AppleScript permission dialogs during tests
MOLE_TEST_MODE=1
export MOLE_TEST_MODE
}
teardown_file() {

View File

@@ -10,6 +10,10 @@ setup_file() {
HOME="$(mktemp -d "${BATS_TEST_DIRNAME}/tmp-app-caches.XXXXXX")"
export HOME
# Prevent AppleScript permission dialogs during tests
MOLE_TEST_MODE=1
export MOLE_TEST_MODE
mkdir -p "$HOME"
}

View File

@@ -10,6 +10,10 @@ setup_file() {
HOME="$(mktemp -d "${BATS_TEST_DIRNAME}/tmp-apps-module.XXXXXX")"
export HOME
# Prevent AppleScript permission dialogs during tests
MOLE_TEST_MODE=1
export MOLE_TEST_MODE
mkdir -p "$HOME"
}

View File

@@ -10,6 +10,10 @@ setup_file() {
HOME="$(mktemp -d "${BATS_TEST_DIRNAME}/tmp-browser-cleanup.XXXXXX")"
export HOME
# Prevent AppleScript permission dialogs during tests
MOLE_TEST_MODE=1
export MOLE_TEST_MODE
mkdir -p "$HOME"
}

View File

@@ -10,6 +10,10 @@ setup_file() {
HOME="$(mktemp -d "${BATS_TEST_DIRNAME}/tmp-clean-home.XXXXXX")"
export HOME
# Prevent AppleScript permission dialogs during tests
MOLE_TEST_MODE=1
export MOLE_TEST_MODE
mkdir -p "$HOME"
}

View File

@@ -10,6 +10,10 @@ setup_file() {
HOME="$(mktemp -d "${BATS_TEST_DIRNAME}/tmp-clean-extras.XXXXXX")"
export HOME
# Prevent AppleScript permission dialogs during tests
MOLE_TEST_MODE=1
export MOLE_TEST_MODE
mkdir -p "$HOME"
}

View File

@@ -10,6 +10,10 @@ setup_file() {
HOME="$(mktemp -d "${BATS_TEST_DIRNAME}/tmp-system-clean.XXXXXX")"
export HOME
# Prevent AppleScript permission dialogs during tests
MOLE_TEST_MODE=1
export MOLE_TEST_MODE
mkdir -p "$HOME"
}

View File

@@ -10,6 +10,10 @@ setup_file() {
HOME="$(mktemp -d "${BATS_TEST_DIRNAME}/tmp-user-core.XXXXXX")"
export HOME
# Prevent AppleScript permission dialogs during tests
MOLE_TEST_MODE=1
export MOLE_TEST_MODE
mkdir -p "$HOME"
}