Commit Graph

3 Commits

Author SHA1 Message Date
Kevin Rocard
76efe01bbd Audio VTS: remove expectation of policy configuration unicity
The XML audio policy configuration is expected to be located in /vendor.
Additionally for AOSP builds (no vendor) and as a fallback in case of
missing vendor configuration, the system supports loading the XML from
/system.
This fallback config is not guaranty to be compatible with the phone HAL,
but probably does for a wide range of android phones
(at least for basic use cases).

In each of those cases, there is only one configuration file, either in
/vendor or /system.
As a result, the audio policy configuration VTS test was asserting that
only one audio_policy_configuration.xml could be found.
If multiple were found, one was useless and the platform integrator
should remove it.

But VTS are now run on phone with a /system partition from an AOSP
build and a /vendor partition from a device build.
In such scenario two audio policy config are now present on the device,
thus breaking the VTS expectation.

This is not a problem for the framework because it does not look for a /system
config if one was found in /vendor.

In the future, the /system XML might be removed as boards
specific config should be found in /vendor only as per treble
requirements.

Test: Compile
Bug: 65482614
Change-Id: I7cd7eb7284c0aa52782aa591411f8a9bf2a87a76
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-09-08 11:29:32 -07:00
Kevin Rocard
6dcc713281 Audio VTS: Look for Audio policy config in all supported folders
audio_policy_configuration.xml can be loaded from the following places:
 - /system/etc/
 - /vendor/etc
 - /odm/etc
Nevertheless the config validation test was expecting it to be in
/vendor/etc exclusively.

This patch changes the test logic to:
 - look for the config files in all 3 folders
 - make sure the config is unique

Test: run the following script to check for regressions and test that
      invalid config make the test fail.
  (
  set -xe
  runVTS() { vts-tradefed run commandAndExit vts \
        --skip-all-system-status-check --primary-abi-only \
        --skip-preconditions --module VtsHalAudioV2_0Target \
        -t CheckConfig.audioPolicyConfigurationValidation; }

  echo "# Test valid config"
  runVTS

  echo "# Test multiple invalid match"
  adb shell touch /system/etc/audio_policy_configuration.xml
  ! runVTS
  adb shell rm /system/etc/audio_policy_configuration.xml

  echo "# Test multiple valid match"
  adb shell cp /{vendor,system}/etc/audio_policy_configuration.xml
  ! runVTS
  adb shell rm /system/etc/audio_policy_configuration.xml

  echo "# Test invalid config"
  adb shell sed -i /defaultOutputDevice/p /vendor/etc/audio_policy_configuration.xml
  ! runVTS
  adb shell sed -i '"/defaultOutputDevice/{p;N;d}"' /vendor/etc/audio_policy_configuration.xml

  echo "# Test that the test did not break the config"
  runVTS
  )

Bug: 64881365
Change-Id: I9db5e6f727d19fd654a3cc543a2aaab196682001
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-08-23 01:24:44 +00:00
Kevin Rocard
19b3e43fb4 Audio VTS: Enforce policy configuration format
Validate the audio_policy_configuration.xml supplied in /vendor against
the format schema.

Test: Run the VTS test on target
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check --primary-abi-only --skip-preconditions --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
Bug: 35700978
Change-Id: I800e692a6ff4f64655007c33af7e34d879ee1132
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-06-02 16:43:32 -07:00