mirror of
https://github.com/wnlen/clash-for-linux.git
synced 2026-10-10 20:23:04 +08:00
42 lines
1.5 KiB
Bash
42 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
|
|
assert_contains() {
|
|
local name="$1"
|
|
local file="$2"
|
|
local pattern="$3"
|
|
|
|
if ! grep -Fq "$pattern" "$file"; then
|
|
echo "not ok - $name: missing '$pattern' in $file" >&2
|
|
return 1
|
|
fi
|
|
|
|
echo "ok - $name"
|
|
}
|
|
|
|
assert_not_contains() {
|
|
local name="$1"
|
|
local file="$2"
|
|
local pattern="$3"
|
|
|
|
if grep -Fq "$pattern" "$file"; then
|
|
echo "not ok - $name: unexpected '$pattern' in $file" >&2
|
|
return 1
|
|
fi
|
|
|
|
echo "ok - $name"
|
|
}
|
|
|
|
assert_contains "system service uses simple foreground process" "$PROJECT_DIR/scripts/init/systemd.sh" "Type=simple"
|
|
assert_contains "system service starts run-direct" "$PROJECT_DIR/scripts/init/systemd.sh" "ExecStart=/usr/local/bin/clashctl run-direct"
|
|
assert_not_contains "system service no longer uses forking" "$PROJECT_DIR/scripts/init/systemd.sh" "Type=forking"
|
|
assert_not_contains "system service no longer relies on PIDFile" "$PROJECT_DIR/scripts/init/systemd.sh" "PIDFile="
|
|
|
|
assert_contains "user service uses simple foreground process" "$PROJECT_DIR/scripts/init/systemd-user.sh" "Type=simple"
|
|
assert_contains "user service starts run-direct" "$PROJECT_DIR/scripts/init/systemd-user.sh" "clashctl run-direct"
|
|
assert_not_contains "user service no longer uses forking" "$PROJECT_DIR/scripts/init/systemd-user.sh" "Type=forking"
|
|
assert_not_contains "user service no longer relies on PIDFile" "$PROJECT_DIR/scripts/init/systemd-user.sh" "PIDFile="
|