• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2023 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5from __future__ import annotations
6
7import unittest
8
9from crossbench.plt import MachineArch
10from tests import test_helper
11
12
13class MachineArchTestCase(unittest.TestCase):
14
15  def test_is_arm(self):
16    self.assertFalse(MachineArch.IA32.is_arm)
17    self.assertFalse(MachineArch.X64.is_arm)
18    self.assertTrue(MachineArch.ARM_32.is_arm)
19    self.assertTrue(MachineArch.ARM_64.is_arm)
20
21  def test_is_intel(self):
22    self.assertTrue(MachineArch.IA32.is_intel)
23    self.assertTrue(MachineArch.X64.is_intel)
24    self.assertFalse(MachineArch.ARM_32.is_intel)
25    self.assertFalse(MachineArch.ARM_64.is_intel)
26
27  def test_is_32bit(self):
28    self.assertTrue(MachineArch.IA32.is_32bit)
29    self.assertFalse(MachineArch.X64.is_32bit)
30    self.assertTrue(MachineArch.ARM_32.is_32bit)
31    self.assertFalse(MachineArch.ARM_64.is_32bit)
32
33  def test_is_64bit(self):
34    self.assertFalse(MachineArch.IA32.is_64bit)
35    self.assertTrue(MachineArch.X64.is_64bit)
36    self.assertFalse(MachineArch.ARM_32.is_64bit)
37    self.assertTrue(MachineArch.ARM_64.is_64bit)
38
39  def test_str(self):
40    self.assertEqual(str(MachineArch.IA32), "ia32")
41    self.assertEqual(str(MachineArch.X64), "x64")
42    self.assertEqual(str(MachineArch.ARM_32), "arm32")
43    self.assertEqual(str(MachineArch.ARM_64), "arm64")
44
45
46if __name__ == "__main__":
47  test_helper.run_pytest(__file__)
48