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