def test_configure_vars_mod(self):
     """Test modifying the result of the configure_vars method."""
     cfg = BuildCfg(self.context, 'aarch64-linux-gnu')
     cfg_vars = cfg.configure_vars()
     cfg_vars_orig = list(cfg_vars)
     cfg_vars.append('other arg')
     cfg_vars_mod = list(cfg_vars)
     cfg_vars2 = cfg.configure_vars()
     self.assertEqual(cfg_vars2, cfg_vars_orig)
     self.assertEqual(cfg_vars, cfg_vars_mod)
 def test_configure_vars_basic(self):
     """Test basic use of the configure_vars method."""
     cfg = BuildCfg(self.context, 'aarch64-linux-gnu')
     cfg_vars = cfg.configure_vars()
     self.assertEqual(cfg_vars, sorted(cfg_vars))
     self.assertIn('CC=aarch64-linux-gnu-gcc', cfg_vars)
     self.assertIn('CXX=aarch64-linux-gnu-g++', cfg_vars)
     self.assertIn('AR=aarch64-linux-gnu-ar', cfg_vars)
     self.assertIn('AS=aarch64-linux-gnu-as', cfg_vars)
     self.assertIn('LD=aarch64-linux-gnu-ld', cfg_vars)
     self.assertIn('NM=aarch64-linux-gnu-nm', cfg_vars)
     self.assertIn('OBJCOPY=aarch64-linux-gnu-objcopy', cfg_vars)
     self.assertIn('OBJDUMP=aarch64-linux-gnu-objdump', cfg_vars)
     self.assertIn('RANLIB=aarch64-linux-gnu-ranlib', cfg_vars)
     self.assertIn('READELF=aarch64-linux-gnu-readelf', cfg_vars)
     self.assertIn('STRIP=aarch64-linux-gnu-strip', cfg_vars)
     self.assertNotIn('WINDRES=aarch64-linux-gnu-windres', cfg_vars)
     self.assertNotIn('RC=aarch64-linux-gnu-windres', cfg_vars)
     cfg = BuildCfg(self.context, 'i686-mingw32')
     cfg_vars = cfg.configure_vars()
     self.assertIn('CC=i686-mingw32-gcc', cfg_vars)
     self.assertIn('CXX=i686-mingw32-g++', cfg_vars)
     self.assertIn('AR=i686-mingw32-ar', cfg_vars)
     self.assertIn('AS=i686-mingw32-as', cfg_vars)
     self.assertIn('LD=i686-mingw32-ld', cfg_vars)
     self.assertIn('NM=i686-mingw32-nm', cfg_vars)
     self.assertIn('OBJCOPY=i686-mingw32-objcopy', cfg_vars)
     self.assertIn('OBJDUMP=i686-mingw32-objdump', cfg_vars)
     self.assertIn('RANLIB=i686-mingw32-ranlib', cfg_vars)
     self.assertIn('READELF=i686-mingw32-readelf', cfg_vars)
     self.assertIn('STRIP=i686-mingw32-strip', cfg_vars)
     self.assertIn('WINDRES=i686-mingw32-windres', cfg_vars)
     self.assertIn('RC=i686-mingw32-windres', cfg_vars)
     cfg = BuildCfg(self.context,
                    'x86_64-linux-gnu',
                    tool_prefix='i686-pc-linux-gnu-',
                    ccopts=['-m64'],
                    tool_opts={'as': ['--64']})
     cfg_vars = cfg.configure_vars()
     self.assertIn('CC=i686-pc-linux-gnu-gcc -m64', cfg_vars)
     self.assertIn('CXX=i686-pc-linux-gnu-g++ -m64', cfg_vars)
     self.assertIn('AR=i686-pc-linux-gnu-ar', cfg_vars)
     self.assertIn('AS=i686-pc-linux-gnu-as --64', cfg_vars)
     self.assertIn('LD=i686-pc-linux-gnu-ld', cfg_vars)
     self.assertIn('NM=i686-pc-linux-gnu-nm', cfg_vars)
     self.assertIn('OBJCOPY=i686-pc-linux-gnu-objcopy', cfg_vars)
     self.assertIn('OBJDUMP=i686-pc-linux-gnu-objdump', cfg_vars)
     self.assertIn('RANLIB=i686-pc-linux-gnu-ranlib', cfg_vars)
     self.assertIn('READELF=i686-pc-linux-gnu-readelf', cfg_vars)
     self.assertIn('STRIP=i686-pc-linux-gnu-strip', cfg_vars)
     cfg = BuildCfg(self.context,
                    'x86_64-linux-gnu',
                    tool_prefix='i686-pc-linux-gnu-',
                    ccopts=['-m64', '-mavx'],
                    tool_opts={'as': ['--64', '--something']})
     cfg_vars = cfg.configure_vars()
     self.assertIn('CC=i686-pc-linux-gnu-gcc -m64 -mavx', cfg_vars)
     self.assertIn('AS=i686-pc-linux-gnu-as --64 --something', cfg_vars)
     cfg = BuildCfg(self.context,
                    'x86_64-linux-gnu',
                    tool_prefix='i686-pc-linux-gnu-',
                    ccopts=['-m64'],
                    tool_opts={'as': ['--64']})
     cfg_vars = cfg.configure_vars(cflags_extra=['-DA', '-DB'])
     self.assertIn('CC=i686-pc-linux-gnu-gcc -m64 -DA -DB', cfg_vars)
     self.assertIn('CXX=i686-pc-linux-gnu-g++ -m64 -DA -DB', cfg_vars)
     self.assertIn('AR=i686-pc-linux-gnu-ar', cfg_vars)
     self.assertIn('AS=i686-pc-linux-gnu-as --64', cfg_vars)
     self.assertIn('LD=i686-pc-linux-gnu-ld', cfg_vars)
     self.assertIn('NM=i686-pc-linux-gnu-nm', cfg_vars)
     self.assertIn('OBJCOPY=i686-pc-linux-gnu-objcopy', cfg_vars)
     self.assertIn('OBJDUMP=i686-pc-linux-gnu-objdump', cfg_vars)
     self.assertIn('RANLIB=i686-pc-linux-gnu-ranlib', cfg_vars)
     self.assertIn('READELF=i686-pc-linux-gnu-readelf', cfg_vars)
     self.assertIn('STRIP=i686-pc-linux-gnu-strip', cfg_vars)