blob: 31e37b22db3fdf28463e9b8b22067ce547bf6ad6 [file] [log] [blame]
# Copyright 2019 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Test crows_setup_toolchains."""
import os
from chromite.lib import cros_test_lib
from chromite.lib import osutils
from chromite.scripts import cros_setup_toolchains
class UtilsTest(cros_test_lib.MockTempDirTestCase):
"""Tests for various small util funcs."""
def testFileIsCrosSdkElf(self) -> None:
"""Verify FileIsCrosSdkElf on x86_64 ELFs."""
path = os.path.join(self.tempdir, "file")
data = (
b"\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00"
b">\x00"
)
osutils.WriteFile(path, data, mode="wb")
self.assertTrue(cros_setup_toolchains.FileIsCrosSdkElf(path))
def testArmIsNotCrosSdkElf(self) -> None:
"""Verify FileIsCrosSdkElf on aarch64 ELFs."""
path = os.path.join(self.tempdir, "file")
data = (
b"\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00"
b"(\x00"
)
osutils.WriteFile(path, data, mode="wb")
self.assertFalse(cros_setup_toolchains.FileIsCrosSdkElf(path))
def testScriptIsNotCrosSdkElf(self) -> None:
"""Verify FileIsCrosSdkElf on shell scripts."""
path = os.path.join(self.tempdir, "file")
data = "#!/bin/sh\necho hi\n"
osutils.WriteFile(path, data)
self.assertFalse(cros_setup_toolchains.FileIsCrosSdkElf(path))