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

Commit 917b4d43 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Fix dumpstate smoke test"

parents 7d3f8168 f02564e1
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -2596,22 +2596,27 @@ Dumpstate::RunStatus Dumpstate::CopyBugreportIfUserConsented() {
    return Dumpstate::RunStatus::ERROR;
}

/* Main entry point for dumpstate binary. */
int run_main(int argc, char* argv[]) {
Dumpstate::RunStatus Dumpstate::ParseCommandlineAndRun(int argc, char* argv[]) {
    std::unique_ptr<Dumpstate::DumpOptions> options = std::make_unique<Dumpstate::DumpOptions>();
    Dumpstate::RunStatus status = options->Initialize(argc, argv);
    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
        // 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
        // an app; they are irrelvant here because bugreport is only written to a local
        // 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) {
        case Dumpstate::RunStatus::OK:
            exit(0);
+2 −0
Original line number Diff line number Diff line
@@ -322,6 +322,8 @@ class Dumpstate {
    /* Main entry point for running a complete bugreport. */
    RunStatus Run(int32_t calling_uid, const std::string& calling_package);

    RunStatus ParseCommandlineAndRun(int argc, char* argv[]);

    /* Sets runtime options. */
    void SetOptions(std::unique_ptr<DumpOptions> options);

+1 −1
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ class ZippedBugreportGenerationTest : public Test {
        ds.listener_name_ = "Smokey";
        ds.report_section_ = true;
        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();
        duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
    }