Skip to content

Commit aa9c104

Browse files
committed
STASH Script fixed for macOS - TODO testing on Unix and Windows
1 parent d3748f5 commit aa9c104

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

scripts/androidScreenshotTest

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,20 @@ if [ $# -lt 2 ]; then
4040
exit
4141
fi
4242

43+
# Detect portable sed -i usage (GNU sed supports -i, BSD/macOS sed requires -i '')
44+
if sed --version >/dev/null 2>&1 ; then
45+
SED_INPLACE=(-i)
46+
else
47+
SED_INPLACE=(-i '')
48+
fi
49+
4350
pushd app/src/androidTest/java
4451

45-
class=$(find | grep $2 | grep -E "java$|kt$" | head -n1|sed s'/\//\./'g | sed s'#^\.\.##' | sed s'#\.java##'| sed s'#\.kt##')
52+
# Use explicit path for find for macOS/BSD compatibility and get the first matching java/kt file
53+
class_file=$(find . -type f \( -name "*.java" -o -name "*.kt" \) -print 2>/dev/null | grep "$2" | grep -E "java$|kt$" | head -n1)
54+
55+
# convert found path to FQCN (remove leading ./, convert / to . and strip extension)
56+
class=$(echo "$class_file" | sed 's#^\./##' | sed 's#/#.#g' | sed 's#\.java##'| sed 's#\.kt##')
4657

4758
if [[ -z $class ]]; then
4859
echo "Class not found!"
@@ -62,8 +73,8 @@ if [ -e $3 ] ; then
6273
else
6374
method="#$3"
6475

65-
# check if method exists
66-
if [[ $(grep -c $3 $(find | grep $2 | grep -E "java$|kt$" | head -n1)) -eq 0 ]]; then
76+
# check if method exists in the previously found file
77+
if [[ $(grep -c "$3" "$class_file") -eq 0 ]]; then
6778
echo "Method not found!"
6879
exit 1
6980
fi
@@ -76,7 +87,7 @@ else
7687
fi
7788

7889
popd
79-
sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g app/src/main/res/values/setup.xml
90+
sed "${SED_INPLACE[@]}" s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g app/src/main/res/values/setup.xml
8091

8192
# check if emulator is running
8293
emulatorIsRunning=false
@@ -100,7 +111,7 @@ if [ "$emulatorIsRunning" == false ] ; then
100111
# If emulator of expected name doesn't exist, create it
101112
# TODO - this was copied from updateScreenshots.sh - move it to a common helper script
102113
if [[ $(emulator -list-avds | grep uiComparison -c) -eq 0 ]]; then
103-
(sleep 5; echo "no") | avdmanager create avd -n uiComparison -c 100M -k "system-images;android-28;google_apis;x86" --abi "google_apis/x86"
114+
(sleep 5; echo "no") | avdmanager create avd -n uiComparison -c 100M -k "system-images;android-28;google_apis;arm64-v8a" --abi "google_apis/arm64-v8a"
104115
fi
105116

106117
"$(command -v emulator)" -writable-system -avd uiComparison -no-snapshot -gpu swiftshader_indirect -no-audio -skin 500x833 &
@@ -126,5 +137,5 @@ else
126137
fi
127138

128139

129-
sed -i s'#<bool name="is_beta">true</bool>#<bool name="is_beta">false</bool>#'g app/src/main/res/values/setup.xml
140+
sed "${SED_INPLACE[@]}" s'#<bool name="is_beta">true</bool>#<bool name="is_beta">false</bool>#'g app/src/main/res/values/setup.xml
130141
unset ANDROID_SERIAL

0 commit comments

Comments
 (0)