fs_mgr: overlayfs test fix adb_sh
Some commands like 'adb_sh grep " rw," /proc/mounts' do not preserve the embedded spaces when transferred to the device and thus do not entirely behave as expected. There are several commands issued this way throughout the test that are similarly broken. To add consistency, pass any arguments that are not explicitly (double) quoted and contain embedded spaces as quoted to preserve. Also devices that report the kernel internal device /dev/root in /proc/mounts should be suppressed when investigating whether overlayfs is needed. If /dev/root is reported, then we should assume that the mount point / represents it for the following df command when trying to determine if the partition is right-sized. When there is only one device attached, and a serial number is not specified, correctly determine this condition to progress to the testing. Test: adb_remount_test.sh Bug: 122231184 Change-Id: I913e297dd272d6691110bb5d7a7c7f54321b6833
This commit is contained in:
parent
789d905b50
commit
b3c0074917
1 changed files with 19 additions and 5 deletions
|
|
@ -49,7 +49,7 @@ inFastboot() {
|
|||
Returns: true if device is in adb mode" ]
|
||||
inAdb() {
|
||||
adb devices |
|
||||
grep -v 'List of devices attached' |
|
||||
grep -v -e 'List of devices attached' -e '^$' |
|
||||
if [ -n "${ANDROID_SERIAL}" ]; then
|
||||
grep "^${ANDROID_SERIAL}[${SPACE}${TAB}]" > /dev/null
|
||||
else
|
||||
|
|
@ -61,7 +61,17 @@ inAdb() {
|
|||
|
||||
Returns: true if the command succeeded" ]
|
||||
adb_sh() {
|
||||
adb shell "${@}"
|
||||
args=
|
||||
for i in ${@}; do
|
||||
if [ X"${i}" != X"${i#\'}" ]; then
|
||||
args="${args} ${i}"
|
||||
elif [ X"${i}" != X"${i#* }" ]; then
|
||||
args="${args} '${i}'"
|
||||
else
|
||||
args="${args} ${i}"
|
||||
fi
|
||||
done
|
||||
adb shell ${args}
|
||||
}
|
||||
|
||||
[ "USAGE: adb_date >/dev/stdout
|
||||
|
|
@ -92,7 +102,7 @@ get_property() {
|
|||
|
||||
Returns: true if device is (likely) a debug build" ]
|
||||
isDebuggable() {
|
||||
if inAdb && [ 1 -ne "`get_property ro.debuggable`" ]; then
|
||||
if inAdb && [ 1 != "`get_property ro.debuggable`" ]; then
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
|
@ -363,8 +373,12 @@ D=`adb_sh df -k </dev/null` &&
|
|||
echo "${GREEN}[ OK ]${NORMAL} no overlay present before setup" >&2
|
||||
overlayfs_needed=true
|
||||
D=`adb_sh cat /proc/mounts </dev/null |
|
||||
skip_administrative_mounts data |
|
||||
cut -s -d' ' -f1`
|
||||
skip_administrative_mounts data`
|
||||
if echo "${D}" | grep /dev/root >/dev/null; then
|
||||
D=`echo / /
|
||||
echo "${D}" | grep -v /dev/root`
|
||||
fi
|
||||
D=`echo "${D}" | cut -s -d' ' -f1`
|
||||
D=`adb_sh df -k ${D} </dev/null`
|
||||
echo "${D}"
|
||||
if [ X"${D}" = X"${D##* 100[%] }" ]; then
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue