def test_construct_build_helper_without_project_file(self): conanfile = MockConanfile( MockSettings({'os': 'Linux', 'compiler': 'gcc'})) conanfile.source_folder = '.' build_helper = qbs.Qbs(conanfile) self.assertEqual(build_helper.jobs, tools.cpu_count()) self.assertEqual(build_helper._project_file, conanfile.source_folder)
def test_build_with_custom_configuration(self): conanfile = MockConanfile( MockSettings({'os': 'Linux', 'compiler': 'gcc'}), runner=RunnerMock()) conanfile.source_folder = '.' conanfile.build_folder = '.' build_helper = qbs.Qbs(conanfile) config_name = 'debug' config_values = { 'product.App.boolProperty': True, 'product.App.intProperty': 1337, 'product.App.stringProperty': 'Hello World', 'product.App.stringListProperty': ['Hello', 'World'] } build_helper.add_configuration(config_name, config_values) build_helper.build() self.assertEqual( conanfile.runner.command_called, ('qbs build --no-install --build-directory %s ' '--file %s --jobs %s profile:%s ' 'config:%s %s:%s %s:%s %s:%s %s:%s') % ( conanfile.build_folder, build_helper._project_file, build_helper.jobs, build_helper.use_toolchain_profile, config_name, 'product.App.boolProperty', 'true', 'product.App.intProperty', config_values['product.App.intProperty'], 'product.App.stringProperty', config_values['product.App.stringProperty'], 'product.App.stringListProperty', config_values['product.App.stringListProperty']))
def test_add_configuration(self): conanfile = MockConanfile( MockSettings({'os': 'Linux', 'compiler': 'gcc'})) conanfile.source_folder = '.' build_helper = qbs.Qbs(conanfile) configurations = { 'debug': {'products.MyLib.specialFlags': ['-frtti', '-fexceptions']}, 'release': {'products.MyLib.specialFlags': ['-fno-exceptions', '-fno-rtti']} } for name, config in configurations.items(): build_helper.add_configuration(name, config) self.assertEqual(build_helper._configuration, configurations)
def test_build_all(self): conanfile = MockConanfile( MockSettings({'os': 'Linux', 'compiler': 'gcc'}), runner=RunnerMock()) conanfile.source_folder = '.' conanfile.build_folder = '.' build_helper = qbs.Qbs(conanfile) build_helper.build_all() self.assertEqual( conanfile.runner.command_called, ('qbs build --no-install --build-directory %s ' '--file %s --all-products --jobs %s profile:%s') % ( conanfile.build_folder, build_helper._project_file, build_helper.jobs, build_helper.use_toolchain_profile))
def test_install(self): conanfile = MockConanfile(MockSettings({ 'os': 'Linux', 'compiler': 'gcc' }), runner=RunnerMock()) conanfile.source_folder = '.' conanfile.package_folder = 'pkg' build_helper = qbs.Qbs(conanfile) build_helper.install() self.assertEqual( conanfile.runner.command_called, ('qbs install --no-build --install-root %s ' '--file %s') % (conanfile.package_folder, build_helper._project_file))
def test_install_with_custom_configuration(self): conanfile = MockConanfile(MockSettings({ 'os': 'Linux', 'compiler': 'gcc' }), runner=RunnerMock()) conanfile.source_folder = '.' conanfile.package_folder = 'pkg' build_helper = qbs.Qbs(conanfile) config_name = 'debug' config_values = { 'product.App.boolProperty': True, 'product.App.intProperty': 1337, 'product.App.stringProperty': 'Hello World', 'product.App.stringListProperty': ['Hello', 'World'] } build_helper.add_configuration(config_name, config_values) build_helper.install() self.assertEqual(conanfile.runner.command_called, ('qbs install --no-build --install-root %s ' '--file %s config:%s') % (conanfile.package_folder, build_helper._project_file, config_name))