Exemplo n.º 1
0
    def test_upgrade_from_v4(self):
        env = Environment.load(os.path.join(test_data_dir, 'environment',
                                            'v4'))

        self.assertEqual(env.bfgdir, Path('/path/to', Root.absolute))
        self.assertEqual(env.backend, 'make')

        self.assertEqual(env.srcdir, Path('/root/srcdir', Root.absolute))
        self.assertEqual(env.builddir, Path('/root/builddir', Root.absolute))
        self.assertDictsEqual(
            env.install_dirs, {
                InstallRoot.prefix: Path('/root/prefix', Root.absolute),
                InstallRoot.exec_prefix: Path('', InstallRoot.prefix),
                InstallRoot.bindir: Path('bin', InstallRoot.exec_prefix),
                InstallRoot.libdir: Path('lib', InstallRoot.exec_prefix),
                InstallRoot.includedir: Path('include', InstallRoot.prefix),
            })

        self.assertEqual(env.library_mode, LibraryMode(True, False))
        self.assertEqual(env.extra_args, [])

        variables = {u'HOME': u'/home/user'}
        if platform_info().family == 'windows' and sys.version_info[0] == 2:
            variables = {str(k): str(v) for k, v in iteritems(variables)}
        self.assertEqual(env.variables, variables)

        self.assertEqual(env.host_platform.name, 'linux')
        self.assertEqual(env.target_platform.name, 'linux')
Exemplo n.º 2
0
 def test_shell(self):
     s = safe_str.jbos('$foo', safe_str.literal('$bar'))
     self.out.write(s, Syntax.shell)
     if platform_info().family == 'windows':
         expected = '$$foo$bar'
     else:
         expected = quoted('$$foo') + '$bar'
     self.assertEqual(self.out.stream.getvalue(), expected)
Exemplo n.º 3
0
 def test_unknown(self):
     with mock.patch('platform.machine', return_value='x86_64'):
         platform = host.platform_info('onosendai')
     self.assertEqual(platform.name, 'onosendai')
     self.assertEqual(platform.species, 'onosendai')
     self.assertEqual(platform.genus, 'onosendai')
     self.assertEqual(platform.family, 'posix')
     self.assertEqual(platform.triplet, 'x86_64-unknown-onosendai')
Exemplo n.º 4
0
 def test_windows(self):
     with mock.patch('platform.machine', return_value='x86_64'):
         platform = host.platform_info('winnt')
     self.assertEqual(platform.name, 'winnt')
     self.assertEqual(platform.species, 'winnt')
     self.assertEqual(platform.genus, 'winnt')
     self.assertEqual(platform.family, 'windows')
     self.assertEqual(platform.triplet, 'x86_64-unknown-win32')
Exemplo n.º 5
0
 def test_android(self):
     with mock.patch('platform.machine', return_value='arm'):
         platform = host.platform_info('android')
     self.assertEqual(platform.name, 'android')
     self.assertEqual(platform.species, 'android')
     self.assertEqual(platform.genus, 'linux')
     self.assertEqual(platform.family, 'posix')
     self.assertEqual(platform.triplet, 'arm-unknown-linux-android')
Exemplo n.º 6
0
 def test_darwin(self):
     with mock.patch('platform.machine', return_value='x86_64'):
         platform = host.platform_info('macos')
     self.assertEqual(platform.name, 'macos')
     self.assertEqual(platform.species, 'macos')
     self.assertEqual(platform.genus, 'darwin')
     self.assertEqual(platform.family, 'posix')
     self.assertEqual(platform.triplet, 'x86_64-apple-darwin')
Exemplo n.º 7
0
 def test_cygwin(self):
     with mock.patch('platform.machine', return_value='x86_64'):
         platform = host.platform_info('cygwin')
     self.assertEqual(platform.name, 'cygwin')
     self.assertEqual(platform.species, 'cygwin')
     self.assertEqual(platform.genus, 'cygwin')
     self.assertEqual(platform.family, 'posix')
     self.assertEqual(platform.triplet, 'x86_64-unknown-windows-cygnus')
