dump_modemlog: include log mask history files in dumpstate
This was missed in the porting over from gs201/.../dumpstate.cpp. Test: Manually trigger bugreport and ensure that LoggingHistory.csv and LoggingMaskHistory.csv are included Bug:284275049 Change-Id: Ia630f3f1883b338fa879cfd6ea6bdd4c2a00437c
This commit is contained in:
parent
c319cdc9b7
commit
52d632cbe7
9 changed files with 560 additions and 43 deletions
106
modem/test/modem_log_dumper_test.cpp
Normal file
106
modem/test/modem_log_dumper_test.cpp
Normal file
|
@ -0,0 +1,106 @@
|
|||
#include "modem_log_dumper.h"
|
||||
|
||||
#include <string_view>
|
||||
|
||||
#include "dumper.h"
|
||||
#include "fake_android_property_manager.h"
|
||||
#include "gmock/gmock.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
namespace modem {
|
||||
namespace logging {
|
||||
namespace {
|
||||
|
||||
using ::testing::Eq;
|
||||
|
||||
inline constexpr static std::string_view kFakePilotLoggingPath =
|
||||
"//pilot/logging/path";
|
||||
inline constexpr static std::string_view kFakeOnDemandLoggingPath =
|
||||
"//on/demand/logging/path";
|
||||
inline constexpr static LogDumpInfo kAlwaysOnLogDumpInfo = {
|
||||
kModemAlwaysOnLogDirectory, kBugreportPackingDirectory,
|
||||
kDefaultBugreportNumberFiles, kModemLogPrefix};
|
||||
|
||||
void StartModemLogging(
|
||||
FakeAndroidPropertyManager& fake_android_property_manager) {
|
||||
fake_android_property_manager.SetProperty(
|
||||
kModemLoggingEnabledProperty.data(),
|
||||
FakeAndroidPropertyManager::kTruthString.data());
|
||||
}
|
||||
|
||||
class MockDumper : public Dumper {
|
||||
public:
|
||||
~MockDumper() = default;
|
||||
MOCK_METHOD(void, DumpLogs, (const LogDumpInfo&), (override));
|
||||
MOCK_METHOD(void, CopyFile, (const FileCopyInfo&), (override));
|
||||
};
|
||||
|
||||
class ModemLogDumperTest : public ::testing::Test {
|
||||
protected:
|
||||
ModemLogDumperTest()
|
||||
: modem_log_dumper(mock_dumper, fake_android_property_manager) {}
|
||||
|
||||
void SetUp() override {
|
||||
// set default logging mode to always on logging
|
||||
fake_android_property_manager.SetProperty(
|
||||
kModemLoggingPathProperty.data(), kModemAlwaysOnLogDirectory.data());
|
||||
}
|
||||
|
||||
MockDumper mock_dumper;
|
||||
FakeAndroidPropertyManager fake_android_property_manager;
|
||||
ModemLogDumper modem_log_dumper;
|
||||
};
|
||||
|
||||
TEST_F(ModemLogDumperTest, DumpLogsDumpsAllDirectoriesAndCopiesAllFiles) {
|
||||
EXPECT_CALL(mock_dumper, DumpLogs(Eq(kAlwaysOnLogDumpInfo)));
|
||||
|
||||
for (const LogDumpInfo& log_dump_info : kLogDumpInfo) {
|
||||
EXPECT_CALL(mock_dumper, DumpLogs(Eq(log_dump_info)));
|
||||
}
|
||||
|
||||
for (const FileCopyInfo& fileCopyInfo : kFileCopyInfo) {
|
||||
EXPECT_CALL(mock_dumper, CopyFile(Eq(fileCopyInfo)));
|
||||
}
|
||||
|
||||
modem_log_dumper.DumpModemLogs();
|
||||
}
|
||||
|
||||
TEST_F(ModemLogDumperTest, DumpLogsRestartModemLoggingWhenEnabled) {
|
||||
StartModemLogging(fake_android_property_manager);
|
||||
|
||||
modem_log_dumper.DumpModemLogs();
|
||||
|
||||
EXPECT_TRUE(fake_android_property_manager.ModemLoggingHasRestarted());
|
||||
}
|
||||
|
||||
TEST_F(ModemLogDumperTest, DumpLogsDoesNotRestartModemLoggingWhenDisabled) {
|
||||
modem_log_dumper.DumpModemLogs();
|
||||
|
||||
EXPECT_FALSE(fake_android_property_manager.ModemLoggingHasRestarted());
|
||||
}
|
||||
|
||||
TEST_F(ModemLogDumperTest, DumpLogsDoesNotRestartModemLoggingWhenPilotEnabled) {
|
||||
// Enable PILOT
|
||||
fake_android_property_manager.SetProperty(kModemLoggingPathProperty.data(),
|
||||
kFakePilotLoggingPath.data());
|
||||
StartModemLogging(fake_android_property_manager);
|
||||
|
||||
modem_log_dumper.DumpModemLogs();
|
||||
|
||||
EXPECT_FALSE(fake_android_property_manager.ModemLoggingHasRestarted());
|
||||
}
|
||||
|
||||
TEST_F(ModemLogDumperTest,
|
||||
DumpLogsDoesNotRestartModemLoggingWhenOnDemandLoggingEnabled) {
|
||||
// Enable On Demand Logging
|
||||
fake_android_property_manager.SetProperty(kModemLoggingPathProperty.data(),
|
||||
kFakeOnDemandLoggingPath.data());
|
||||
StartModemLogging(fake_android_property_manager);
|
||||
|
||||
modem_log_dumper.DumpModemLogs();
|
||||
|
||||
EXPECT_FALSE(fake_android_property_manager.ModemLoggingHasRestarted());
|
||||
}
|
||||
} // namespace
|
||||
} // namespace logging
|
||||
} // namespace modem
|
Loading…
Add table
Add a link
Reference in a new issue