예제 #1
0
 def test_flags_define(self):
     self.assertEqual(self.compiler.flags(opts.option_list(
         opts.define('NAME')
     )), ['-DNAME'])
     self.assertEqual(self.compiler.flags(opts.option_list(
         opts.define('NAME', 'value')
     )), ['-DNAME=value'])
예제 #2
0
    def test_index(self):
        opts = options.option_list(options.pthread(), options.pic())
        self.assertEqual(opts[0], options.pthread())
        self.assertEqual(opts[0:1], options.option_list(options.pthread()))

        opts[0] = '-v'
        self.assertEqual(opts, options.option_list('-v', options.pic()))
        opts[0:] = [options.define('name')]
        self.assertEqual(opts, options.option_list(options.define('name')))
예제 #3
0
    def test_flags_define(self):
        self.assertEqual(self.compiler.flags(opts.option_list(
            opts.define('NAME')
        )), ['/DNAME', '/MD'])
        self.assertEqual(self.compiler.flags(opts.option_list(
            opts.define('NAME')
        ), mode='pkg-config'), ['-DNAME'])

        self.assertEqual(self.compiler.flags(opts.option_list(
            opts.define('NAME', 'value')
        )), ['/DNAME=value', '/MD'])
        self.assertEqual(self.compiler.flags(opts.option_list(
            opts.define('NAME', 'value')
        ), mode='pkg-config'), ['-DNAME=value'])
예제 #4
0
    def test_compile_options(self):
        solution = Solution(mock.MagicMock())
        self.context['global_options'](opts.define('FOO'), lang='c++')
        with mock.patch('logging.log'):
            src = self.context['source_file']('main.cpp')
            result = self.context['executable']('exe', src, compile_options=[
                opts.define('BAR', 'bar'), '/DBAZ'
            ])

        link.msbuild_link(result.creator, self.build, solution, self.env)
        self.assertSubdict(solution[result].compile_options, {
            'defines': ['FOO'],
            'includes': [],
            'extra': [],
        })
        self.assertSubdict(solution[result].files[0]['options'], {
            'defines': ['BAR=bar', 'BAZ'],
            'includes': [],
            'extra': [],
        })
예제 #5
0
 def test_name_and_value(self):
     opt = options.define('NAME', 'value')
     self.assertEqual(type(opt), options.define)
     self.assertEqual(opt.name, 'NAME')
     self.assertEqual(opt.value, 'value')
예제 #6
0
 def test_name_only(self):
     opt = options.define('NAME')
     self.assertEqual(type(opt), options.define)
     self.assertEqual(opt.name, 'NAME')
     self.assertEqual(opt.value, None)