From f6d6f86c85d35f40fd3b5a8005eaac237eb8cc6d Mon Sep 17 00:00:00 2001 From: Roman Chernyatchik Date: Tue, 22 Sep 2009 16:27:41 +0400 Subject: [PATCH] assertion for deprecated API added --- .../sm/runner/OutputToGeneralTestEventsConverter.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/OutputToGeneralTestEventsConverter.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/OutputToGeneralTestEventsConverter.java index e25952ad8f..8ca8d4c2d7 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/OutputToGeneralTestEventsConverter.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/OutputToGeneralTestEventsConverter.java @@ -259,6 +259,7 @@ public class OutputToGeneralTestEventsConverter implements ProcessOutputConsumer @NonNls private static final String ATTR_KEY_TEST_COUNT = "count"; @NonNls private static final String ATTR_KEY_TEST_DURATION = "duration"; @NonNls private static final String ATTR_KEY_LOCATION_URL = "locationHint"; + @NonNls private static final String ATTR_KEY_LOCATION_URL_OLD = "location"; @NonNls private static final String ATTR_KEY_STACKTRACE_DETAILS = "details"; @NonNls public static final String CUSTOM_STATUS = "customProgressStatus"; @@ -268,10 +269,26 @@ public class OutputToGeneralTestEventsConverter implements ProcessOutputConsumer @NonNls private static final String ATTR_VAL_TEST_FAILED = "testFailed"; public void visitTestSuiteStarted(@NotNull final TestSuiteStarted suiteStarted) { - final String locationUrl = suiteStarted.getAttributes().get(ATTR_KEY_LOCATION_URL); + final String locationUrl = fetchTestLocation(suiteStarted); fireOnSuiteStarted(suiteStarted.getSuiteName(), locationUrl); } + @Nullable + private String fetchTestLocation(TestSuiteStarted suiteStarted) { + final Map attrs = suiteStarted.getAttributes(); + final String location = attrs.get(ATTR_KEY_LOCATION_URL); + if (location == null) { + // try old API + final String oldLocation = attrs.get(ATTR_KEY_LOCATION_URL_OLD); + if (oldLocation != null) { + LOG.error("Test Runner API was changed for TeamCity 5.0 compatibility. Please use 'locationHint' attribute instead of 'location'."); + return oldLocation; + } + return null; + } + return location; + } + public void visitTestSuiteFinished(@NotNull final TestSuiteFinished suiteFinished) { fireOnSuiteFinished(suiteFinished.getSuiteName()); } -- 2.11.4.GIT