def test_independence(self): """Test independency of toolchain instances.""" # tweaking --optarch is required for Cray toolchains (craypre-<optarch> module must be available) init_config(build_options={'optarch': 'test'}) tc_cflags = { 'CrayCCE': "-craype-verbose -O2", 'CrayGNU': "-craype-verbose -O2", 'CrayIntel': "-craype-verbose -O2 -ftz -fp-speculation=safe -fp-model source", 'GCC': "-O2 -test", 'iccifort': "-O2 -test -ftz -fp-speculation=safe -fp-model source", } toolchains = [ ('CrayCCE', '2015.06-XC'), ('CrayGNU', '2015.06-XC'), ('CrayIntel', '2015.06-XC'), ('GCC', '4.7.2'), ('iccifort', '2011.13.367'), ] # purposely obtain toolchains several times in a row, value for $CFLAGS should not change for _ in range(3): for tcname, tcversion in toolchains: tc = get_toolchain({'name': tcname, 'version': tcversion}, {}, mns=ActiveMNS(), modtool=self.modtool) tc.set_options({}) tc.prepare() expected_cflags = tc_cflags[tcname] msg = "Expected $CFLAGS found for toolchain %s: %s" % (tcname, expected_cflags) self.assertEqual(str(tc.variables['CFLAGS']), expected_cflags, msg) self.assertEqual(os.environ['CFLAGS'], expected_cflags, msg)
def toolchain(self): """ returns the Toolchain used """ if self._toolchain is None: self._toolchain = get_toolchain(self['toolchain'], self['toolchainopts'], ActiveMNS()) tc_dict = self._toolchain.as_dict() self.log.debug("Initialized toolchain: %s (opts: %s)" % (tc_dict, self['toolchainopts'])) return self._toolchain
def test_independence(self): """Test independency of toolchain instances.""" # tweaking --optarch is required for Cray toolchains (craypre-<optarch> module must be available) init_config(build_options={'optarch': 'test'}) tc_cflags = { 'CrayCCE': "-craype-verbose -O2", 'CrayGNU': "-craype-verbose -O2", 'CrayIntel': "-craype-verbose -O2 -ftz -fp-speculation=safe -fp-model source", 'GCC': "-O2 -test", 'iccifort': "-O2 -test -ftz -fp-speculation=safe -fp-model source", } toolchains = [ ('CrayCCE', '2015.06-XC'), ('CrayGNU', '2015.06-XC'), ('CrayIntel', '2015.06-XC'), ('GCC', '4.7.2'), ('iccifort', '2011.13.367'), ] # purposely obtain toolchains several times in a row, value for $CFLAGS should not change for _ in range(3): for tcname, tcversion in toolchains: tc = get_toolchain({ 'name': tcname, 'version': tcversion }, {}, mns=ActiveMNS(), modtool=self.modtool) tc.set_options({}) tc.prepare() expected_cflags = tc_cflags[tcname] msg = "Expected $CFLAGS found for toolchain %s: %s" % ( tcname, expected_cflags) self.assertEqual(str(tc.variables['CFLAGS']), expected_cflags, msg) self.assertEqual(os.environ['CFLAGS'], expected_cflags, msg)