Exemplo n.º 8
0
 def test_linux(self):
     with mock.patch('platform.machine', return_value='x86_64'):
         platform = host.platform_info('linux')
     self.assertEqual(platform.name, 'linux')
     self.assertEqual(platform.species, 'linux')
     self.assertEqual(platform.genus, 'linux')
     self.assertEqual(platform.family, 'posix')
     self.assertEqual(platform.triplet, 'x86_64-unknown-linux-gnu')
     self.assertEqual(platform.object_format, 'elf')
Exemplo n.º 9
0
 def test_default(self):
     with mock.patch('platform.system', return_value='Linux'), \
          mock.patch('platform.machine', return_value='i686'):  # noqa
         platform = host.platform_info()
     self.assertEqual(platform.name, 'linux')
     self.assertEqual(platform.species, 'linux')
     self.assertEqual(platform.genus, 'linux')
     self.assertEqual(platform.family, 'posix')
     self.assertEqual(platform.triplet, 'i686-pc-linux-gnu')
Exemplo n.º 10
0
from six.moves import cStringIO as StringIO

from ... import *

from bfg9000 import path
from bfg9000 import safe_str
from bfg9000.backends.make.syntax import *
from bfg9000.file_types import File
from bfg9000.platforms.host import platform_info

esc_colon = ':' if platform_info().family == 'windows' else '\\:'


def quoted(s):
    return "'" + s + "'"


class my_safe_str(safe_str.safe_string):
    pass


class TestPattern(TestCase):
    def test_equality(self):
        self.assertTrue(Pattern('%.c') == Pattern('%.c'))
        self.assertFalse(Pattern('%.c') != Pattern('%.c'))

        self.assertFalse(Pattern('%.c') == Pattern('%.h'))
        self.assertTrue(Pattern('%.c') != Pattern('%.h'))

        self.assertTrue(Pattern('%\\%.c') == Pattern('%\\%.c'))
        self.assertFalse(Pattern('%\\%.c') != Pattern('%\\%.c'))
Exemplo n.º 11
0
from io import StringIO

from ... import *

from bfg9000 import path
from bfg9000 import safe_str
from bfg9000.backends.ninja.syntax import *
from bfg9000.file_types import File
from bfg9000.platforms.host import platform_info

quote_char = '"' if platform_info().family == 'windows' else "'"


def quoted(s):
    return quote_char + s + quote_char


class my_safe_str(safe_str.safe_string):
    pass


class TestWriteString(TestCase):
    def setUp(self):
        self.out = Writer(StringIO(), {})

    def test_output(self):
        self.out.write('foo: $bar', Syntax.output)
        self.assertEqual(self.out.stream.getvalue(), 'foo$:$ $$bar')

    def test_input(self):
        self.out.write('foo: $bar', Syntax.input)
Exemplo n.º 12
0
 def test_unknown(self):
     platform = host.platform_info('unknown')
     self.assertEqual(platform.name, 'unknown')
     self.assertEqual(platform.flavor, 'posix')
Exemplo n.º 13
0
 def test_windows(self):
     platform = host.platform_info('windows')
     self.assertEqual(platform.name, 'windows')
     self.assertEqual(platform.flavor, 'windows')
Exemplo n.º 14
0
 def test_linux(self):
     platform = host.platform_info('linux')
     self.assertEqual(platform.name, 'linux')
     self.assertEqual(platform.flavor, 'posix')
Exemplo n.º 15
0
 def test_darwin(self):
     platform = host.platform_info('darwin')
     self.assertEqual(platform.name, 'darwin')
     self.assertEqual(platform.flavor, 'posix')
Exemplo n.º 16
0
 def test_default(self):
     with mock.patch('platform.system', return_value='Linux'):
         platform = host.platform_info()
     self.assertEqual(platform.name, 'linux')
     self.assertEqual(platform.flavor, 'posix')