Closed Bug 1593105 Opened 6 years ago Closed 6 years ago

[mozbuild] Port mozbuild.util.FileAvoidWrite to Python 3

Categories

(Firefox Build System :: General, task)

task
Not set
normal

Tracking

(firefox72 fixed)

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: mars, Assigned: mars)

References

Details

Attachments

(1 file)

mozbuild.util.FileAvoidWrite is a file-like object that buffers output and only writes if content changed. It breaks under Python 3 because it moves between bytes and str in a few places.

Test: ./mach python-test --python 3 --subsuite mozbuild test_util.py -k TestFileAvoidWrite

The FileAvoidWrite class does a bunch of stuff with bytes and strings
that doesn't work in Python 3. Make sure the object is handling only
bytes or only strings under the hood so Python 3 is happy.

The FileAvoidWrite unit tests written with MockedOpen don't work in
Python 3 either. Swap them out for vanilla pytest tests without
the MockedOpen dependency.

Status: NEW → ASSIGNED
Attachment #9105690 - Attachment description: Bug 1593105 - [mozbuild] Port mozbuild.util.FileAvoidWrite to Python 3 → Bug 1593105 - [mozbuild] Port mozbuild.util.FileAvoidWrite to Python 3 r=#build
Pushed by mfogels@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a668eeee9830 [mozbuild] Port mozbuild.util.FileAvoidWrite to Python 3 r=firefox-build-system-reviewers,mshal
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: