Skip to content

Commit 30c4762

Browse files
fix: tests
1 parent 9f843cf commit 30c4762

File tree

1 file changed

+15
-24
lines changed

1 file changed

+15
-24
lines changed

.github/scripts/test-analyzer.sh

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,41 +13,32 @@ trap cleanup EXIT
1313
function extract_tests() {
1414
local file=$1
1515
# Look for test declarations and extract just the test name between quotes
16-
perl -ne 'if (/^\s*test\(['\''"](.+?)['\''"]/) { print "$1|'$file'\n" }' "$file" 2>/dev/null
16+
perl -ne 'if (/^\s*test\(['\''"](.+?)['\''"]/) { print "$1|'$file'\n" }' "$file" 2>/dev/null || true
1717
}
1818

19-
# Save current state
20-
if [ -n "$(git status --porcelain)" ]; then
21-
git config --global user.email "github-actions[bot]@users.noreply.github.com"
22-
git config --global user.name "github-actions[bot]"
23-
git add .
24-
git commit -m "temp: Save changes before test analysis" >/dev/null 2>&1
25-
need_restore=true
26-
else
27-
need_restore=false
28-
fi
29-
3019
# Extract current branch tests
3120
while IFS= read -r file; do
32-
extract_tests "$file"
33-
done < <(find tests/suites -type f -name "*.test.ts") | sort > "$current_tests_file"
21+
extract_tests "$file" || true
22+
done < <(find tests/suites -type f -name "*.test.ts" || true) | sort > "$current_tests_file"
23+
24+
# Save current branch name
25+
current_branch=$(git rev-parse --abbrev-ref HEAD || echo "unknown")
3426

35-
# Switch to main branch
36-
git fetch origin main:main >/dev/null 2>&1
37-
git checkout main >/dev/null 2>&1
27+
# Create temporary clone for main branch comparison
28+
temp_dir=$(mktemp -d)
29+
git clone --quiet --branch main --single-branch . "$temp_dir"
3830

3931
# Extract main branch tests
32+
pushd "$temp_dir" >/dev/null
4033
while IFS= read -r file; do
4134
if [ -f "$file" ]; then
42-
extract_tests "$file"
35+
extract_tests "$file" || true
4336
fi
44-
done < <(find tests/suites -type f -name "*.test.ts") | sort > "$base_tests_file"
37+
done < <(find tests/suites -type f -name "*.test.ts" || true) | sort > "$base_tests_file"
38+
popd >/dev/null
4539

46-
# Return to original branch and restore changes if needed
47-
git checkout - >/dev/null 2>&1
48-
if [ "$need_restore" = true ]; then
49-
git reset --soft HEAD^ >/dev/null 2>&1
50-
fi
40+
# Cleanup temp directory
41+
rm -rf "$temp_dir"
5142

5243
# Compare and collect results
5344
new_tests=0

0 commit comments

Comments
 (0)