Closed Bug 1515808 Opened 2 years ago Closed 2 years ago

The last line of python/mozbuild/mozbuild/test/backend/data/linkage/templates.mozbuild is ignored

Categories

(Firefox Build System :: General, enhancement)

enhancement
Not set
normal

Tracking

(firefox66 fixed)

RESOLVED FIXED
Tracking Status
firefox66 --- fixed

People

(Reporter: glandium, Assigned: glandium)

Details

Attachments

(1 file)

That's because the last line of the file doesn't have a newline, and older python versions have a buggy inspect.getblock:

    $ python
    Python 2.7.9 (default, Nov  8 2018, 08:36:59) 
    [GCC 4.7.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import inspect
    >>> print inspect.getblock([
    ...     'def foo():\n',
    ...     '    a = 1\n',
    ...     '    bar()',
    ... ])
    ['def foo():\n', '    a = 1\n']
    ​
    $ python
    Python 2.7.15+ (default, Aug 31 2018, 11:56:52) 
    [GCC 8.2.0] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import inspect
    >>> print inspect.getblock([
    ...     'def foo():\n',
    ...     '    a = 1\n',
    ...     '    bar()',
    ... ])
    ['def foo():\n', '    a = 1\n', '    bar()']
Fixing this unveils an issue in TestRecursiveMake::test_linkage that
was happening locally but not on automation, due to the Binary()
template never being invoked on automation.
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/75572e56c170
Compensate for older python's buggy inspect.getblock. r=nalexander
https://hg.mozilla.org/mozilla-central/rev/75572e56c170
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.