@@ -13,41 +13,32 @@ trap cleanup EXIT
1313function 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
3120while 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
4033while 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
5344new_tests=0
0 commit comments