blob: 9e224b2b383242da8d1f65118f36e8c96f41f111 [file] [log] [blame]
# Copyright 2017 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Starboard Linux X64 DirectFB platform configuration."""
from starboard.linux.shared import gyp_configuration as shared_configuration
from starboard.tools.testing import test_filter
class CobaltLinuxX64DirectFbConfiguration(
shared_configuration.LinuxConfiguration):
# Unfortunately, some memory leaks outside of our control, and difficult
# to pattern match with ASAN's suppression list, appear in DirectFB
# builds, and so ASAN must be disabled.
def __init__(self,
platform='linux-x64directfb',
asan_enabled_by_default=False,
goma_supported_by_compiler=True):
super(CobaltLinuxX64DirectFbConfiguration, self).__init__(
platform, asan_enabled_by_default, goma_supported_by_compiler)
def GetTestFilters(self):
filters = (
super(CobaltLinuxX64DirectFbConfiguration, self).GetTestFilters())
for target, tests in self.__FILTERED_TESTS.iteritems():
filters.extend(test_filter.TestFilter(target, test) for test in tests)
return filters
# All filtered tests are filtered because the DirectFB drivers on
# many Linux distributions are unstable and experience crashes when
# creating and working with SbWindow objects.
__FILTERED_TESTS = {
'nplb': [
'SbBlitterCreateSwapChainFromWindowTest.RainyDayBadDevice',
'SbBlitterCreateSwapChainFromWindowTest.RainyDayBadWindow',
'SbBlitterCreateSwapChainFromWindowTest.RainyDayInvalidSwapChain',
'SbBlitterCreateSwapChainFromWindowTest.SunnyDay',
'SbBlitterCreateSwapChainFromWindowTest.SunnyDayMultipleTimes',
'SbBlitterFlipSwapChainTest.SunnyDay',
'SbBlitterGetRenderTargetFromSwapChainTest.SunnyDay',
'SbBlitterGetRenderTargetFromSwapChainTest.SunnyDayCanDraw',
'SbPlayerTest.AudioOnly',
'SbPlayerTest.Audioless',
'SbPlayerTest.MultiPlayer',
'SbPlayerTest.NullCallbacks',
'SbPlayerTest.SunnyDay',
'SbWindowCreateTest.SunnyDayDefault',
'SbWindowCreateTest.SunnyDayDefaultSet',
'SbWindowGetPlatformHandleTest.RainyDay',
'SbWindowGetPlatformHandleTest.SunnyDay',
'SbWindowGetSizeTest.RainyDayInvalid',
'SbWindowGetSizeTest.SunnyDay',
],
'player_filter_tests': [test_filter.FILTER_ALL],
}
def CreatePlatformConfig():
return CobaltLinuxX64DirectFbConfiguration()