def test_flags_static(self): self.assertEqual(self.compiler.flags(opts.option_list(opts.static())), ['/MT']) self.assertEqual( self.compiler.flags( opts.option_list(), opts.option_list(opts.static()), ), ['/MT'])
def test_flags_debug(self): self.assertEqual(self.compiler.flags(opts.option_list( opts.debug() )), ['/Zi', '/MDd']) self.assertEqual(self.compiler.flags(opts.option_list( opts.debug(), opts.static() )), ['/Zi', '/MTd']) self.assertEqual(self.compiler.flags( opts.option_list(), opts.option_list(opts.debug()), ), ['/MDd']) self.assertEqual(self.compiler.flags( opts.option_list(opts.static()), opts.option_list(opts.debug()), ), ['/MTd'])
def test_local_options(self): env = make_env('winnt', clear_variables=True, variables={'CXX': 'nonexist'}) build, context = self._make_context(env) with mock.patch('bfg9000.tools.c_family._builders', (MsvcBuilder,)), \ mock.patch('logging.log'): context['global_options'](opts.debug(), lang='c++') src = context['source_file']('main.cpp') result = context['object_file'](file=src, options=[opts.static()]) makefile = make.Makefile(None) with mock.patch.object(make.Makefile, 'rule') as mrule, \ mock.patch.object(make.Makefile, 'variable', wraps=makefile.variable) as mvar, \ mock.patch('logging.log'): compile.make_compile(result.creator, build, makefile, env) mrule.assert_called_once_with(result, [src], [], AlwaysEqual(), { make.var('CXXFLAGS'): [make.var('GLOBAL_CXXFLAGS'), '/MTd'] }, None) mvar.assert_any_call('GLOBAL_CXXFLAGS', ['/Zi'], make.Section.flags, True)
def test_local_options(self): env = make_env('winnt', clear_variables=True, variables={'CXX': 'nonexist'}) build, context = self._make_context(env) with mock.patch('bfg9000.tools.c_family._builders', (MsvcBuilder,)), \ mock.patch('logging.log'): context['global_options'](opts.debug(), lang='c++') src = context['source_file']('main.cpp') result = context['object_file'](file=src, options=[opts.static()]) ninjafile = ninja.NinjaFile(None) with mock.patch.object(ninja.NinjaFile, 'build') as mbuild, \ mock.patch.object(ninja.NinjaFile, 'variable', wraps=ninjafile.variable) as mvar: compile.ninja_compile(result.creator, build, ninjafile, env) mbuild.assert_called_once_with( output=[result], rule='cxx', inputs=[src], implicit=[], variables={ninja.var('cxxflags'): [ ninja.var('global_cxxflags'), '/MTd' ]}, ) mvar.assert_any_call('global_cxxflags', ['/Zi'], ninja.Section.flags, True)
def test_flags_static(self): self.assertEqual(self.linker.flags(opts.option_list(opts.static())), ['-static'])