56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
import unittest
|
|
from unittest import mock
|
|
from tests.recipes.recipe_lib_test import BaseTestForCmakeRecipe
|
|
|
|
|
|
class TestOpenalRecipe(BaseTestForCmakeRecipe, unittest.TestCase):
|
|
"""
|
|
An unittest for recipe :mod:`~pythonforandroid.recipes.openal`
|
|
"""
|
|
recipe_name = "openal"
|
|
|
|
@mock.patch("pythonforandroid.recipes.openal.sh.cmake")
|
|
@mock.patch("pythonforandroid.recipes.openal.sh.make")
|
|
@mock.patch("pythonforandroid.recipes.openal.sh.cp")
|
|
@mock.patch("pythonforandroid.util.chdir")
|
|
@mock.patch("pythonforandroid.build.ensure_dir")
|
|
@mock.patch("pythonforandroid.archs.find_executable")
|
|
def test_prebuild_arch(
|
|
self,
|
|
mock_find_executable,
|
|
mock_ensure_dir,
|
|
mock_current_directory,
|
|
mock_sh_cp,
|
|
mock_sh_make,
|
|
mock_sh_cmake,
|
|
):
|
|
mock_find_executable.return_value = (
|
|
"/opt/android/android-ndk/toolchains/"
|
|
"llvm/prebuilt/linux-x86_64/bin/clang"
|
|
)
|
|
self.recipe.build_arch(self.arch)
|
|
|
|
# make sure that the mocked methods are actually called
|
|
mock_ensure_dir.assert_called()
|
|
mock_current_directory.assert_called()
|
|
mock_find_executable.assert_called()
|
|
mock_sh_cp.assert_called()
|
|
mock_sh_make.assert_called()
|
|
mock_sh_cmake.assert_called()
|
|
|
|
@mock.patch("pythonforandroid.recipes.openal.sh.cp")
|
|
@mock.patch("pythonforandroid.util.chdir")
|
|
@mock.patch("pythonforandroid.build.ensure_dir")
|
|
@mock.patch("pythonforandroid.archs.find_executable")
|
|
def test_build_arch(
|
|
self,
|
|
mock_find_executable,
|
|
mock_ensure_dir,
|
|
mock_current_directory,
|
|
mock_sh_cp,
|
|
):
|
|
# We overwrite the base test method because we need to mock a little
|
|
# more with this recipe (`sh.cp` and `sh.rm`)
|
|
super().test_build_arch()
|
|
# make sure that the mocked methods are actually called
|
|
mock_sh_cp.assert_called()
|