Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d37c334b authored by Dieter Hsu's avatar Dieter Hsu Committed by Automerger Merge Worker
Browse files

Run bugreport unit test without script am: 31f9d09b am: 5974c9fa

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1440638

Change-Id: I8c9d0d83b682bf66534e6c9b82b847e729f8d3c2
parents 6b376309 5974c9fa
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -15,12 +15,18 @@
android_test {
    name: "BugreportManagerTestCases",
    srcs: ["src/**/*.java"],
    data: [":bugreport_artifacts"],
    libs: [
        "android.test.runner",
        "android.test.base",
    ],
    static_libs: ["androidx.test.rules", "truth-prebuilt"],
    test_suites: ["general-tests"],
    sdk_version: "test_current",
    platform_apis: true,
}

filegroup {
    name: "bugreport_artifacts",
    srcs: ["config/test-sysconfig.xml"],
}
+9 −4
Original line number Diff line number Diff line
@@ -21,11 +21,16 @@
    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />

    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true"/>
        <option name="test-file-name" value="BugreportManagerTestCases.apk"/>
    <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer" />
    <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
        <option name="push-file" key="test-sysconfig.xml" value="/system/etc/sysconfig/allow-br-from-tests.xml" />
        <option name="push-file" key="BugreportManagerTestCases.apk" value="/system/priv-app/BugreportManagerTestCases.apk" />
        <option name="abort-on-push-failure" value="true" />
        <option name="cleanup" value="true" />
        <option name="remount-system" value="true" />
    </target_preparer>

    <target_preparer class="com.android.tradefed.targetprep.RebootTargetPreparer" />

    <test class="com.android.tradefed.testtype.AndroidJUnitTest">
        <option name="package" value="com.android.os.bugreports.tests"/>
        <!-- test-timeout unit is ms, value = 30 min -->

core/tests/bugreports/run.sh

deleted100755 → 0
+0 −61
Original line number Diff line number Diff line
#!/bin/bash

# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Script to run bugreport unitests
# Must run on a rooted device.
# Must run lunch before running the script
# Usage: ${ANDROID_BUILD_TOP}/frameworks/base/core/tests/bugreports/run.sh

# NOTE: This script replaces the framework-sysconfig.xml on your device, so use with caution.
# It tries to replace it when done, but if the script does not finish cleanly
# (for e.g. force stopped mid-way) your device will be left in an inconsistent state.
# Reflashing will restore the right config.

TMP_SYS_CONFIG=/var/tmp/framework-sysconfig.xml

if [[ -z $ANDROID_PRODUCT_OUT ]]; then
  echo "Please lunch before running this test."
  exit 0
fi

# Print every command to console.
set -x

make -j BugreportManagerTestCases &&
    adb root &&
    adb remount &&
    adb wait-for-device &&
    # Save the sysconfig file in a tmp location and push the test config in
    adb pull /system/etc/sysconfig/framework-sysconfig.xml "${TMP_SYS_CONFIG}" &&
    adb push $ANDROID_BUILD_TOP/frameworks/base/core/tests/bugreports/config/test-sysconfig.xml /system/etc/sysconfig/framework-sysconfig.xml &&
    # The test app needs to be a priv-app.
    adb push $OUT/testcases/BugreportManagerTestCases/*/BugreportManagerTestCases.apk /system/priv-app ||
    exit 1

adb reboot &&
adb wait-for-device &&
atest BugreportManagerTest || echo "Tests FAILED!"

# Restore the saved config file
if [ -f "${TMP_SYS_CONFIG}" ]; then
    SIZE=$(stat --printf="%s" "${TMP_SYS_CONFIG}")
    if [ SIZE > 0 ]; then
        adb remount &&
        adb wait-for-device &&
        adb push "${TMP_SYS_CONFIG}" /system/etc/sysconfig/framework-sysconfig.xml &&
        rm "${TMP_SYS_CONFIG}"
    fi
fi