702 filename = self._filesystem.join(self.perf_tests_dir(), "Skipped")
703 if not self._filesystem.exists(filename):
704 _log.debug("Skipped does not exist: %s" % filename)
705 return []
706
707 skipped_file_contents = self._filesystem.read_text_file(filename)
708 line_number = 1
709 tests_to_skip = []
710 for line in skipped_file_contents.split('\n'):
711 match = re.match(r'^\s*(\[(?P<platforms>[\w ]*?)\])?\s*(?P<test>[\w\-\/\.]+?)?\s*(?P<comment>\#.*)?$', line)
712 if not match:
713 _log.error("Synatx error at line %d in %s: %s" % (line_number, filename, line))
714 else:
715 platform_names = filter(lambda token: token, match.group('platforms').lower().split(' ')) if match.group('platforms') else []
716 test_name = match.group('test')
717 if test_name and (not platform_names or self.port_name in platform_names or self._name in platform_names):
718 tests_to_skip.append(test_name)
719
720 line_number += 1
721
722 return tests_to_skip