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))
Esempio n. 3
0
 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)
Esempio n. 14
0
 def test_options_type(self):
     with self.assertRaises(ConfigErrors):
         CMake(options='hello')
Esempio n. 15
0
    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')
Esempio n. 16
0
 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])
Esempio n. 18
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)
Esempio n. 20
0
    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')))
Esempio n. 21
0
 def test_options_path(self):
     self.setup_step(CMake(path='some/path', options=('A', 'B')))
     self.expect_and_run_command('A', 'B', 'some/path')