#!/usr/bin/env python3
# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import unittest
from models import TestPlatform
class ModelsTest(unittest.TestCase):
def test_platforms_from_chars(self):
self.assertCountEqual({TestPlatform.LINUX},
TestPlatform.get_platforms_from_chars("L"))
self.assertCountEqual({TestPlatform.MAC},
TestPlatform.get_platforms_from_chars("M"))
self.assertCountEqual({TestPlatform.WINDOWS},
TestPlatform.get_platforms_from_chars("W"))
self.assertCountEqual({TestPlatform.CHROME_OS},
TestPlatform.get_platforms_from_chars("C"))
self.assertCountEqual({TestPlatform.WINDOWS, TestPlatform.CHROME_OS},
TestPlatform.get_platforms_from_chars("WC"))
def test_platforms_from_browsertest_filename(self):
self.assertCountEqual(
{TestPlatform.LINUX},
TestPlatform.get_platforms_from_browsertest_filename(
"browsertest_name_linux.cc"))
self.assertCountEqual(
{TestPlatform.MAC},
TestPlatform.get_platforms_from_browsertest_filename(
"browsertest_name_mac.cc"))
self.assertCountEqual(
{TestPlatform.WINDOWS},
TestPlatform.get_platforms_from_browsertest_filename(
"browsertest_name_win.cc"))
self.assertCountEqual(
{TestPlatform.CHROME_OS},
TestPlatform.get_platforms_from_browsertest_filename(
"browsertest_name_cros.cc"))
self.assertCountEqual(
{TestPlatform.WINDOWS, TestPlatform.CHROME_OS},
TestPlatform.get_platforms_from_browsertest_filename(
"browsertest_name_win_cros.cc"))
# No suffixes should apply to all platforms
self.assertCountEqual(
TestPlatform,
TestPlatform.get_platforms_from_browsertest_filename(
"browsertest_name.cc"))
def test_platforms_to_fixture_suffix(self):
self.assertEqual(
"MacWinLinux",
TestPlatform.get_test_fixture_suffix(
{TestPlatform.MAC, TestPlatform.WINDOWS, TestPlatform.LINUX}))
self.assertEqual(
"Cros",
TestPlatform.get_test_fixture_suffix({TestPlatform.CHROME_OS}))
self.assertEqual(
"",
TestPlatform.get_test_fixture_suffix({
TestPlatform.MAC, TestPlatform.WINDOWS, TestPlatform.LINUX,
TestPlatform.CHROME_OS
}))
self.assertEqual("", TestPlatform.get_test_fixture_suffix({}))
if __name__ == '__main__':
unittest.main()