When CtsNetTestCases tests fail, or when a tryTest statement fails, collect connectivity diagnostics and output them as a test artifact. tryTest must be followed by cleanup blocks, which often change the configuration, so having diagnostics when the tryTest fails in addition to after the test failure is useful. The collected diagnostics will be available as individual test artifacts. They should make it easier to investigate test failures, and could be collected across test runs in an automated way. Output files are currently limited at 20 per run, to avoid collecting too much data in case everything is failing in the run. Test: atest Change-Id: Iaa48e519028dc61c03d387beeade7d41fca2ef48
115 lines
3.4 KiB
Text
115 lines
3.4 KiB
Text
// Copyright (C) 2021 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.
|
|
|
|
package {
|
|
default_team: "trendy_team_fwk_core_networking",
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
java_library {
|
|
name: "net-tests-utils",
|
|
srcs: [
|
|
"devicetests/**/*.java",
|
|
"devicetests/**/*.kt",
|
|
],
|
|
defaults: [
|
|
"framework-connectivity-test-defaults",
|
|
"lib_mockito_extended",
|
|
],
|
|
libs: [
|
|
"androidx.annotation_annotation",
|
|
"net-utils-device-common-bpf", // TestBpfMap extends IBpfMap.
|
|
],
|
|
static_libs: [
|
|
"androidx.test.ext.junit",
|
|
"collector-device-lib",
|
|
"kotlin-reflect",
|
|
"libnanohttpd",
|
|
"net-tests-utils-host-device-common",
|
|
"net-utils-device-common",
|
|
"net-utils-device-common-async",
|
|
"net-utils-device-common-netlink",
|
|
"net-utils-device-common-struct",
|
|
"net-utils-device-common-struct-base",
|
|
"net-utils-device-common-wear",
|
|
"modules-utils-build_system",
|
|
],
|
|
lint: {
|
|
strict_updatability_linting: true,
|
|
},
|
|
}
|
|
|
|
java_library {
|
|
// Consider using net-tests-utils instead if writing device code.
|
|
// That library has a lot more useful tools into it for users that
|
|
// work on Android and includes this lib.
|
|
name: "net-tests-utils-host-device-common",
|
|
srcs: [
|
|
"hostdevice/**/*.java",
|
|
"hostdevice/**/*.kt",
|
|
],
|
|
host_supported: true,
|
|
visibility: [
|
|
"//packages/modules/Connectivity/staticlibs/tests:__subpackages__",
|
|
"//packages/modules/Connectivity/staticlibs/client-libs/tests:__subpackages__",
|
|
"//packages/modules/Connectivity/tests/cts/hostside",
|
|
],
|
|
// There are downstream branches using an old version of Kotlin
|
|
// that used to reserve the right to make breaking changes to the
|
|
// Result type and disallowed returning an instance of it.
|
|
// Later versions allowed this and there was never a change,
|
|
// so no matter the version returning Result is always fine,
|
|
// but on sc-mainline-prod the compiler rejects it without
|
|
// the following flag.
|
|
kotlincflags: ["-Xallow-result-return-type"],
|
|
libs: [
|
|
"jsr305",
|
|
],
|
|
static_libs: [
|
|
"kotlin-test",
|
|
],
|
|
lint: {
|
|
strict_updatability_linting: true,
|
|
},
|
|
}
|
|
|
|
java_test_host {
|
|
name: "net-tests-utils-host-common",
|
|
srcs: [
|
|
"host/java/**/*.java",
|
|
"host/java/**/*.kt",
|
|
],
|
|
libs: ["tradefed"],
|
|
test_suites: [
|
|
"ats",
|
|
"device-tests",
|
|
"general-tests",
|
|
"cts",
|
|
"mts-networking",
|
|
"mcts-networking",
|
|
"mts-tethering",
|
|
"mcts-tethering",
|
|
"mcts-wifi",
|
|
"mcts-dnsresolver",
|
|
],
|
|
data: [":ConnectivityTestPreparer"],
|
|
}
|
|
|
|
python_library_host {
|
|
name: "net-tests-utils-host-python-common",
|
|
srcs: [
|
|
"host/python/*.py",
|
|
],
|
|
pkg_path: "net_tests_utils",
|
|
}
|