def test_options_interpolation(self): prop = 'option' value = 'value' self.setupStep(CMake(options=(Property(prop), ))) self.properties.setProperty(prop, value, source='test') self.expect_and_run_command(value)
def test_definitions_renderable(self): b_value = 'real_b' definitions = Property('b') self.setupStep(CMake(definitions=definitions)) self.properties.setProperty('b', {'a': b_value}, source='test') self.expect_and_run_command('-D%s=%s' % ('a', b_value))
def test_plain(self): self.setup_step(CMake()) self.expect_commands( ExpectShell(command=[CMake.DEFAULT_CMAKE], workdir='wkdir').exit(0)) self.expect_outcome(result=SUCCESS) return self.run_step()
def test_path_interpolation(self): prop = 'path' value = 'some/path' self.setupStep(CMake(path=Property(prop))) self.properties.setProperty(prop, value, source='test') self.expect_and_run_command(value)
def test_generator_interpolation(self): value = 'Our_GENERATOR' self.setupStep(CMake(generator=Property('GENERATOR'))) self.properties.setProperty('GENERATOR', value, source='test') self.expect_and_run_command('-G', value)
def test_cmake(self): cmake_bin = 'something/else/cmake' self.setupStep(CMake(cmake=cmake_bin)) self.expectCommands( ExpectShell(command=[cmake_bin], workdir='wkdir') + 0) self.expectOutcome(result=SUCCESS) return self.runStep()
def test_definitions_interpolation(self): b_value = 'real_b' definitions = {'a': Property('b')} self.setupStep(CMake(definitions=definitions)) self.properties.setProperty('b', b_value, source='test') self.expect_and_run_command('-D%s=%s' % ('a', b_value))
def test_environment(self): command = [CMake.DEFAULT_CMAKE] environment = {'a': 'b'} self.setupStep(CMake(env=environment)) self.expectCommands( ExpectShell(command=command, workdir='wkdir', env={'a': 'b'}) + 0) self.expectOutcome(result=SUCCESS) return self.runStep()
def test_cmake_interpolation(self): prop = 'CMAKE' value = 'Real_CMAKE' self.setupStep(CMake(cmake=Property(prop))) self.properties.setProperty(prop, value, source='test') self.expectCommands(ExpectShell(command=[value], workdir='wkdir') + 0) self.expectOutcome(result=SUCCESS) return self.runStep()
def test_plain(self): self.setupStep(CMake()) self.expectCommands( ExpectShell(command=[CMake.DEFAULT_CMAKE], workdir='wkdir') + 0) self.expectOutcome(result=SUCCESS) return self.runStep()
def test_options_type(self): self.assertRaises(ConfigErrors, lambda: CMake(options='hello'))
def test_options(self): options = ('A', 'B') self.setupStep(CMake(options=options)) self.expect_and_run_command(*options)
def test_generator(self): generator = 'Ninja' self.setupStep(CMake(generator=generator)) self.expect_and_run_command('-G', generator)
def test_options_type(self): with self.assertRaises(ConfigErrors): CMake(options='hello')
def test_definitions_interpolation(self): definitions = {'a': Property('b')} self.setup_step(CMake(definitions=definitions)) self.properties.setProperty('b', 'real_b', source='test') self.expect_and_run_command('-Da=real_b')
def test_definitions(self): definition = {'a': 'b'} self.setup_step(CMake(definitions=definition)) self.expect_and_run_command('-Da=b')
def test_definitions(self): definition = {'a': 'b'} self.setupStep(CMake(definitions=definition)) self.expect_and_run_command('-D%s=%s' % list(definition.items())[0])
def test_definitions_renderable(self): definitions = Property('b') self.setup_step(CMake(definitions=definitions)) self.properties.setProperty('b', {'a': 'real_b'}, source='test') self.expect_and_run_command('-Da=real_b')
def test_path(self): path = 'some/path' self.setupStep(CMake(path=path)) self.expect_and_run_command(path)
def stepCmake(self): @renderer def init_cmake_definitions(props): defs = {} defs['BUILD_SHARED_LIBS'] = 'ON' defs['BUILD_EXAMPLES'] = 'ON' defs['BUILD_TESTS'] = 'ON' defs['BUILD_PERF_TESTS'] = 'ON' defs['OPENCV_ENABLE_NONFREE'] = 'ON' defs['WITH_OPENCL'] = 'OFF' defs['PYTHON_DEFAULT_EXECUTABLE'] = '/usr/bin/python3' if self.compiler is not None: defs["CMAKE_C_COMPILER"] = self.compiler['CC'] defs["CMAKE_CXX_COMPILER"] = self.compiler['CXX'] defs['OPENCV_EXTRA_MODULES_PATH'] = props.getProperty( 'builddir') + '/opencv_contrib/modules' defs.update(self.cmake_definitions) extra = {} cdef_str = props.getProperty('cmake_definitions', None) if cdef_str is None: defs.update(self.force_cmake_definitions) return defs cdef_list = re.sub(r"\s+", '', cdef_str).split(',') for cdef in cdef_list: name_val = cdef.split(':') name_val_len = len(name_val) if name_val_len != 2: continue val = name_val[1] """ if val == '1': val = 'ON' elif val != 'ON': val = 'OFF' """ name = name_val[0] if name == 'OPENCV_EXTRA_MODULES_PATH': if val == 'OFF': defs.pop(name) else: extra[name] = val defs.update(extra) defs.update(self.force_cmake_definitions) return defs self.addStep( CMake(name="cmake", descriptionDone='cmake', description='cmake', path="../opencv", definitions=init_cmake_definitions, lazylogfiles=True, warnOnWarnings=True, haltOnFailure=True, logfiles=dict(CMakeOutput='CMakeFiles/CMakeOutput.log', CMakeError='CMakeFiles/CMakeError.log', cache='CMakeCache.txt', vars='CMakeVars.txt')))
def test_options_path(self): self.setup_step(CMake(path='some/path', options=('A', 'B'))) self.expect_and_run_command('A', 'B', 'some/path')