steveloughran commented on code in PR #7766: URL: https://github.com/apache/hadoop/pull/7766#discussion_r2185999379
########## hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java: ########## @@ -384,6 +384,36 @@ public void testDeprecatedPropertyInXMLFileGeneratesLogMessage(@TempDir java.nio assertTrue(hasDeprecationMessage); } + @Test + public void testDeprecatedPropertyLogsWarningOnEveryUse(){ + String oldProp = "test.deprecation.old.conf.b"; + String newProp = "test.deprecation.new.conf.b"; + Configuration.addDeprecation(oldProp, newProp); + + TestAppender appender = new TestAppender(); + Logger deprecationLogger = Logger.getLogger("org.apache.hadoop.conf.Configuration.deprecation"); + deprecationLogger.addAppender(appender); + + try { + conf.set(oldProp, "b1"); + conf.get(oldProp); + conf.set(oldProp, "b2"); + conf.get(oldProp); + // Using the new property should not log a warning + conf.set(newProp, "b3"); + conf.get(newProp); + conf.set(newProp, "b4"); + conf.get(newProp); + } finally { + deprecationLogger.removeAppender(appender); + } + + Pattern deprecationMsgPattern = Pattern.compile(oldProp + " is deprecated"); + long count = appender.log.stream().map(LoggingEvent::getRenderedMessage) + .filter(msg -> deprecationMsgPattern.matcher(msg).find()).count(); + assertEquals(4, count, "Expected exactly four warnings for deprecated property usage"); Review Comment: yeah, it's just assertj is better for those complex ones. so much more useful error messages without much more code. anyway, future reference only -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org