| Index: chrome/test/chromedriver/test/test_expectations
|
| diff --git a/chrome/test/chromedriver/test/test_expectations b/chrome/test/chromedriver/test/test_expectations
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1e17ea2f34eddbbdcde64be4933c0b9885408525
|
| --- /dev/null
|
| +++ b/chrome/test/chromedriver/test/test_expectations
|
| @@ -0,0 +1,223 @@
|
| +# Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +"""Test expectation list for WebDriver Java acceptance tests.
|
| +
|
| +It is evaluated through Python.
|
| +"""
|
| +
|
| +import fnmatch
|
| +
|
| +
|
| +_REVISION_NEGATIVE_FILTER = {}
|
| +_REVISION_NEGATIVE_FILTER['HEAD'] = [
|
| + 'AlertsTest.testIncludesAlertTextInUnhandledAlertException',
|
| + 'AlertsTest.testSettingTheValueOfAnAlertThrows',
|
| + 'AlertsTest.testShouldGetTextOfAlertOpenedInSetTimeout',
|
| + 'AlertsTest.testShouldHandleAlertOnPageUnload',
|
| + 'AlertsTest.testShouldHandleAlertOnWindowClose',
|
| + 'AlertsTest.testShouldNotHandleAlertInAnotherWindow',
|
| + 'AlertsTest.testSwitchingToMissingAlertInAClosedWindowThrows',
|
| + 'AuthenticatedPageLoadingTest.*',
|
| + 'AvailableLogsTest.driverLogShouldBeEnabledByDefault',
|
| + 'BasicMouseInterfaceTest.testMousePositionIsNotPreservedInActionsChain',
|
| + 'BasicMouseInterfaceTest.testMovingIntoAnImageEnclosedInALink',
|
| + 'BasicMouseInterfaceTest.testMovingMouseBackAndForthPastViewPort',
|
| + 'BasicMouseInterfaceTest.testMovingMousePastViewPort',
|
| + 'ChromeOptionsFunctionalTest.canStartChromeWithCustomOptions',
|
| + 'ClickScrollingTest.testShouldBeAbleToClickOnAnElementHiddenByDoubleOverflow',
|
| + 'ClickScrollingTest.testShouldNotBeAbleToClickElementThatIsOutOfViewInANonScrollableFrame',
|
| + 'ClickScrollingTest.testShouldNotScrollIfAlreadyScrolledAndElementIsInView',
|
| + 'ClickTest.testCanClickAnImageMapArea',
|
| + 'ClickTest.testShouldBeAbleToClickOnAnElementInFrameGreaterThanTwoViewports',
|
| + 'CombinedInputActionsTest.testClickingOnFormElements',
|
| + 'CoordinatesTest.testShouldScrollPageAndGetCoordinatesOfAnElementThatIsOutOfViewPort',
|
| + 'CorrectEventFiringTest.testShouldFireEventsInTheRightOrder',
|
| + 'CorrectEventFiringTest.testShouldFireFocusEventWhenClicking',
|
| + 'DragAndDropTest.testDragTooFar',
|
| + # Flaky: https://code.google.com/p/chromedriver/issues/detail?id=374
|
| + 'ElementFindingTest.testShouldNotBeAbleToFindAnElementOnABlankPage',
|
| + 'ExecutingAsyncJavascriptTest.includesAlertTextInUnhandledAlertException',
|
| + 'ExecutingAsyncJavascriptTest.shouldCatchErrorsWithMessageAndStacktraceWhenExecutingInitialScript',
|
| + 'ExecutingAsyncJavascriptTest.throwsIfAlertHappensDuringScript',
|
| + 'ExecutingAsyncJavascriptTest.throwsIfAlertHappensDuringScriptWhichTimesOut',
|
| + 'ExecutingAsyncJavascriptTest.throwsIfScriptTriggersAlert',
|
| + 'ExecutingAsyncJavascriptTest.throwsIfScriptTriggersAlertWhichTimesOut',
|
| + 'ExecutingJavascriptTest.testShouldThrowExceptionIfExecutingOnNoPage',
|
| + 'ExecutingJavascriptTest.testShouldThrowAnExceptionWithMessageAndStacktraceWhenTheJavascriptIsBad',
|
| + 'FormHandlingTest.testShouldNotBeAbleToSubmitAFormThatDoesNotExist',
|
| + 'FrameSwitchingTest.testShouldNotBeAbleToDoAnythingTheFrameIsDeletedFromUnderUs',
|
| + # Disabled until https://code.google.com/p/chromedriver/issues/detail?id=345 is fixed.
|
| + 'I18nTest.*',
|
| + 'I18nTest.testShouldBeAbleToActivateIMEEngine',
|
| + # Broken because AddWebStorage.java is broken.
|
| + 'LocalStorageTest.*',
|
| + 'LocationContextTest.*',
|
| + 'MiscTest.testShouldBeAbleToGetTheSourceOfAnXmlDocument',
|
| + 'PageLoadingTest.shouldBeAbleToDisableAcceptOfInsecureSslCertsWithRequiredCapability',
|
| + 'PageLoadingTest.testShouldNotWaitIndefinitelyIfAnExternalResourceFailsToLoad',
|
| + # PerformanceLoggingTest is for firefox only; "performance" log deprecated.
|
| + 'PerformanceLoggingTest.*',
|
| + 'ProxySettingTest.canConfigureProxyWithRequiredCapability',
|
| + 'ProxySettingTest.requiredProxyCapabilityShouldHavePriority',
|
| + 'RenderedWebElementTest.testShouldHandleNonIntegerPositionAndSize',
|
| + # Broken because AddWebStorage.java is broken.
|
| + 'SessionStorageTest.*',
|
| + 'SqlDatabaseTest.*',
|
| + 'SvgDocumentTest.testClickOnSvgElement',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshot',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotAtIFramePage',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotWithLongX',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotWithLongY',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotWithTooLong',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotWithTooLongX',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotWithTooLongY',
|
| + 'TextHandlingTest.testShouldNotReturnLtrMarks',
|
| + 'TextPagesTest.testShouldBeAbleToLoadASimplePageOfText',
|
| + 'TextPagesTest.testShouldThrowExceptionWhenAddingCookieToAPageThatIsNotHtml',
|
| + 'TypingTest.testGenerateKeyPressEventEvenWhenElementPreventsDefault',
|
| + 'TypingTest.testNonPrintableCharactersShouldWorkWithContentEditableOrDesignModeSet',
|
| + 'TypingTest.testShouldBeAbleToTypeIntoContentEditableElementWithExistingValue',
|
| + 'TypingTest.testShouldNotTypeIntoElementsThatPreventKeyDownEvents',
|
| + 'TypingTest.testTypingIntoAnIFrameWithContentEditableOrDesignModeSet',
|
| + 'UnexpectedAlertBehaviorTest.*',
|
| + 'VisibilityTest.testElementHiddenByOverflowXIsNotVisible',
|
| + 'VisibilityTest.testElementHiddenByOverflowYIsNotVisible',
|
| + 'VisibilityTest.tooSmallAWindowWithOverflowHiddenIsNotAProblem',
|
| + 'WindowTest.*',
|
| + # https://code.google.com/p/chromedriver/issues/detail?id=412
|
| + 'ClickTest.testCanClickOnAnElementWithTopSetToANegativeNumber',
|
| + 'ClickTest.testShouldBeAbleToClickOnAnElementInTheViewport',
|
| + 'ExecutingAsyncJavascriptTest.shouldBeAbleToExecuteAsynchronousScripts',
|
| + 'FormHandlingTest.testShouldClickOnSubmitInputElements',
|
| + 'FrameSwitchingTest.testShouldBeAbleToClickInAFrame',
|
| + 'FrameSwitchingTest.testShouldBeAbleToSwitchToTheTopIfTheFrameIsDeletedFromUnderUs',
|
| + 'FrameSwitchingTest.testShouldAllowTheUserToSwitchToAnIFrameAndRemainFocusedOnIt',
|
| + 'FrameSwitchingTest.testShouldBeAbleToClickInASubFrame',
|
| + 'FrameSwitchingTest.testShouldNotSwitchMagicallyToTheTopWindow',
|
| + 'ImplicitWaitTest.testShouldImplicitlyWaitUntilAtLeastOneElementIsFoundWhenSearchingForMany',
|
| + 'ImplicitWaitTest.testShouldImplicitlyWaitForAnElementToBeVisibleBeforeInteracting',
|
| + 'ImplicitWaitTest.testShouldReturnAfterFirstAttemptToFindManyAfterDisablingImplicitWaits',
|
| + 'ImplicitWaitTest.testShouldImplicitlyWaitForASingleElement',
|
| + 'XPathElementFindingTest.testShouldBeAbleToSearchForMultipleAttributes',
|
| +]
|
| +
|
| +
|
| +_OS_NEGATIVE_FILTER = {}
|
| +_OS_NEGATIVE_FILTER['win'] = [
|
| + # Flaky: https://code.google.com/p/chromedriver/issues/detail?id=282
|
| + 'PageLoadingTest.testShouldNotHangIfDocumentOpenCallIsNeverFollowedByDocumentCloseCall',
|
| + # Flaky: https://code.google.com/p/chromedriver/issues/detail?id=373
|
| + 'RenderedWebElementTest.testHoverPersists',
|
| + 'RenderedWebElementTest.canClickOnASuckerFishStyleMenu',
|
| + # Flaky: https://code.google.com/p/chromedriver/issues/detail?id=416
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotAtIFramePageAfterSwitching',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotAtFramePage',
|
| +]
|
| +_OS_NEGATIVE_FILTER['linux'] = []
|
| +_OS_NEGATIVE_FILTER['mac'] = [
|
| + # https://code.google.com/p/chromedriver/issues/detail?id=26
|
| + 'AlertsTest.testAlertShouldNotAllowAdditionalCommandsIfDismissed',
|
| + 'AlertsTest.testShouldAllowUsersToDismissAnAlertManually',
|
| + 'FormHandlingTest.handleFormWithJavascriptAction',
|
| + # Flaky: https://code.google.com/p/chromedriver/issues/detail?id=354
|
| + 'AlertsTest.testShouldAllowUsersToAcceptAnAlertInAFrame',
|
| + # Flaky: https://code.google.com/p/chromedriver/issues/detail?id=375
|
| + 'PageLoadingTest.testShouldBeAbleToNavigateBackInTheBrowserHistoryInPresenceOfIframes',
|
| +]
|
| +_OS_NEGATIVE_FILTER['android'] = [
|
| + 'ChromeOptionsFunctionalTest.canStartChromeWithCustomOptions',
|
| + 'ClickScrollingTest.testShouldBeAbleToClickElementThatIsOutOfViewInANestedFrame',
|
| + 'ClickScrollingTest.testShouldBeAbleToClickElementThatIsOutOfViewInANestedFrameThatIsOutOfView',
|
| + 'ClickTest.testShouldOnlyFollowHrefOnce',
|
| + 'CombinedInputActionsTest.testCombiningShiftAndClickResultsInANewWindow',
|
| + 'ElementSelectingTest.testShouldBeAbleToToggleEnabledMultiSelectOption',
|
| + 'FrameSwitchingTest.testShouldBeAbleToClickInAFrameThatRewritesTopWindowLocation',
|
| + 'JavascriptEnabledDriverTest.testShouldBeAbleToClickALinkThatClosesAWindow',
|
| + 'PageLoadingTest.testShouldBeAbleToAccessPagesWithAnInsecureSslCertificate',
|
| + 'PageLoadingTest.testShouldBeAbleToAccessPagesWithAnInsecureSslCertificate',
|
| + 'PageLoadingTest.testShouldBeAbleToNavigateBackInTheBrowserHistoryInPresenceOfIframes',
|
| + 'PageLoadingTest.testShouldFollowMetaRedirects',
|
| + 'PageLoadingTest.testShouldWaitForDocumentToBeLoaded',
|
| + 'PerformanceLogTypeTest.pageLoadShouldProducePerformanceLogEntries',
|
| + 'PerformanceLogTypeTest.shouldBeAbleToEnablePerformanceLog',
|
| + 'SelectElementHandlingTest.testShouldBePossibleToDeselectASingleOptionFromASelectWhichAllowsMultipleChoices',
|
| + 'SelectElementTest.shouldAllowOptionsToBeDeselectedByIndex',
|
| + 'SelectElementTest.shouldAllowOptionsToBeDeselectedByReturnedValue',
|
| + 'SelectElementTest.shouldAllowUserToDeselectAllWhenSelectSupportsMultipleSelections',
|
| + 'SelectElementTest.shouldAllowUserToDeselectOptionsByVisibleText',
|
| + 'SessionHandlingTest.callingAnyOperationAfterClosingTheLastWindowShouldThrowAnException',
|
| + 'SessionHandlingTest.callingQuitAfterClosingTheLastWindowIsANoOp',
|
| + 'TakesScreenshotTest.testCaptureToBase64',
|
| + 'TakesScreenshotTest.testSaveScreenshotAsFile',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotAtFramePage',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotAtFramePageAfterSwitching',
|
| + 'TakesScreenshotTest.testShouldCaptureScreenshotAtIFramePageAfterSwitching',
|
| +
|
| + # Alerts are not yet supported on Android.
|
| + 'AlertsTest.*',
|
| +
|
| + # http://crbug.com/156390
|
| + 'DragAndDropTest.*',
|
| +
|
| + # Touch events are not yet supported.
|
| + 'TouchFlickTest.*',
|
| + 'TouchScrollTest.*',
|
| + 'TouchSingleTapTest.*',
|
| +
|
| + # These tests start multiple sessions, which is not supported on a single
|
| + # Android device.
|
| + "AvailableLogsTest.shouldBeAbleToEnableProfilerLog",
|
| + "GetLogsTest.turningOffLogShouldMeanNoLogMessages",
|
| + "SessionHandlingTest.callingAnyOperationAfterQuitShouldThrowAnException",
|
| + "SessionHandlingTest.callingQuitMoreThanOnceOnASessionIsANoOp",
|
| + # Test is written using local files; doesn't work on Android.
|
| + 'UploadTest.testFileUploading',
|
| + # Not applicable on Chromium Test Shell (doesn't support tabs).
|
| + 'WindowSwitchingTest.*',
|
| +
|
| + # Flaky: https://code.google.com/p/chromedriver/issues/detail?id=441
|
| + 'PageLoadingTest.testShouldBeAbleToNavigateBackInTheBrowserHistory',
|
| +]
|
| +
|
| +
|
| +def _GetRevisionNegativeFilter(chrome_version):
|
| + if chrome_version in _REVISION_NEGATIVE_FILTER:
|
| + return _REVISION_NEGATIVE_FILTER[chrome_version]
|
| + return _REVISION_NEGATIVE_FILTER['HEAD']
|
| +
|
| +
|
| +def GetDisabledTestMatchers(operating_system, chrome_version):
|
| + """Returns the list of disabled test matchers for the specific configuration.
|
| +
|
| + Args:
|
| + operating_system: The operating system, one of 'linux', 'mac', 'win', or
|
| + 'android'.
|
| + chrome_version: Chrome version to test against, e.g., 'HEAD' or '26'.
|
| +
|
| + Returns:
|
| + List of disabled test matchers, which may contain '*' wildcards.
|
| + """
|
| + return (_OS_NEGATIVE_FILTER[operating_system] +
|
| + _GetRevisionNegativeFilter(chrome_version))[:]
|
| +
|
| +
|
| +def ApplyJavaTestFilter(operating_system, chrome_version, tests):
|
| + """Applies the test filter to the given list of tests.
|
| +
|
| + Args:
|
| + operating_system: The operating system, one of 'linux', 'mac', 'win', or
|
| + 'android'.
|
| + chrome_version: Chrome version to test against, e.g., 'HEAD' or '26'.
|
| + test: list of test names to filter.
|
| +
|
| + Returns:
|
| + Set of passed test names.
|
| + """
|
| + filters = (_OS_NEGATIVE_FILTER[operating_system] +
|
| + _GetRevisionNegativeFilter(chrome_version))
|
| + passed = set(tests)
|
| + for f in filters:
|
| + passed.difference_update(set(t for t in tests if fnmatch.fnmatch(t, f)))
|
| + return passed
|
|
|