6 #include <gtest/gtest.h>
15 TEST(JlmOptCommandTests, TestStatistics)
22 FilePath expectedStatisticsDir(
"/tmp/myStatisticsDir/");
26 expectedStatisticsDir,
31 JlmOptCommandLineOptions::InputFormat::Llvm,
33 JlmOptCommandLineOptions::OutputFormat::Llvm,
34 statisticsCollectorSettings,
36 { JlmOptCommandLineOptions::OptimizationId::DeadNodeElimination,
37 JlmOptCommandLineOptions::OptimizationId::LoopUnrolling },
43 auto receivedCommandLine = command.ToString();
48 "--input-format=llvm ",
49 "--output-format=llvm ",
50 "--DeadNodeElimination --LoopUnrolling ",
51 "-s " + expectedStatisticsDir.
to_str() +
" ",
52 "--print-andersen-analysis ",
56 EXPECT_EQ(receivedCommandLine, expectedCommandLine);
59 TEST(JlmOptCommandTests, OptimizationIdToOptimizationTranslation)
66 std::vector<JlmOptCommandLineOptions::OptimizationId> optimizationIds;
68 static_cast<std::size_t
>(JlmOptCommandLineOptions::OptimizationId::FirstEnumValue) + 1;
69 n !=
static_cast<std::size_t
>(JlmOptCommandLineOptions::OptimizationId::LastEnumValue);
73 optimizationIds.emplace_back(optimizationId);
78 JlmOptCommandLineOptions::InputFormat::Llvm,
80 JlmOptCommandLineOptions::OutputFormat::Llvm,
91 TEST(JlmOptCommandTests, PrintRvsdgTreeToFile)
109 std::stringstream buffer;
110 std::ifstream istream(outputFile.
to_str());
111 buffer << istream.rdbuf();
113 EXPECT_EQ(buffer.str(),
"RootRegion\n");
static jlm::util::StatisticsCollector statisticsCollector
TEST(JlmOptCommandTests, TestStatistics)
const std::string & to_str() const noexcept
Global memory state passed between functions.
static std::string strfmt(Args... args)