Skip to content

Commit

Permalink
Replace custom TestBufferConanOutput with Python Mock (#8618)
Browse files Browse the repository at this point in the history
* replace TestBufferOutput with Mock

* added imports
  • Loading branch information
memsharded committed Mar 10, 2021
1 parent 0fd3e50 commit a866f48
Show file tree
Hide file tree
Showing 31 changed files with 126 additions and 118 deletions.
4 changes: 2 additions & 2 deletions conans/test/functional/scm/test_scm_to_conandata.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@

import pytest
import yaml
from mock import Mock

from conans.client.graph.python_requires import ConanPythonRequire
from conans.client.loader import ConanFileLoader
from conans.client.tools.env import environment_append
from conans.model.ref import ConanFileReference
from conans.paths import DATA_YML
from conans.test.utils.tools import TestClient
from conans.test.utils.mocks import TestBufferConanOutput
from conans.util.files import load
from conans.util.files import save_files

Expand Down Expand Up @@ -165,7 +165,7 @@ class Recipe(ConanFile):


class ParseSCMFromConanDataTestCase(unittest.TestCase):
loader = ConanFileLoader(runner=None, output=TestBufferConanOutput(),
loader = ConanFileLoader(runner=None, output=Mock(),
python_requires=ConanPythonRequire(None, None))

def test_parse_data(self):
Expand Down
2 changes: 1 addition & 1 deletion conans/test/integration/remote/rest_api_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ def setUpClass(cls):
save(filename, "")
config = ConanClientConfigParser(filename)
requester = ConanRequester(config, requests)
client_factory = RestApiClientFactory(TestBufferConanOutput(), requester=requester,
client_factory = RestApiClientFactory(Mock(), requester=requester,
config=config)
localdb = LocalDBMock()

Expand Down
6 changes: 2 additions & 4 deletions conans/test/integration/tgz_macos_dot_files_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
import unittest

import pytest
from mock import Mock

from conans.client.remote_manager import uncompress_file
from conans.model.ref import PackageReference
from conans.paths import EXPORT_SOURCES_TGZ_NAME
from conans.test.utils.mocks import TestBufferConanOutput
from conans.test.utils.tools import TestClient, NO_SETTINGS_PACKAGE_ID


Expand All @@ -21,9 +21,7 @@ class TgzMacosDotFilesTest(unittest.TestCase):
def _test_for_metadata_in_zip_file(self, tgz, annotated_file, dot_file_expected):
tmp_folder = tempfile.mkdtemp()
try:
uncompress_file(src_path=tgz,
dest_folder=tmp_folder,
output=TestBufferConanOutput())
uncompress_file(src_path=tgz, dest_folder=tmp_folder, output=Mock())
self.assertTrue(os.path.exists(os.path.join(tmp_folder, annotated_file)))
self.assertEqual(dot_file_expected,
os.path.exists(os.path.join(tmp_folder, "._" + annotated_file)))
Expand Down
23 changes: 10 additions & 13 deletions conans/test/unittests/client/conanfile_loader_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@
from collections import OrderedDict

import six
from mock import Mock
from mock.mock import call
from mock import Mock, call
from parameterized import parameterized
import pytest

from conans.client.graph.python_requires import ConanPythonRequire
from conans.client.loader import ConanFileLoader, ConanFileTextLoader,\
_parse_conanfile
from conans.client.loader import ConanFileLoader, ConanFileTextLoader, _parse_conanfile
from conans.client.tools.files import chdir
from conans.errors import ConanException
from conans.model.options import OptionsValues
Expand All @@ -21,14 +19,13 @@
from conans.model.settings import Settings
from conans.test.utils.test_files import temp_folder
from conans.test.utils.tools import create_profile
from conans.test.utils.mocks import TestBufferConanOutput
from conans.util.files import save


class ConanLoaderTest(unittest.TestCase):

def test_inherit_short_paths(self):
loader = ConanFileLoader(None, TestBufferConanOutput(), ConanPythonRequire(None, None))
loader = ConanFileLoader(None, Mock(), ConanPythonRequire(None, None))
tmp_dir = temp_folder()
conanfile_path = os.path.join(tmp_dir, "conanfile.py")
conanfile = """from base_recipe import BasePackage
Expand All @@ -48,7 +45,7 @@ class BasePackage(ConanFile):
self.assertEqual(result.short_paths, True)

def test_requires_init(self):
loader = ConanFileLoader(None, TestBufferConanOutput(), ConanPythonRequire(None, None))
loader = ConanFileLoader(None, Mock(), ConanPythonRequire(None, None))
tmp_dir = temp_folder()
conanfile_path = os.path.join(tmp_dir, "conanfile.py")
conanfile = """from conans import ConanFile
Expand Down Expand Up @@ -80,7 +77,7 @@ class MyTest(ConanFile):
profile = Profile()
profile.processed_settings = Settings({"os": ["Windows", "Linux"]})
profile.package_settings = {"MyPackage": OrderedDict([("os", "Windows")])}
loader = ConanFileLoader(None, TestBufferConanOutput(), ConanPythonRequire(None, None))
loader = ConanFileLoader(None, Mock(), ConanPythonRequire(None, None))

recipe = loader.load_consumer(conanfile_path, profile)
self.assertEqual(recipe.settings.os, "Windows")
Expand Down Expand Up @@ -172,7 +169,7 @@ def test_load_conan_txt(self):
tmp_dir = temp_folder()
file_path = os.path.join(tmp_dir, "file.txt")
save(file_path, file_content)
loader = ConanFileLoader(None, TestBufferConanOutput(), None)
loader = ConanFileLoader(None, Mock(), None)
ret = loader.load_conanfile_txt(file_path, create_profile())
options1 = OptionsValues.loads("""OpenCV:use_python=True
OpenCV:other_option=False
Expand Down Expand Up @@ -201,7 +198,7 @@ def test_load_conan_txt(self):
tmp_dir = temp_folder()
file_path = os.path.join(tmp_dir, "file.txt")
save(file_path, file_content)
loader = ConanFileLoader(None, TestBufferConanOutput(), None)
loader = ConanFileLoader(None, Mock(), None)
with six.assertRaisesRegex(self, ConanException, "The reference has too many '/'"):
loader.load_conanfile_txt(file_path, create_profile())

Expand All @@ -213,7 +210,7 @@ def test_load_conan_txt(self):
tmp_dir = temp_folder()
file_path = os.path.join(tmp_dir, "file.txt")
save(file_path, file_content)
loader = ConanFileLoader(None, TestBufferConanOutput(), None)
loader = ConanFileLoader(None, Mock(), None)
with six.assertRaisesRegex(self, ConanException, "is too long. Valid names must contain"):
loader.load_conanfile_txt(file_path, create_profile())

Expand All @@ -229,7 +226,7 @@ def test_load_imports_arguments(self):
tmp_dir = temp_folder()
file_path = os.path.join(tmp_dir, "file.txt")
save(file_path, file_content)
loader = ConanFileLoader(None, TestBufferConanOutput(), None)
loader = ConanFileLoader(None, Mock(), None)
ret = loader.load_conanfile_txt(file_path, create_profile())

ret.copy = Mock()
Expand All @@ -250,7 +247,7 @@ def test_load_options_error(self):
tmp_dir = temp_folder()
file_path = os.path.join(tmp_dir, "file.txt")
save(file_path, conanfile_txt)
loader = ConanFileLoader(None, TestBufferConanOutput(), None)
loader = ConanFileLoader(None, Mock(), None)
with six.assertRaisesRegex(self, ConanException,
r"Error while parsing \[options\] in conanfile\n"
"Options should be specified as 'pkg:option=value'"):
Expand Down
9 changes: 5 additions & 4 deletions conans/test/unittests/client/generators/b2_test.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import unittest

from mock import Mock

from conans.client.conf import get_default_settings_yml
from conans.client.generators.b2 import B2Generator
from conans.model.build_info import CppInfo, DepsCppInfo
from conans.model.build_info import CppInfo
from conans.model.conan_file import ConanFile
from conans.model.env_info import EnvValues
from conans.model.ref import ConanFileReference
from conans.model.settings import Settings
from conans.test.utils.mocks import TestBufferConanOutput


class B2GeneratorTest(unittest.TestCase):
Expand All @@ -21,7 +22,7 @@ def test_b2(self):
settings.build_type = "Release"
settings.cppstd = "gnu17"

conanfile = ConanFile(TestBufferConanOutput(), None)
conanfile = ConanFile(Mock(), None)
conanfile.initialize(Settings({}), EnvValues())
conanfile.settings = settings

Expand Down Expand Up @@ -60,7 +61,7 @@ def test_b2(self):
self.assertEqual(cv, content[ck])

def test_b2_empty_settings(self):
conanfile = ConanFile(TestBufferConanOutput(), None)
conanfile = ConanFile(Mock(), None)
conanfile.initialize(Settings({}), EnvValues())

generator = B2Generator(conanfile)
Expand Down
5 changes: 3 additions & 2 deletions conans/test/unittests/client/generators/boost_build_test.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
import unittest

from mock import Mock

from conans.client.generators.boostbuild import BoostBuildGenerator
from conans.model.build_info import CppInfo
from conans.model.conan_file import ConanFile
from conans.model.env_info import EnvValues
from conans.model.ref import ConanFileReference
from conans.model.settings import Settings
from conans.test.utils.mocks import TestBufferConanOutput


class BoostJamGeneratorTest(unittest.TestCase):

def test_variables_setup(self):

conanfile = ConanFile(TestBufferConanOutput(), None)
conanfile = ConanFile(Mock(), None)
conanfile.initialize(Settings({}), EnvValues())

ref = ConanFileReference.loads("MyPkg/0.1@lasote/stables")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
import unittest

from mock import Mock

from conans.client.generators import CMakeFindPackageMultiGenerator
from conans.model.build_info import CppInfo
from conans.model.conan_file import ConanFile
from conans.model.env_info import EnvValues
from conans.model.ref import ConanFileReference
from conans.test.unittests.client.generators.cmake_test import _MockSettings
from conans.test.utils.mocks import TestBufferConanOutput


class CMakeFindPackageMultiTest(unittest.TestCase):

def test_cmake_find_package_multi_version(self):
# https://github.com/conan-io/conan/issues/6908
settings_mock = _MockSettings(build_type="Debug")
conanfile = ConanFile(TestBufferConanOutput(), None)
conanfile = ConanFile(Mock(), None)
conanfile.initialize(settings_mock, EnvValues())
ref = ConanFileReference.loads("my_pkg/0.1@user/stable")
cpp_info = CppInfo(ref.name, "")
Expand Down
9 changes: 5 additions & 4 deletions conans/test/unittests/client/generators/cmake_paths_test.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import os
import unittest

from mock import Mock

from conans.client.generators.cmake_paths import CMakePathsGenerator
from conans.model.build_info import CppInfo
from conans.model.conan_file import ConanFile
from conans.model.env_info import EnvValues
from conans.test.utils.test_files import temp_folder
from conans.test.utils.mocks import TestBufferConanOutput
from conans.errors import ConanException


Expand Down Expand Up @@ -37,7 +38,7 @@ class CMakePathsGeneratorTest(unittest.TestCase):

def test_cmake_vars_unit(self):
settings = _MockSettings("Release")
conanfile = ConanFile(TestBufferConanOutput(), None)
conanfile = ConanFile(Mock(), None)
conanfile.initialize(settings, EnvValues())
tmp = temp_folder()
cpp_info = CppInfo("MyLib", tmp)
Expand All @@ -58,7 +59,7 @@ def test_cmake_vars_unit(self):

def test_cpp_info_name(self):
settings = _MockSettings("Release")
conanfile = ConanFile(TestBufferConanOutput(), None)
conanfile = ConanFile(Mock(), None)
conanfile.initialize(settings, EnvValues())
tmp = temp_folder()
cpp_info = CppInfo("pkg_reference_name", tmp)
Expand All @@ -69,7 +70,7 @@ def test_cpp_info_name(self):

def test_cpp_info_names(self):
settings = _MockSettings("Release")
conanfile = ConanFile(TestBufferConanOutput(), None)
conanfile = ConanFile(Mock(), None)
conanfile.initialize(settings, EnvValues())
tmp = temp_folder()
cpp_info = CppInfo("pkg_reference_name", tmp)
Expand Down

0 comments on commit a866f48

Please sign in to comment.