Loading cmds/dumpstate/dumpstate.cpp +10 −5 Original line number Original line Diff line number Diff line Loading @@ -2596,22 +2596,27 @@ Dumpstate::RunStatus Dumpstate::CopyBugreportIfUserConsented() { return Dumpstate::RunStatus::ERROR; return Dumpstate::RunStatus::ERROR; } } /* Main entry point for dumpstate binary. */ Dumpstate::RunStatus Dumpstate::ParseCommandlineAndRun(int argc, char* argv[]) { int run_main(int argc, char* argv[]) { std::unique_ptr<Dumpstate::DumpOptions> options = std::make_unique<Dumpstate::DumpOptions>(); std::unique_ptr<Dumpstate::DumpOptions> options = std::make_unique<Dumpstate::DumpOptions>(); Dumpstate::RunStatus status = options->Initialize(argc, argv); Dumpstate::RunStatus status = options->Initialize(argc, argv); if (status == Dumpstate::RunStatus::OK) { if (status == Dumpstate::RunStatus::OK) { ds.SetOptions(std::move(options)); SetOptions(std::move(options)); // When directly running dumpstate binary, the output is not expected to be written // When directly running dumpstate binary, the output is not expected to be written // to any external file descriptor. // to any external file descriptor. assert(ds.options_->bugreport_fd.get() == -1); assert(options_->bugreport_fd.get() == -1); // calling_uid and calling_package are for user consent to share the bugreport with // calling_uid and calling_package are for user consent to share the bugreport with // an app; they are irrelvant here because bugreport is only written to a local // an app; they are irrelvant here because bugreport is only written to a local // directory, and not shared. // directory, and not shared. status = ds.Run(-1 /* calling_uid */, "" /* calling_package */); status = Run(-1 /* calling_uid */, "" /* calling_package */); } return status; } } /* Main entry point for dumpstate binary. */ int run_main(int argc, char* argv[]) { Dumpstate::RunStatus status = ds.ParseCommandlineAndRun(argc, argv); switch (status) { switch (status) { case Dumpstate::RunStatus::OK: case Dumpstate::RunStatus::OK: exit(0); exit(0); Loading cmds/dumpstate/dumpstate.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -322,6 +322,8 @@ class Dumpstate { /* Main entry point for running a complete bugreport. */ /* Main entry point for running a complete bugreport. */ RunStatus Run(int32_t calling_uid, const std::string& calling_package); RunStatus Run(int32_t calling_uid, const std::string& calling_package); RunStatus ParseCommandlineAndRun(int argc, char* argv[]); /* Sets runtime options. */ /* Sets runtime options. */ void SetOptions(std::unique_ptr<DumpOptions> options); void SetOptions(std::unique_ptr<DumpOptions> options); Loading cmds/dumpstate/tests/dumpstate_smoke_test.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -109,7 +109,7 @@ class ZippedBugreportGenerationTest : public Test { ds.listener_name_ = "Smokey"; ds.listener_name_ = "Smokey"; ds.report_section_ = true; ds.report_section_ = true; auto start = std::chrono::steady_clock::now(); auto start = std::chrono::steady_clock::now(); run_main(ARRAY_SIZE(argv), argv); ds.ParseCommandlineAndRun(ARRAY_SIZE(argv), argv); auto end = std::chrono::steady_clock::now(); auto end = std::chrono::steady_clock::now(); duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); } } Loading Loading
cmds/dumpstate/dumpstate.cpp +10 −5 Original line number Original line Diff line number Diff line Loading @@ -2596,22 +2596,27 @@ Dumpstate::RunStatus Dumpstate::CopyBugreportIfUserConsented() { return Dumpstate::RunStatus::ERROR; return Dumpstate::RunStatus::ERROR; } } /* Main entry point for dumpstate binary. */ Dumpstate::RunStatus Dumpstate::ParseCommandlineAndRun(int argc, char* argv[]) { int run_main(int argc, char* argv[]) { std::unique_ptr<Dumpstate::DumpOptions> options = std::make_unique<Dumpstate::DumpOptions>(); std::unique_ptr<Dumpstate::DumpOptions> options = std::make_unique<Dumpstate::DumpOptions>(); Dumpstate::RunStatus status = options->Initialize(argc, argv); Dumpstate::RunStatus status = options->Initialize(argc, argv); if (status == Dumpstate::RunStatus::OK) { if (status == Dumpstate::RunStatus::OK) { ds.SetOptions(std::move(options)); SetOptions(std::move(options)); // When directly running dumpstate binary, the output is not expected to be written // When directly running dumpstate binary, the output is not expected to be written // to any external file descriptor. // to any external file descriptor. assert(ds.options_->bugreport_fd.get() == -1); assert(options_->bugreport_fd.get() == -1); // calling_uid and calling_package are for user consent to share the bugreport with // calling_uid and calling_package are for user consent to share the bugreport with // an app; they are irrelvant here because bugreport is only written to a local // an app; they are irrelvant here because bugreport is only written to a local // directory, and not shared. // directory, and not shared. status = ds.Run(-1 /* calling_uid */, "" /* calling_package */); status = Run(-1 /* calling_uid */, "" /* calling_package */); } return status; } } /* Main entry point for dumpstate binary. */ int run_main(int argc, char* argv[]) { Dumpstate::RunStatus status = ds.ParseCommandlineAndRun(argc, argv); switch (status) { switch (status) { case Dumpstate::RunStatus::OK: case Dumpstate::RunStatus::OK: exit(0); exit(0); Loading
cmds/dumpstate/dumpstate.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -322,6 +322,8 @@ class Dumpstate { /* Main entry point for running a complete bugreport. */ /* Main entry point for running a complete bugreport. */ RunStatus Run(int32_t calling_uid, const std::string& calling_package); RunStatus Run(int32_t calling_uid, const std::string& calling_package); RunStatus ParseCommandlineAndRun(int argc, char* argv[]); /* Sets runtime options. */ /* Sets runtime options. */ void SetOptions(std::unique_ptr<DumpOptions> options); void SetOptions(std::unique_ptr<DumpOptions> options); Loading
cmds/dumpstate/tests/dumpstate_smoke_test.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -109,7 +109,7 @@ class ZippedBugreportGenerationTest : public Test { ds.listener_name_ = "Smokey"; ds.listener_name_ = "Smokey"; ds.report_section_ = true; ds.report_section_ = true; auto start = std::chrono::steady_clock::now(); auto start = std::chrono::steady_clock::now(); run_main(ARRAY_SIZE(argv), argv); ds.ParseCommandlineAndRun(ARRAY_SIZE(argv), argv); auto end = std::chrono::steady_clock::now(); auto end = std::chrono::steady_clock::now(); duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); } } Loading