dom/imptests/writeBuildFiles.py
author Gregory Szorc <gps@mozilla.com>
Thu, 09 Nov 2017 22:26:26 -0800
changeset 391814 1cd169ff8a0dbb2ea7d50b4275472ca9298765b3
parent 164240 a4769f7058da469537cc627e21f6528d26de5e25
permissions -rw-r--r--
Bug 1416052 - Remove comment filtering; r=nalexander The auto-generated make file that we include (and the `mach environment` output that we included before that) should not contain comment lines. I think it is safe to remove the code that filters them out. It is possible a multi-line value in mozconfigs could contain lines looking like comments and this may cause problems. I'm inclined to believe that this scenario doesn't exist. If someone complains and we need to bring back support, we could certainly do that. MozReview-Commit-ID: 8kKw91HH4ms

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.

from __future__ import unicode_literals

import string

manifest_template = """# THIS FILE IS AUTOGENERATED BY ${caller} - DO NOT EDIT
[DEFAULT]
support-files =
${supportfiles}

${tests}
"""

reftest_template = """# THIS FILE IS AUTOGENERATED BY ${caller} - DO NOT EDIT

${reftests}
"""



def substManifest(caller, test_files, support_files):
    test_files = [f.lstrip('/') for f in test_files]
    support_files = [f.lstrip('/') for f in support_files]

    return string.Template(manifest_template).substitute({
        'caller': caller,
        'supportfiles': '\n'.join('  %s' % f for f in sorted(support_files)),
        'tests': '\n'.join('[%s]' % f for f in sorted(test_files))
    })


def substReftestList(caller, tests):
    def reftests(tests):
        return "\n".join(" ".join(line) for line in tests)

    return string.Template(reftest_template).substitute({
        "caller": caller,
        "reftests": reftests(tests),
    })