Пример #1
0
    def test_reader_install(self):
        source = join('test-cases', 'intro-reader', '08-install')
        build = join('test-cases', 'intro-reader', '08-install', 'builddir')
        meson: Meson = Meson(sourcedir=source, builddir=build)

        meson.setup()

        script: MesonBuilddirReader = MesonBuilddirReader(build)
        info = script.extract_from(group='installed')

        assert (info == {})
Пример #2
0
    def test_reader_benchmarks(self):
        source = join('test-cases', 'intro-reader', '03-benchmarks')
        build = join('test-cases', 'intro-reader', '03-benchmarks', 'builddir')
        meson: Meson = Meson(sourcedir=source, builddir=build)

        meson.setup()

        script: MesonBuilddirReader = MesonBuilddirReader(build)
        info = script.extract_from(group='benchmarks')

        assert (info[0]['name'] == 'basic benchmark')
Пример #3
0
    def test_reader_scan_dependencies(self):
        source = join('test-cases', 'intro-reader', '06-scan-dependencies')
        build = join('test-cases', 'intro-reader', '06-scan-dependencies',
                     'builddir')
        meson: Meson = Meson(sourcedir=source, builddir=build)

        meson.setup()

        script: MesonBuilddirReader = MesonBuilddirReader(build)
        info = script.extract_from(group='scan-dependencies')

        assert (info == {})
Пример #4
0
    def test_reader_targets(self):
        source = join('test-cases', 'intro-reader', '07-targets')
        build = join('test-cases', 'intro-reader', '07-targets', 'builddir')
        meson: Meson = Meson(sourcedir=source, builddir=build)

        meson.setup()

        script: MesonBuilddirReader = MesonBuilddirReader(build)
        info = script.extract_from(group='targets')

        assert (info[0]['name'] == 'prog')
        assert (info[0]['type'] == 'executable')
        assert (info[0]['id'] == 'prog@exe')
Пример #5
0
    def test_reader_buildoptions(self):
        source = join('test-cases', 'intro-reader', '04-buildoptions')
        build = join('test-cases', 'intro-reader', '04-buildoptions',
                     'builddir')
        meson: Meson = Meson(sourcedir=source, builddir=build)

        meson.setup()

        script: MesonBuilddirReader = MesonBuilddirReader(build)
        info = script.extract_from(group='buildoptions')

        assert (info[0]['name'] == 'auto_features')
        assert (info[0]['value'] == 'auto')
Пример #6
0
    def test_reader_mesonbuild_files(self):
        source = Path(
            join('test-cases', 'intro-reader', '09-buildsystem_files'))
        build = Path(
            join('test-cases', 'intro-reader', '09-buildsystem_files',
                 'builddir'))
        meson: Meson = Meson(sourcedir=source, builddir=build)

        meson.setup()

        script: MesonBuilddirReader = MesonBuilddirReader(build)
        info = script.extract_from(group='buildsystem-files')
        print(info)
        assert (info[0] == join(source.resolve(), 'meson.build'))
Пример #7
0
    def test_reader_projectinfo(self):
        source = join('test-cases', 'intro-reader', '01-projectinfo')
        build = join('test-cases', 'intro-reader', '01-projectinfo',
                     'builddir')
        meson: Meson = Meson(sourcedir=source, builddir=build)

        meson.setup()

        script: MesonBuilddirReader = MesonBuilddirReader(
            join(source, 'builddir'))
        info = script.extract_from(group='projectinfo')

        assert (info['descriptive_name'] == 'simple-case')
        assert (info['version'] == '0.1')
        assert (info['subproject_dir'] == 'subprojects')
Пример #8
0
 def test_reader_bad_extract_method(self):
     reader: MesonBuilddirReader = MesonBuilddirReader(None)
     with pytest.raises(Exception) as e:
         reader = reader.extract_from(group='not-a-key')
     assert ('Group tag not-a-key not found in extract via data options!' ==
             str(e.value))