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

Commit 915730bc authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add all ravenwood tests as presubmit" into main

parents ed667d99 4ae80098
Loading
Loading
Loading
Loading

ravenwood/.gitignore

0 → 100644
+1 −0
Original line number Diff line number Diff line
*.bak
+115 −6
Original line number Diff line number Diff line
// Keep the following two TEST_MAPPINGs in sync:
// frameworks/base/ravenwood/TEST_MAPPING
// frameworks/base/tools/hoststubgen/TEST_MAPPING
{
  "presubmit": [
    { "name": "tiny-framework-dump-test" },
@@ -39,12 +36,71 @@
    }
  ],
  "ravenwood-presubmit": [
    // AUTO-GENERATED-START
    // DO NOT MODIFY MANUALLY
    // Use scripts/update-test-mapping.sh to update it.
    {
      "name": "RavenwoodMinimumTest",
      "name": "AdServicesSharedLibrariesUnitTestsRavenwood",
      "host": true
    },
    {
      "name": "RavenwoodMockitoTest",
      "name": "android.test.mock.ravenwood.tests",
      "host": true
    },
    {
      "name": "CarLibHostUnitTest",
      "host": true
    },
    {
      "name": "CarServiceHostUnitTest",
      "host": true
    },
    {
      "name": "CarSystemUIRavenTests",
      "host": true
    },
    {
      "name": "CtsAccountManagerTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsAppTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsContentTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsDatabaseTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsGraphicsTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsIcuTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsInputMethodTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsOsTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsProtoTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsResourcesTestCasesRavenwood",
      "host": true
    },
    {
      "name": "CtsTextTestCasesRavenwood",
      "host": true
    },
    {
@@ -52,12 +108,65 @@
      "host": true
    },
    {
      "name": "RavenwoodResApkTest",
      "name": "FrameworksCoreSystemPropertiesTestsRavenwood",
      "host": true
    },
    {
      "name": "FrameworksCoreTestsRavenwood",
      "host": true
    },
    {
      "name": "FrameworksInputMethodSystemServerTestsRavenwood",
      "host": true
    },
    {
      "name": "FrameworksMockingServicesTestsRavenwood",
      "host": true
    },
    {
      "name": "FrameworksServicesTestsRavenwood",
      "host": true
    },
    {
      "name": "FrameworksUtilTestsRavenwood",
      "host": true
    },
    {
      "name": "InternalTestsRavenwood",
      "host": true
    },
    {
      "name": "PowerStatsTestsRavenwood",
      "host": true
    },
    {
      "name": "RavenwoodBivalentTest",
      "host": true
    },
    {
      "name": "RavenwoodMinimumTest",
      "host": true
    },
    {
      "name": "RavenwoodMockitoTest",
      "host": true
    },
    {
      "name": "RavenwoodResApkTest",
      "host": true
    },
    {
      "name": "RavenwoodRuntimeTest",
      "host": true
    },
    {
      "name": "RavenwoodServicesTest",
      "host": true
    },
    {
      "name": "SystemUiRavenTests",
      "host": true
    }
    // AUTO-GENERATED-END
  ]
}
+1 −1
Original line number Diff line number Diff line
@@ -15,4 +15,4 @@

# List all the ravenwood test modules.

jq -r 'to_entries[] | select( .value.compatibility_suites | index("ravenwood-tests") ) | .key' "$OUT/module-info.json"
jq -r 'to_entries[] | select( .value.compatibility_suites | index("ravenwood-tests") ) | .key' "$OUT/module-info.json" | sort
+82 −0
Original line number Diff line number Diff line
#!/bin/bash
# Copyright (C) 2024 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.

# Update f/b/r/TEST_MAPPING with all the ravenwood tests as presubmit.
#
# Note, before running it, make sure module-info.json is up-to-date by running
# (any) build.

set -e

main() {
    local script_name="${0##*/}"
    local script_dir="${0%/*}"
    local test_mapping="$script_dir/../TEST_MAPPING"
    local test_mapping_bak="$script_dir/../TEST_MAPPING.bak"

    local header="$(sed -ne '1,/AUTO-GENERATED-START/p' "$test_mapping")"
    local footer="$(sed -ne '/AUTO-GENERATED-END/,$p' "$test_mapping")"

    echo "Getting all tests"
    local tests=( $("$script_dir/list-ravenwood-tests.sh") )

    local num_tests="${#tests[@]}"

    if (( $num_tests == 0 )) ; then
        echo "Something went wrong. No ravenwood tests detected." 1>&2
        return 1
    fi

    echo "Tests: ${tests[@]}"

    echo "Creating backup at $test_mapping_bak"
    cp "$test_mapping" "$test_mapping_bak"

    echo "Updating $test_mapping"
    {
        echo "$header"

        echo "    // DO NOT MODIFY MANUALLY"
        echo "    // Use scripts/$script_name to update it."

        local i=0
        while (( $i < $num_tests )) ; do
            local comma=","
            if (( $i == ($num_tests - 1) )); then
                comma=""
            fi
            echo "    {"
            echo "      \"name\": \"${tests[$i]}\","
            echo "      \"host\": true"
            echo "    }$comma"

            i=$(( $i + 1 ))
        done

        echo "$footer"
    } >"$test_mapping"

    if cmp "$test_mapping_bak" "$test_mapping" ; then
        echo "No change detecetd."
        return 0
    fi
    echo "Updated $test_mapping"

    # `|| true` is needed because of `set -e`.
    diff -u "$test_mapping_bak" "$test_mapping" || true
    return 0
}

main