예제 #1
0
    def _test_engine(self, expected_flag_set, basename_native,
                     basename_explicit):
        data_home = 'resolve_march_native/test/data'

        with open(os.path.join(data_home, basename_native), 'r') as f:
            march_native_flag_set = set(extract_flags(f.read()))

        with open(os.path.join(data_home, basename_explicit), 'r') as f:
            march_explicit_flag_set = set(extract_flags(f.read()))

        class TestOptions(object):
            def __init__(self):
                self.gcc = 'gcc'
                self.debug = False
                self.keep_identical_mtune = False
                self.keep_mno_flags = False
                self.keep_default_params = False

        class TestEngine(Engine):
            def _get_march_native_flag_set(self, *_):
                return march_native_flag_set

            def _get_march_explicit_flag_set(self, *_):
                return march_explicit_flag_set

        options = TestOptions()
        engine = TestEngine(options.gcc, options.debug)
        received_flag_set = engine.run(options)

        self.assertEqual(received_flag_set, expected_flag_set)
예제 #2
0
	def _test_engine(self, expected_flag_set, basename_native, basename_explicit):
		data_home = 'resolve_march_native/test/data'

		with open(os.path.join(data_home, basename_native), 'r') as f:
			march_native_flag_set = set(extract_flags(f.read()))

		with open(os.path.join(data_home, basename_explicit), 'r') as f:
			march_explicit_flag_set = set(extract_flags(f.read()))

		class TestOptions(object):
			def __init__(self):
				self.gcc = 'gcc'
				self.debug = False
				self.keep_identical_mtune = False
				self.keep_mno_flags = False
				self.keep_default_params = False

		class TestEngine(Engine):
			def _get_march_native_flag_set(self, *_):
				return march_native_flag_set

			def _get_march_explicit_flag_set(self, *_):
				return march_explicit_flag_set

		options = TestOptions()
		engine = TestEngine(options.gcc, options.debug)
		received_flag_set = engine.run(options)

		self.assertEquals(received_flag_set, expected_flag_set)
예제 #3
0
 def _get_march_explicit_flag_set(self, march_explicit):
     march_explicit_flag_set = set(
         extract_flags(run(self._gcc_command, [march_explicit],
                           self._debug)))
     if self._debug:
         self._dump_flags(march_explicit_flag_set)
     return march_explicit_flag_set
예제 #4
0
 def _get_march_native_flag_set(self):
     march_native_flag_set = set(
         extract_flags(
             run(self._gcc_command, ['-march=native'], self._debug)))
     if self._debug:
         self._dump_flags(march_native_flag_set)
     return march_native_flag_set
예제 #5
0
    def test_parse_westmere_native_s(self):
        with open(
                'resolve_march_native/test/data/westmere--4-9-3-gentoo--native.s',
                'r') as f:
            received_flags = list(extract_flags(f.read()))

        self.assertEqual(received_flags, self._EXPECTED_FLAGS_WESTMERE_NATIVE)
예제 #6
0
	def test_parse_westmere_native_s(self):
		with open('resolve_march_native/test/data/westmere--4-9-3-gentoo--native.s', 'r') as f:
			received_flags = list(extract_flags(f.read()))

		self.assertEquals(received_flags, self._EXPECTED_FLAGS_WESTMERE_NATIVE)
예제 #7
0
	def _get_march_explicit_flag_set(self, march_explicit):
		march_explicit_flag_set = set(extract_flags(run(self._gcc_command, [march_explicit], self._debug)))
		if self._debug:
			self._dump_flags(march_explicit_flag_set)
		return march_explicit_flag_set
예제 #8
0
	def _get_march_native_flag_set(self):
		march_native_flag_set = set(extract_flags(run(self._gcc_command, ['-march=native'], self._debug)))
		if self._debug:
			self._dump_flags(march_native_flag_set)
		return march_native_flag_set