Add tests scripts
This commit is contained in:
parent
6cbc5060ef
commit
ac899df85d
2
tests/blacklist
Normal file
2
tests/blacklist
Normal file
|
@ -0,0 +1,2 @@
|
|||
config_useRoundIcon
|
||||
config_swipe_up_gesture_setting_available
|
87
tests/knownKeys
Normal file
87
tests/knownKeys
Normal file
|
@ -0,0 +1,87 @@
|
|||
config_allowAllRotations
|
||||
config_allowAutoBrightnessWhileDozing
|
||||
config_autoBrightnessAdjustmentMaxGamma
|
||||
config_autoBrightnessBrighteningLightDebounce
|
||||
config_autoBrightnessButtonBacklightValues
|
||||
config_autoBrightnessDarkeningLightDebounce
|
||||
config_autoBrightnessInitialLightSensorRate
|
||||
config_autoBrightnessLcdBacklightValues
|
||||
config_autoBrightnessLevels
|
||||
config_autoBrightnessLightSensorRate
|
||||
config_autoBrightnessResetAmbientLuxAfterWarmUp
|
||||
config_autoPowerModeAnyMotionSensor
|
||||
config_auto_attach_data_on_creation
|
||||
config_automatic_brightness_available
|
||||
config_bluetooth_hfp_inband_ringing_support
|
||||
config_bluetooth_idle_cur_ma
|
||||
config_bluetooth_le_peripheral_mode_supported
|
||||
config_bluetooth_operating_voltage_mv
|
||||
config_bluetooth_rx_cur_ma
|
||||
config_bluetooth_tx_cur_ma
|
||||
config_brightness_ramp_rate_fast
|
||||
config_brightness_ramp_rate_slow
|
||||
config_cameraDoubleTapPowerGestureEnabled
|
||||
config_cameraLaunchGestureSensorStringType
|
||||
config_cameraLaunchGestureSensorType
|
||||
config_carrier_volte_available
|
||||
config_carrier_wfc_ims_available
|
||||
config_cellBroadcastAppLinks
|
||||
config_defaultPinnerServiceFiles
|
||||
config_device_volte_available
|
||||
config_device_vt_available
|
||||
config_device_wfc_ims_available
|
||||
config_displayBlanksAfterDoze
|
||||
config_doublePressOnPowerBehavior
|
||||
config_dozeAfterScreenOffByDefault
|
||||
config_dozeAlwaysOnDisplayAvailable
|
||||
config_dozeComponent
|
||||
config_dynamic_bind_ims
|
||||
config_enableAutoPowerModes
|
||||
config_enableMultiUserUI
|
||||
config_gpsParameters
|
||||
config_hotswapCapable
|
||||
config_ims_package
|
||||
config_intrusiveNotificationLed
|
||||
config_keyboardTapVibePattern
|
||||
config_lidControlsSleep
|
||||
config_longPressVibePattern
|
||||
config_mainBuiltInDisplayCutout
|
||||
config_maximumScreenDimRatio
|
||||
config_mobile_mtu
|
||||
config_multiuserMaximumUsers
|
||||
config_nightDisplayAvailable
|
||||
config_overrideHasPermanentMenuKey
|
||||
config_pinnerCameraApp
|
||||
config_powerDecoupleAutoSuspendModeFromDisplay
|
||||
config_powerDecoupleInteractiveModeFromDisplay
|
||||
config_screenBrightnessDark
|
||||
config_screenBrightnessDim
|
||||
config_screenBrightnessDoze
|
||||
config_screenBrightnessSettingDefault
|
||||
config_screenBrightnessSettingMaximum
|
||||
config_screenBrightnessSettingMinimum
|
||||
config_setColorTransformAccelerated
|
||||
config_showNavigationBar
|
||||
config_shutdownBatteryTemperature
|
||||
config_speed_up_audio_on_mt_calls
|
||||
config_supportAudioSourceUnprocessed
|
||||
config_supportSystemNavigationKeys
|
||||
config_suspendWhenScreenOffDueToProximity
|
||||
config_sustainedPerformanceModeSupported
|
||||
config_switch_phone_on_voice_reg_state_change
|
||||
config_tether_bluetooth_regexs
|
||||
config_tether_upstream_types
|
||||
config_tether_usb_regexs
|
||||
config_tether_wifi_regexs
|
||||
config_useDevInputEventForAudioJack
|
||||
config_use_sim_language_file
|
||||
config_virtualKeyVibePattern
|
||||
config_wifiDisplaySupportsProtectedBuffers
|
||||
config_wifi_background_scan_support
|
||||
config_wifi_batched_scan_supported
|
||||
config_wifi_dual_band_support
|
||||
config_wifi_enable_disconnection_debounce
|
||||
config_wifi_fast_bss_transition_enabled
|
||||
skip_restoring_network_selection
|
||||
status_bar_height_landscape
|
||||
status_bar_height_portrait
|
53
tests/tests.sh
Normal file
53
tests/tests.sh
Normal file
|
@ -0,0 +1,53 @@
|
|||
#!/bin/bash
|
||||
|
||||
base="$(dirname "$(readlink -f -- $0)")/.."
|
||||
cd $base
|
||||
|
||||
#Keep knownKeys
|
||||
rm -f tests/priorities
|
||||
touch tests/priorities tests/knownKeys
|
||||
result=0
|
||||
find -name AndroidManifest.xml |while read manifest;do
|
||||
folder="$(dirname "$manifest")"
|
||||
#Ensure this overlay doesn't override blacklist-ed properties
|
||||
for b in $(cat tests/blacklist);do
|
||||
if grep -qRF "$b" $folder;then
|
||||
echo "Overlay $folder is defining $b which is forbidden"
|
||||
result=1
|
||||
fi
|
||||
done
|
||||
|
||||
#Everything after that is specifically for static overlays, targetting framework-res
|
||||
isStatic="$(xmlstarlet sel -t -m '//overlay' -v @android:isStatic -n $manifest)"
|
||||
[ "$isStatic" != "true" ] && continue
|
||||
|
||||
#Ensure priorities unique-ness
|
||||
priority="$(xmlstarlet sel -t -m '//overlay' -v @android:priority -n $manifest)"
|
||||
if grep -qE '^'$priority'$' tests/priorities;then
|
||||
echo $manifest priority $priority conflicts with another manifest
|
||||
result=1
|
||||
fi
|
||||
echo $priority >> tests/priorities
|
||||
|
||||
systemPropertyName="$(xmlstarlet sel -t -m '//overlay' -v @android:requiredSystemPropertyName -n $manifest)"
|
||||
if [ "$systemPropertyName" == "ro.vendor.product.name" ];then
|
||||
echo "$manifest: ro.vendor.product.name is deprecated. Please use ro.vendor.build.fingerprint"
|
||||
fi
|
||||
|
||||
#Ensure the overloaded properties exist in AOSP
|
||||
find "$folder" -name \*.xml |while read xml;do
|
||||
keys="$(xmlstarlet sel -t -m '//resources/*' -v @name -n $xml)"
|
||||
|
||||
for key in $keys;do
|
||||
grep -q $key tests/knownKeys && continue
|
||||
if ag '"'$key'"' /build/AOSP-9.0/frameworks/base/core/res/res > /dev/null;then
|
||||
echo $key >> tests/knownKeys
|
||||
else
|
||||
echo $xml defines a non-existing attribute $key
|
||||
fi
|
||||
done
|
||||
done
|
||||
done
|
||||
rm -f tests/priorities
|
||||
|
||||
exit $result
|
Loading…
Reference in a new issue