Add support for proto dumps in dumpstate
- Call dumpsys library directly from dumpstate.
- Send section generation status (name, size and duration) via section
progress reporter.
- Add end to end smoke test for bugreport:
- Checks if zipped bug report was generated without errors within a
reasonable time of a reasonable size.
- Checks if zipped bug report contains version file, main entry and
some selected files from the device file system.
- Checks if all sections in the bug report were generated without
errors.
- Checks if some sections were generated with a reasonable size.
- Changes are gated by Bugreport version. Version will be updated in a
subsequent cl.
Bug: 67716082, 70154685
Test: Manually generate bugrepot (default version) and check for any issues
Test: mmm -j56 frameworks/native/cmds/dumpstate && \
adb shell setprop dumpstate.version "2.0-dev-priority-dumps" && \
adb sync data && adb shell /data/nativetest/dumpstate_test/dumpstate_test && \
adb shell /data/nativetest64/dumpstate_test/dumpstate_test && \
adb shell /data/nativetest64/dumpstate_smoke_test/dumpstate_smoke_test && \
printf "\n\n#### ALL TESTS PASSED ####\n"
Change-Id: If036699d0588f74ef8e84c56323126214857dbdd
diff --git a/cmds/dumpstate/Android.bp b/cmds/dumpstate/Android.bp
index 35cff5f..562898d 100644
--- a/cmds/dumpstate/Android.bp
+++ b/cmds/dumpstate/Android.bp
@@ -14,7 +14,7 @@
// limitations under the License.
cc_defaults {
- name: "dumpstate_defaults",
+ name: "dumpstate_cflag_defaults",
cflags: [
"-Wall",
"-Werror",
@@ -26,7 +26,7 @@
cc_library_shared {
name: "libdumpstateutil",
- defaults: ["dumpstate_defaults"],
+ defaults: ["dumpstate_cflag_defaults"],
vendor_available: true,
vndk: {
enabled: true,
@@ -47,7 +47,7 @@
cc_library_shared {
name: "libdumpstateaidl",
- defaults: ["dumpstate_defaults"],
+ defaults: ["dumpstate_cflag_defaults"],
shared_libs: [
"libbinder",
"libutils",
@@ -63,9 +63,9 @@
],
}
-cc_binary {
- name: "dumpstate",
- defaults: ["dumpstate_defaults"],
+cc_defaults {
+ name: "dumpstate_defaults",
+ defaults: ["dumpstate_cflag_defaults"],
shared_libs: [
"android.hardware.dumpstate@1.0",
"libziparchive",
@@ -82,12 +82,22 @@
"libutils",
],
srcs: [
- "DumpstateInternal.cpp",
"DumpstateSectionReporter.cpp",
"DumpstateService.cpp",
- "main.cpp",
"utils.cpp",
+ ],
+ static_libs: [
+ "libdumpsys",
+ "libserviceutils"
+ ],
+}
+
+cc_binary {
+ name: "dumpstate",
+ defaults: ["dumpstate_defaults"],
+ srcs: [
"dumpstate.cpp",
+ "main.cpp",
],
init_rc: ["dumpstate.rc"],
}
@@ -95,24 +105,18 @@
cc_test {
name: "dumpstate_test",
defaults: ["dumpstate_defaults"],
- shared_libs: [
- "libziparchive",
- "libbase",
- "libbinder",
- "libcutils",
- "libdebuggerd_client",
- "libdumpstateaidl",
- "libdumpstateutil",
- "libhidlbase",
- "libhidltransport",
- "liblog",
- "libutils",
- ],
srcs: [
- "DumpstateInternal.cpp",
- "DumpstateService.cpp",
- "utils.cpp",
"tests/dumpstate_test.cpp",
],
static_libs: ["libgmock"],
}
+
+cc_test {
+ name: "dumpstate_smoke_test",
+ defaults: ["dumpstate_defaults"],
+ srcs: [
+ "dumpstate.cpp",
+ "tests/dumpstate_smoke_test.cpp",
+ ],
+ static_libs: ["libgmock"],
+}
\ No newline at end of file