| #!/usr/bin/env python3 |
| # Copyright 2024 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Tests for clean_up_old_llvm_patches""" |
| |
| import unittest |
| |
| from llvm_tools import clean_up_old_llvm_patches |
| from llvm_tools import test_helpers |
| |
| |
| ANDROID_VERSION_PY_EXAMPLE = """ |
| def get_svn_revision(): |
| return "r654321" |
| """ |
| |
| |
| class Test(test_helpers.TempDirTestCase): |
| """Tests for clean_up_old_llvm_patches""" |
| |
| def test_android_version_autodetection(self): |
| android_root = self.make_tempdir() |
| android_version_py = ( |
| android_root / "toolchain" / "llvm_android" / "android_version.py" |
| ) |
| android_version_py.parent.mkdir(parents=True) |
| android_version_py.write_text( |
| ANDROID_VERSION_PY_EXAMPLE, encoding="utf-8" |
| ) |
| |
| self.assertEqual( |
| clean_up_old_llvm_patches.find_android_llvm_version(android_root), |
| 654321, |
| ) |
| |
| def test_chromeos_version_autodetection(self): |
| chromiumos_overlay = self.make_tempdir() |
| llvm = chromiumos_overlay / "sys-devel" / "llvm" |
| llvm.mkdir(parents=True) |
| |
| file_names = ( |
| "Manifest", |
| "llvm-12.0-r1.ebuild", |
| "llvm-18.0_pre123456-r90.ebuild", |
| "llvm-9999.ebuild", |
| ) |
| for f in file_names: |
| (llvm / f).touch() |
| |
| self.assertEqual( |
| clean_up_old_llvm_patches.find_chromeos_llvm_version( |
| chromiumos_overlay |
| ), |
| 123456, |
| ) |