mirror of
https://github.com/Feodor2/Mypal68.git
synced 2025-06-18 23:05:40 -04:00
191 lines
3.2 KiB
Python
191 lines
3.2 KiB
Python
from io import BytesIO
|
|
|
|
import mozunit
|
|
|
|
import metamerge
|
|
|
|
ancestor = """
|
|
global-new-deleted: A
|
|
global-new-changed: A
|
|
global-current-deleted: A
|
|
global-current-changed: A
|
|
|
|
[failing-test.html]
|
|
[Unchanged subtest]
|
|
expected: FAIL
|
|
|
|
[New deleted subtest]
|
|
expected: FAIL
|
|
|
|
[New modified subtest]
|
|
expected: TIMEOUT
|
|
|
|
[Current deleted subtest]
|
|
expected: FAIL
|
|
|
|
[New modified current deleted]
|
|
expected: FAIL
|
|
|
|
[Ancestor no expected new expected]
|
|
bug: 1234
|
|
|
|
[new-deleted-test.html]
|
|
[Deleted subtest]
|
|
expected: FAIL
|
|
|
|
[current-deleted-test.html]
|
|
[Deleted subtest]
|
|
expected: FAIL
|
|
|
|
[test-modified.html]
|
|
expected: TIMEOUT
|
|
|
|
[new-modified-current-deleted.html]
|
|
expected:
|
|
if os == "linux": FAIL
|
|
TIMEOUT
|
|
"""
|
|
|
|
new = """
|
|
global-new-added: A
|
|
global-new-changed: B
|
|
global-current-deleted: A
|
|
global-current-changed: A
|
|
|
|
[failing-test.html]
|
|
[Unchanged subtest]
|
|
expected: FAIL
|
|
|
|
[New added subtest]
|
|
expected: FAIL
|
|
|
|
[New modified subtest]
|
|
expected:
|
|
if os == "linux": FAIL
|
|
TIMEOUT
|
|
|
|
[Current deleted subtest]
|
|
expected: FAIL
|
|
|
|
[New modified current deleted]
|
|
expected: TIMEOUT
|
|
|
|
[Ancestor no expected new expected]
|
|
bug: 1234
|
|
expected: FAIL
|
|
|
|
[new-added-test.html]
|
|
[Added subtest]
|
|
expected: FAIL
|
|
|
|
[current-deleted-test.html]
|
|
[Deleted subtest]
|
|
expected: FAIL
|
|
|
|
[test-modified.html]
|
|
expected:
|
|
if os == "linux": FAIL
|
|
|
|
[new-modified-current-deleted.html]
|
|
expected:
|
|
if os == "linux": FAIL
|
|
if os == "mac": FAIL
|
|
TIMEOUT
|
|
"""
|
|
|
|
current = """
|
|
global-new-deleted: A
|
|
global-new-changed: A
|
|
global-current-added: A
|
|
global-current-changed: B
|
|
|
|
[failing-test.html]
|
|
[Unchanged subtest]
|
|
expected: FAIL
|
|
|
|
[New deleted subtest]
|
|
expected: FAIL
|
|
|
|
[New modified subtest]
|
|
expected: TIMEOUT
|
|
|
|
[Current added subtest]
|
|
expected: FAIL
|
|
|
|
[Ancestor no expected new expected]
|
|
bug: 1234
|
|
|
|
[new-deleted-test.html]
|
|
[Deleted subtest]
|
|
expected: FAIL
|
|
|
|
[current-added-test.html]
|
|
[Added subtest]
|
|
expected: FAIL
|
|
"""
|
|
|
|
updated = """global-new-deleted: A
|
|
global-new-changed: A
|
|
global-current-added: A
|
|
global-current-changed: B
|
|
[failing-test.html]
|
|
[Unchanged subtest]
|
|
expected: FAIL
|
|
|
|
[New modified subtest]
|
|
expected:
|
|
if os == "linux": FAIL
|
|
TIMEOUT
|
|
|
|
[Current added subtest]
|
|
expected: FAIL
|
|
|
|
[Ancestor no expected new expected]
|
|
bug: 1234
|
|
expected: FAIL
|
|
|
|
[New added subtest]
|
|
expected: FAIL
|
|
|
|
[New modified current deleted]
|
|
expected: TIMEOUT
|
|
|
|
|
|
[current-added-test.html]
|
|
[Added subtest]
|
|
expected: FAIL
|
|
|
|
|
|
[new-added-test.html]
|
|
[Added subtest]
|
|
expected: FAIL
|
|
|
|
|
|
[new-modified-current-deleted.html]
|
|
expected:
|
|
if os == "linux": FAIL
|
|
if os == "mac": FAIL
|
|
TIMEOUT
|
|
|
|
[test-modified.html]
|
|
expected:
|
|
if os == "linux": FAIL
|
|
"""
|
|
|
|
|
|
def test_merge():
|
|
def get_manifest(str_data):
|
|
bytes_io = BytesIO(str_data)
|
|
return metamerge.compile(bytes_io,
|
|
metamerge.data_cls_getter)
|
|
ancestor_manifest = get_manifest(ancestor)
|
|
current_manifest = get_manifest(current)
|
|
new_manifest = get_manifest(new)
|
|
|
|
assert metamerge.make_changes(ancestor_manifest,
|
|
current_manifest,
|
|
new_manifest) == updated
|
|
|
|
if __name__ == '__main__':
|
|
mozunit.main()
|