static_analysis_ut.cpp 1018 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include <library/cpp/testing/gtest/gtest.h>
  2. #include <library/cpp/yt/logging/logger.h>
  3. namespace NYT::NLogging {
  4. namespace {
  5. ////////////////////////////////////////////////////////////////////////////////
  6. const TLogger Logger{};
  7. TEST(TStaticAnalysisTest, ValidFormats)
  8. {
  9. YT_LOG_INFO("Hello");
  10. YT_LOG_INFO("Hello %v", "World!");
  11. YT_LOG_INFO("Hello %qv", "World!");
  12. YT_LOG_INFO(42);
  13. YT_LOG_INFO("Hello %%");
  14. YT_LOG_INFO("Hello %" PRIu64, 42);
  15. TStringBuf msg = "Hello";
  16. YT_LOG_INFO(msg);
  17. }
  18. // Uncomment this test to see that we don't have false negatives!
  19. TEST(TStaticAnalysisTest, InvalidFormats)
  20. {
  21. // YT_LOG_INFO("Hello", 1);
  22. // YT_LOG_INFO("Hello %");
  23. // YT_LOG_INFO("Hello %false");
  24. // YT_LOG_INFO("Hello ", "World");
  25. // YT_LOG_INFO("Hello ", "(World: %v)", 42);
  26. // YT_LOG_INFO("Hello %lbov", 42); // There is no 'b' flag.
  27. }
  28. ////////////////////////////////////////////////////////////////////////////////
  29. } // namespace
  30. } // namespace NYT::NLogging