Commit Graph

8 Commits

Author SHA1 Message Date
Andrew Halberstadt
c69928b065 Bug 1333564 - [manifestparser] Add support for inline comments, r=jmaher
Previously manifestparser only supported inline comments on conditional keys, such as
skip-if, fails-if, subsuite-if, etc. But on any other key name, inline comments weren't
supported. This was a bad situation because people saw these skip-if comments, and
naturally assumed inline comments worked everywhere. Then they were surprised when things
broke in mysterious ways.

This patch removes the special-casing for skip-if and friends and allows inline comments
everywhere. A caveat to this, is that ' #' is no longer a valid substring in a value.

MozReview-Commit-ID: Hr0BIwzTgaJ
2017-01-25 12:21:31 -05:00
Andrew Halberstadt
3f9cbf87a1 Bug 1333564 - [manifestparser] Stop supporting ';' as a valid comment character, r=jmaher
It turns out there are shockingly few cases of manifestparser manifests that actually use the ';'
character as a comment. Because we will soon allow inline comments, deprecating the use of ';' will
ensure that values are allowed to have semicolons in them.

Even without inline comments, might as well enforce consistency across manifests.

MozReview-Commit-ID: AEPPQFdNXG0
2017-01-25 14:38:37 -05:00
Andrew Halberstadt
7663ee0695 Bug 1317970 - Use manifestparser manifests for python unit tests, r=chmanchester
This deprecates PYTHON_UNIT_TESTS and replaces it with PYTHON_UNITTEST_MANIFESTS.
In the build system, this means python unittests will be treated the same as all
other test suites that use manifestparser. New manifests called 'python.ini' have
been created for all test directories containing python unittests.

MozReview-Commit-ID: IBHG7Thif2D
2016-11-16 09:59:22 -05:00
Andrew Halberstadt
bbd1d50b1a Bug 1134395 - mozbuild should pass in rootdir to manifestparser to properly calculate test relpaths, r=gps 2015-02-18 17:07:55 -05:00
Anish
fe58834cf9 Bug 958147 - Choose one of run-if or skip-if and get rid of the other.r=jmaher, mwargers 2015-03-03 08:46:37 -05:00
Andrew Halberstadt
a74852785a Bug 1123763 - [manifestparser] Implement filter system for manifest.active_tests(), r=ted
A filter is a callable that accepts an iterable of tests and a dictionary of values (e.g mozinfo.info) and returns an iterable of tests. Note filtering can mean modifying tests in addition to removing them. For example, this implements a "timeout-if" tag in the manifest:

    from manifestparser import expression
    import mozinfo

    def timeout_if(tests, values):
        for test in tests:
            if 'timeout-if' in test:
                timeout, condition = test['timeout-if'].split(',', 1)
                if expression.parse(condition, **values):
                    test['timeout'] = timeout
        yield test

    tests = mp.active_tests(filters=[timeout_if], **mozinfo.info)
2015-02-10 09:38:29 -05:00
Andrei Eftimie
79e3148e4a Bug 1023790 - [manifestparser] Add support for parent link. r=hskupin, r=jmaher 2014-10-02 14:23:21 +02:00
William Lachance
2e4f245a3b Bug 984528 - Rename manifestdestiny -> manifestparser. r=ahal 2014-06-10 13:20:23 -04:00