bool ReportCommand::ParseOptions(const std::vector<std::string>& args) {
bool demangle = true;
bool show_ip_for_unknown_symbol = true;
- std::string symfs_dir;
std::string vmlinux;
bool print_sample_count = false;
std::vector<std::string> sort_keys = {"comm", "pid", "tid", "dso", "symbol"};
if (!NextArgumentOrError(args, &i)) {
return false;
}
- symfs_dir = args[i];
-
+ if (!Dso::SetSymFsDir(args[i])) {
+ return false;
+ }
} else if (args[i] == "--vmlinux") {
if (!NextArgumentOrError(args, &i)) {
return false;
}
Dso::SetDemangle(demangle);
- if (!Dso::SetSymFsDir(symfs_dir)) {
- return false;
- }
if (!vmlinux.empty()) {
Dso::SetVmlinux(vmlinux);
}
ASSERT_NE(content.find("main"), std::string::npos);
}
+TEST_F(ReportCommandTest, report_without_symfs_dir) {
+ TemporaryFile tmpfile;
+ ASSERT_TRUE(ReportCmd()->Run({"-i", GetTestData(PERF_DATA), "-o", tmpfile.path}));
+}
+
TEST_F(ReportCommandTest, report_sort_vaddr_in_file) {
Report(PERF_DATA, {"--sort", "vaddr_in_file"});
ASSERT_TRUE(success);