Run API 23 and 30 for Android AVD Scenario tests
Sample run: https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/garyq_google.com/7280832d8f5749fe9d9613a4eb04c53385c67a72ff2b1a2f98892ace6b47178b/+/build.proto?server=chromium-swarm.appspot.com
Change-Id: I82f832af5df99131569ab936704ddc74b9ac6d17
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/15340
Reviewed-by: Emmanuel Garcia <egarciad@google.com>
Commit-Queue: Emmanuel Garcia <egarciad@google.com>
diff --git a/recipes/engine/scenarios.expected/with_failure_upload_0.json b/recipes/engine/scenarios.expected/with_failure_upload_0.json
index 7601a6c..d132c1e 100644
--- a/recipes/engine/scenarios.expected/with_failure_upload_0.json
+++ b/recipes/engine/scenarios.expected/with_failure_upload_0.json
@@ -1007,7 +1007,7 @@
"-root",
"[CACHE]/builder/src/tools/android",
"-ensure-file",
- "chromium/tools/android/avd/linux-amd64 e5JfdaCjazDFh5uqhkPgVeZa9oCLVimm5_8TWAENz1gC",
+ "chromium/tools/android/avd/linux-amd64 kaocz43G7iGnwImCCFNX1YMqHwjMDicpEG8KxTVXRYAC",
"-max-threads",
"0",
"-json-output",
@@ -1037,7 +1037,7 @@
"@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-e5JfdaCjazDFh5uq\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-kaocz43G7iGnwImC\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"package\": \"chromium/tools/android/avd/linux-amd64\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ ]@@@",
@@ -1053,6 +1053,118 @@
"[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
"install",
"--avd-config",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android23.textpb"
+ ],
+ "cwd": "[CACHE]/builder/src/tools/android",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Install Android emulator (API level 23)"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
+ "start",
+ "--no-read-only",
+ "--avd-config",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android23.textpb"
+ ],
+ "cwd": "[CACHE]/builder/src/tools/android",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Start Android emulator (API level 23)"
+ },
+ {
+ "cmd": [
+ "./build_and_run_android_tests.sh",
+ "android_debug_x86"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter/testing/scenario_app",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/flutter/testing/scenario_app/android/gradle-home/bin",
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Scenario App Integration Tests"
+ },
+ {
+ "cmd": [
+ "kill",
+ "-9",
+ "17687"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter/testing/scenario_app",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/flutter/testing/scenario_app/android/gradle-home/bin",
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Kill emulator"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
+ "install",
+ "--avd-config",
"[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android30.textpb"
],
"cwd": "[CACHE]/builder/src/tools/android",
@@ -1129,7 +1241,7 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Scenario App Integration Tests"
+ "name": "Scenario App Integration Tests (2)"
},
{
"cmd": [
@@ -1156,7 +1268,7 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Kill emulator"
+ "name": "Kill emulator (2)"
},
{
"cmd": [
@@ -1183,8 +1295,8 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Zip build/reports/diff_failures",
- "stdin": "{\"entries\": [{\"path\": \"[CACHE]/builder/src/flutter/testing/scenario_app/build/reports/diff_failures\", \"type\": \"dir\"}], \"output\": \"[CLEANUP]/tmp_tmp_1/diff_failures.zip\", \"root\": \"[CACHE]/builder/src/flutter/testing/scenario_app\"}"
+ "name": "Zip build/reports/diff_failures_avd30",
+ "stdin": "{\"entries\": [{\"path\": \"[CACHE]/builder/src/flutter/testing/scenario_app/build/reports/diff_failures_avd30\", \"type\": \"dir\"}], \"output\": \"[CLEANUP]/tmp_tmp_1/diff_failures.zip\", \"root\": \"[CACHE]/builder/src/flutter/testing/scenario_app\"}"
},
{
"cmd": [
diff --git a/recipes/engine/scenarios.expected/with_failure_upload_1.json b/recipes/engine/scenarios.expected/with_failure_upload_1.json
index df4d90b..3218f13 100644
--- a/recipes/engine/scenarios.expected/with_failure_upload_1.json
+++ b/recipes/engine/scenarios.expected/with_failure_upload_1.json
@@ -1007,7 +1007,7 @@
"-root",
"[CACHE]/builder/src/tools/android",
"-ensure-file",
- "chromium/tools/android/avd/linux-amd64 e5JfdaCjazDFh5uqhkPgVeZa9oCLVimm5_8TWAENz1gC",
+ "chromium/tools/android/avd/linux-amd64 kaocz43G7iGnwImCCFNX1YMqHwjMDicpEG8KxTVXRYAC",
"-max-threads",
"0",
"-json-output",
@@ -1037,7 +1037,7 @@
"@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-e5JfdaCjazDFh5uq\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-kaocz43G7iGnwImC\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"package\": \"chromium/tools/android/avd/linux-amd64\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ ]@@@",
@@ -1053,6 +1053,118 @@
"[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
"install",
"--avd-config",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android23.textpb"
+ ],
+ "cwd": "[CACHE]/builder/src/tools/android",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Install Android emulator (API level 23)"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
+ "start",
+ "--no-read-only",
+ "--avd-config",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android23.textpb"
+ ],
+ "cwd": "[CACHE]/builder/src/tools/android",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Start Android emulator (API level 23)"
+ },
+ {
+ "cmd": [
+ "./build_and_run_android_tests.sh",
+ "android_debug_x86"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter/testing/scenario_app",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/flutter/testing/scenario_app/android/gradle-home/bin",
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Scenario App Integration Tests"
+ },
+ {
+ "cmd": [
+ "kill",
+ "-9",
+ "17687"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter/testing/scenario_app",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/flutter/testing/scenario_app/android/gradle-home/bin",
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Kill emulator"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
+ "install",
+ "--avd-config",
"[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android30.textpb"
],
"cwd": "[CACHE]/builder/src/tools/android",
@@ -1129,7 +1241,7 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Scenario App Integration Tests"
+ "name": "Scenario App Integration Tests (2)"
},
{
"cmd": [
@@ -1156,7 +1268,7 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Kill emulator"
+ "name": "Kill emulator (2)"
},
{
"cmd": [
@@ -1183,8 +1295,8 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Zip build/reports/diff_failures",
- "stdin": "{\"entries\": [{\"path\": \"[CACHE]/builder/src/flutter/testing/scenario_app/build/reports/diff_failures\", \"type\": \"dir\"}], \"output\": \"[CLEANUP]/tmp_tmp_1/diff_failures.zip\", \"root\": \"[CACHE]/builder/src/flutter/testing/scenario_app\"}"
+ "name": "Zip build/reports/diff_failures_avd30",
+ "stdin": "{\"entries\": [{\"path\": \"[CACHE]/builder/src/flutter/testing/scenario_app/build/reports/diff_failures_avd30\", \"type\": \"dir\"}], \"output\": \"[CLEANUP]/tmp_tmp_1/diff_failures.zip\", \"root\": \"[CACHE]/builder/src/flutter/testing/scenario_app\"}"
},
{
"cmd": [
diff --git a/recipes/engine/scenarios.expected/without_failure_upload_0.json b/recipes/engine/scenarios.expected/without_failure_upload_0.json
index ea9fc18..f502a08 100644
--- a/recipes/engine/scenarios.expected/without_failure_upload_0.json
+++ b/recipes/engine/scenarios.expected/without_failure_upload_0.json
@@ -1007,7 +1007,7 @@
"-root",
"[CACHE]/builder/src/tools/android",
"-ensure-file",
- "chromium/tools/android/avd/linux-amd64 e5JfdaCjazDFh5uqhkPgVeZa9oCLVimm5_8TWAENz1gC",
+ "chromium/tools/android/avd/linux-amd64 kaocz43G7iGnwImCCFNX1YMqHwjMDicpEG8KxTVXRYAC",
"-max-threads",
"0",
"-json-output",
@@ -1037,7 +1037,7 @@
"@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-e5JfdaCjazDFh5uq\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-kaocz43G7iGnwImC\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"package\": \"chromium/tools/android/avd/linux-amd64\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ ]@@@",
@@ -1053,6 +1053,118 @@
"[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
"install",
"--avd-config",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android23.textpb"
+ ],
+ "cwd": "[CACHE]/builder/src/tools/android",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Install Android emulator (API level 23)"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
+ "start",
+ "--no-read-only",
+ "--avd-config",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android23.textpb"
+ ],
+ "cwd": "[CACHE]/builder/src/tools/android",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Start Android emulator (API level 23)"
+ },
+ {
+ "cmd": [
+ "./build_and_run_android_tests.sh",
+ "android_debug_x86"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter/testing/scenario_app",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/flutter/testing/scenario_app/android/gradle-home/bin",
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Scenario App Integration Tests"
+ },
+ {
+ "cmd": [
+ "kill",
+ "-9",
+ "17687"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter/testing/scenario_app",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/flutter/testing/scenario_app/android/gradle-home/bin",
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Kill emulator"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
+ "install",
+ "--avd-config",
"[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android30.textpb"
],
"cwd": "[CACHE]/builder/src/tools/android",
@@ -1129,7 +1241,7 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Scenario App Integration Tests"
+ "name": "Scenario App Integration Tests (2)"
},
{
"cmd": [
@@ -1156,7 +1268,7 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Kill emulator"
+ "name": "Kill emulator (2)"
},
{
"cmd": [],
diff --git a/recipes/engine/scenarios.expected/without_failure_upload_1.json b/recipes/engine/scenarios.expected/without_failure_upload_1.json
index ea9fc18..f502a08 100644
--- a/recipes/engine/scenarios.expected/without_failure_upload_1.json
+++ b/recipes/engine/scenarios.expected/without_failure_upload_1.json
@@ -1007,7 +1007,7 @@
"-root",
"[CACHE]/builder/src/tools/android",
"-ensure-file",
- "chromium/tools/android/avd/linux-amd64 e5JfdaCjazDFh5uqhkPgVeZa9oCLVimm5_8TWAENz1gC",
+ "chromium/tools/android/avd/linux-amd64 kaocz43G7iGnwImCCFNX1YMqHwjMDicpEG8KxTVXRYAC",
"-max-threads",
"0",
"-json-output",
@@ -1037,7 +1037,7 @@
"@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-e5JfdaCjazDFh5uq\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-kaocz43G7iGnwImC\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"package\": \"chromium/tools/android/avd/linux-amd64\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ ]@@@",
@@ -1053,6 +1053,118 @@
"[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
"install",
"--avd-config",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android23.textpb"
+ ],
+ "cwd": "[CACHE]/builder/src/tools/android",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Install Android emulator (API level 23)"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
+ "start",
+ "--no-read-only",
+ "--avd-config",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android23.textpb"
+ ],
+ "cwd": "[CACHE]/builder/src/tools/android",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Start Android emulator (API level 23)"
+ },
+ {
+ "cmd": [
+ "./build_and_run_android_tests.sh",
+ "android_debug_x86"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter/testing/scenario_app",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/flutter/testing/scenario_app/android/gradle-home/bin",
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Scenario App Integration Tests"
+ },
+ {
+ "cmd": [
+ "kill",
+ "-9",
+ "17687"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter/testing/scenario_app",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "GOMA_DIR": "[CACHE]/goma/client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/flutter/testing/scenario_app/android/gradle-home/bin",
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "name": "Kill emulator"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/builder/src/tools/android/src/tools/android/avd/avd.py",
+ "install",
+ "--avd-config",
"[CACHE]/builder/src/tools/android/src/tools/android/avd/proto/generic_android30.textpb"
],
"cwd": "[CACHE]/builder/src/tools/android",
@@ -1129,7 +1241,7 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Scenario App Integration Tests"
+ "name": "Scenario App Integration Tests (2)"
},
{
"cmd": [
@@ -1156,7 +1268,7 @@
"RECIPE_REPO[depot_tools]"
]
},
- "name": "Kill emulator"
+ "name": "Kill emulator (2)"
},
{
"cmd": [],
diff --git a/recipes/engine/scenarios.py b/recipes/engine/scenarios.py
index 7758905..72b705f 100644
--- a/recipes/engine/scenarios.py
+++ b/recipes/engine/scenarios.py
@@ -29,6 +29,8 @@
PROPERTIES = InputProperties
ENV_PROPERTIES = EnvProperties
+ANDROID_APIS = ['23', '30']
+
def GetCheckoutPath(api):
return api.path['cache'].join('builder', 'src')
@@ -65,7 +67,7 @@
android_tool_dir,
api.cipd.EnsureFile().add_package(
'chromium/tools/android/avd/linux-amd64',
- 'e5JfdaCjazDFh5uqhkPgVeZa9oCLVimm5_8TWAENz1gC'
+ 'kaocz43G7iGnwImCCFNX1YMqHwjMDicpEG8KxTVXRYAC'
)
)
@@ -73,52 +75,53 @@
'src', 'tools', 'android', 'avd', 'avd.py'
)
- avd_config = android_tool_dir.join(
- 'src', 'tools', 'android', 'avd', 'proto', 'generic_android30.textpb'
- )
-
- emulator_pid = ''
- with api.context(cwd=android_tool_dir):
- api.python(
- 'Install Android emulator (API level 30)', avd_script_path,
- ['install', '--avd-config', avd_config]
+ for api_version in ANDROID_APIS:
+ avd_config = android_tool_dir.join(
+ 'src', 'tools', 'android', 'avd', 'proto', 'generic_android' + api_version + '.textpb'
)
- output = api.python(
- 'Start Android emulator (API level 30)',
- avd_script_path,
- ['start', '--no-read-only', '--avd-config', avd_config],
- stdout=api.raw_io.output()
- ).stdout
- m = re.match('.*pid: (\d+)\)', output)
- emulator_pid = m.group(1)
- test_dir = engine_checkout.join('flutter', 'testing')
- scenario_app_tests = test_dir.join('scenario_app')
-
- # Proxies `python` since vpython cannot resolve spec files outside of the jar
- # file containing the python scripts.
- gradle_home_bin_dir = scenario_app_tests.join('android', 'gradle-home', 'bin')
- with api.context(cwd=scenario_app_tests,
- env_prefixes={'PATH': [gradle_home_bin_dir]}):
-
- result = api.step(
- 'Scenario App Integration Tests',
- ['./build_and_run_android_tests.sh', 'android_debug_x86'],
- ok_ret='all'
- )
- api.step('Kill emulator', ['kill', '-9', emulator_pid])
- build_failures_dir = scenario_app_tests.join('build', 'reports', 'diff_failures')
- if api.path.exists(build_failures_dir):
- # Upload any diff failures.
- # If there are any, upload them to the cloud bucket.
- api.bucket_util.upload_folder(
- 'Upload diff failures',
- 'src/flutter/testing/scenario_app',
- 'build/reports/diff_failures',
- 'diff_failures.zip',
- bucket_name='flutter_logs',
+ emulator_pid = ''
+ with api.context(cwd=android_tool_dir):
+ api.python(
+ 'Install Android emulator (API level ' + api_version + ')', avd_script_path,
+ ['install', '--avd-config', avd_config]
)
+ output = api.python(
+ 'Start Android emulator (API level '+ api_version + ')',
+ avd_script_path,
+ ['start', '--no-read-only', '--avd-config', avd_config],
+ stdout=api.raw_io.output()
+ ).stdout
+ m = re.match('.*pid: (\d+)\)', output)
+ emulator_pid = m.group(1)
+ test_dir = engine_checkout.join('flutter', 'testing')
+ scenario_app_tests = test_dir.join('scenario_app')
+
+ # Proxies `python` since vpython cannot resolve spec files outside of the jar
+ # file containing the python scripts.
+ gradle_home_bin_dir = scenario_app_tests.join('android', 'gradle-home', 'bin')
+ with api.context(cwd=scenario_app_tests,
+ env_prefixes={'PATH': [gradle_home_bin_dir]}):
+
+ result = api.step(
+ 'Scenario App Integration Tests',
+ ['./build_and_run_android_tests.sh', 'android_debug_x86'],
+ ok_ret='all'
+ )
+ api.step('Kill emulator', ['kill', '-9', emulator_pid])
+ build_failures_dir = scenario_app_tests.join('build', 'reports', 'diff_failures_avd' + api_version)
+ if api.path.exists(build_failures_dir):
+ # Upload any diff failures.
+ # If there are any, upload them to the cloud bucket.
+ api.bucket_util.upload_folder(
+ 'Upload diff failures',
+ 'src/flutter/testing/scenario_app',
+ 'build/reports/diff_failures_avd' + api_version,
+ 'diff_failures.zip',
+ bucket_name='flutter_logs',
+ )
+
def RunSteps(api, properties, env_properties):
# Collect memory/cpu/process after task execution.
@@ -160,9 +163,13 @@
def GenTests(api):
- scenario_failures = GetCheckoutPath(api).join(
- 'flutter', 'testing', 'scenario_app', 'build', 'reports', 'diff_failures'
+ scenario_failures_23 = GetCheckoutPath(api).join(
+ 'flutter', 'testing', 'scenario_app', 'build', 'reports', 'diff_failures_avd23'
)
+ scenario_failures_30 = GetCheckoutPath(api).join(
+ 'flutter', 'testing', 'scenario_app', 'build', 'reports', 'diff_failures_avd30'
+ )
+ # for api_version in ANDROID_APIS:
for upload_packages in (True, False):
yield api.test(
'without_failure_upload_%d' % upload_packages,
@@ -179,6 +186,12 @@
),
),
api.step_data(
+ 'Start Android emulator (API level 23)',
+ stdout=api.raw_io.output_text(
+ 'android_23_google_apis_x86|emulator-5554 started (pid: 17687)'
+ )
+ ),
+ api.step_data(
'Start Android emulator (API level 30)',
stdout=api.raw_io.output_text(
'android_30_google_apis_x86|emulator-5554 started (pid: 17687)'
@@ -202,7 +215,14 @@
),
# Makes the test fail.
api.step_data('Scenario App Integration Tests', retcode=1),
- api.path.exists(scenario_failures),
+ api.path.exists(scenario_failures_23),
+ api.path.exists(scenario_failures_30),
+ api.step_data(
+ 'Start Android emulator (API level 23)',
+ stdout=api.raw_io.output_text(
+ 'android_23_google_apis_x86|emulator-5554 started (pid: 17687)'
+ )
+ ),
api.step_data(
'Start Android emulator (API level 30)',
stdout=api.raw_io.output_text(