utils: ipc: Update mojo
Update mojo from commit 9be4263648d7d1a04bb78be75df53f56449a5e3a "Updating trunk VERSION from 6225.0 to 6226.0" from the Chromium repository. The update-mojo.sh script was used for this update. Bug: https://bugs.libcamera.org/show_bug.cgi?id=206 Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Milan Zamazal <mzamazal@redhat.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
8ac367fe0c
commit
d17de86904
64 changed files with 3830 additions and 1416 deletions
|
@ -1,4 +1,4 @@
|
|||
# Copyright 2020 The Chromium Authors. All rights reserved.
|
||||
# Copyright 2020 The Chromium Authors
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
|
@ -23,9 +23,12 @@ class VersionCompatibilityTest(MojomParserTestCase):
|
|||
|
||||
checker = module.BackwardCompatibilityChecker()
|
||||
compatibility_map = {}
|
||||
for name in old.keys():
|
||||
compatibility_map[name] = checker.IsBackwardCompatible(
|
||||
new[name], old[name])
|
||||
for name in old:
|
||||
try:
|
||||
compatibility_map[name] = checker.IsBackwardCompatible(
|
||||
new[name], old[name])
|
||||
except Exception:
|
||||
compatibility_map[name] = False
|
||||
return compatibility_map
|
||||
|
||||
def assertBackwardCompatible(self, old_mojom, new_mojom):
|
||||
|
@ -60,40 +63,48 @@ class VersionCompatibilityTest(MojomParserTestCase):
|
|||
"""Adding a value to an existing version is not allowed, even if the old
|
||||
enum was marked [Extensible]. Note that it is irrelevant whether or not the
|
||||
new enum is marked [Extensible]."""
|
||||
self.assertNotBackwardCompatible('[Extensible] enum E { kFoo, kBar };',
|
||||
'enum E { kFoo, kBar, kBaz };')
|
||||
self.assertNotBackwardCompatible(
|
||||
'[Extensible] enum E { kFoo, kBar };',
|
||||
'[Extensible] enum E { kFoo, kBar, kBaz };')
|
||||
'[Extensible] enum E { [Default] kFoo, kBar };',
|
||||
'enum E { kFoo, kBar, kBaz };')
|
||||
self.assertNotBackwardCompatible(
|
||||
'[Extensible] enum E { kFoo, [MinVersion=1] kBar };',
|
||||
'[Extensible] enum E { [Default] kFoo, kBar };',
|
||||
'[Extensible] enum E { [Default] kFoo, kBar, kBaz };')
|
||||
self.assertNotBackwardCompatible(
|
||||
'[Extensible] enum E { [Default] kFoo, [MinVersion=1] kBar };',
|
||||
'enum E { kFoo, [MinVersion=1] kBar, [MinVersion=1] kBaz };')
|
||||
|
||||
def testEnumValueRemoval(self):
|
||||
"""Removal of an enum value is never valid even for [Extensible] enums."""
|
||||
self.assertNotBackwardCompatible('enum E { kFoo, kBar };',
|
||||
'enum E { kFoo };')
|
||||
self.assertNotBackwardCompatible('[Extensible] enum E { kFoo, kBar };',
|
||||
'[Extensible] enum E { kFoo };')
|
||||
self.assertNotBackwardCompatible(
|
||||
'[Extensible] enum E { kA, [MinVersion=1] kB };',
|
||||
'[Extensible] enum E { kA, };')
|
||||
'[Extensible] enum E { [Default] kFoo, kBar };',
|
||||
'[Extensible] enum E { [Default] kFoo };')
|
||||
self.assertNotBackwardCompatible(
|
||||
'[Extensible] enum E { kA, [MinVersion=1] kB, [MinVersion=1] kZ };',
|
||||
'[Extensible] enum E { kA, [MinVersion=1] kB };')
|
||||
'[Extensible] enum E { [Default] kA, [MinVersion=1] kB };',
|
||||
'[Extensible] enum E { [Default] kA, };')
|
||||
self.assertNotBackwardCompatible(
|
||||
"""[Extensible] enum E {
|
||||
[Default] kA,
|
||||
[MinVersion=1] kB,
|
||||
[MinVersion=1] kZ };""",
|
||||
'[Extensible] enum E { [Default] kA, [MinVersion=1] kB };')
|
||||
|
||||
def testNewExtensibleEnumValueWithMinVersion(self):
|
||||
"""Adding a new and properly [MinVersion]'d value to an [Extensible] enum
|
||||
is a backward-compatible change. Note that it is irrelevant whether or not
|
||||
the new enum is marked [Extensible]."""
|
||||
self.assertBackwardCompatible('[Extensible] enum E { kA, kB };',
|
||||
self.assertBackwardCompatible('[Extensible] enum E { [Default] kA, kB };',
|
||||
'enum E { kA, kB, [MinVersion=1] kC };')
|
||||
self.assertBackwardCompatible(
|
||||
'[Extensible] enum E { kA, kB };',
|
||||
'[Extensible] enum E { kA, kB, [MinVersion=1] kC };')
|
||||
'[Extensible] enum E { [Default] kA, kB };',
|
||||
'[Extensible] enum E { [Default] kA, kB, [MinVersion=1] kC };')
|
||||
self.assertBackwardCompatible(
|
||||
'[Extensible] enum E { kA, [MinVersion=1] kB };',
|
||||
'[Extensible] enum E { kA, [MinVersion=1] kB, [MinVersion=2] kC };')
|
||||
'[Extensible] enum E { [Default] kA, [MinVersion=1] kB };',
|
||||
"""[Extensible] enum E {
|
||||
[Default] kA,
|
||||
[MinVersion=1] kB,
|
||||
[MinVersion=2] kC };""")
|
||||
|
||||
def testRenameEnumValue(self):
|
||||
"""Renaming an enum value does not affect backward-compatibility. Only
|
||||
|
@ -161,14 +172,17 @@ class VersionCompatibilityTest(MojomParserTestCase):
|
|||
'struct S {}; struct T { S s; };',
|
||||
'struct S { [MinVersion=1] int32 x; }; struct T { S s; };')
|
||||
self.assertBackwardCompatible(
|
||||
'[Extensible] enum E { kA }; struct S { E e; };',
|
||||
'[Extensible] enum E { kA, [MinVersion=1] kB }; struct S { E e; };')
|
||||
'[Extensible] enum E { [Default] kA }; struct S { E e; };',
|
||||
"""[Extensible] enum E {
|
||||
[Default] kA,
|
||||
[MinVersion=1] kB };
|
||||
struct S { E e; };""")
|
||||
self.assertNotBackwardCompatible(
|
||||
'struct S {}; struct T { S s; };',
|
||||
'struct S { int32 x; }; struct T { S s; };')
|
||||
self.assertNotBackwardCompatible(
|
||||
'[Extensible] enum E { kA }; struct S { E e; };',
|
||||
'[Extensible] enum E { kA, kB }; struct S { E e; };')
|
||||
'[Extensible] enum E { [Default] kA }; struct S { E e; };',
|
||||
'[Extensible] enum E { [Default] kA, kB }; struct S { E e; };')
|
||||
|
||||
def testNewStructFieldWithInvalidMinVersion(self):
|
||||
"""Adding a new field using an existing MinVersion breaks backward-
|
||||
|
@ -305,14 +319,17 @@ class VersionCompatibilityTest(MojomParserTestCase):
|
|||
'struct S {}; union U { S s; };',
|
||||
'struct S { [MinVersion=1] int32 x; }; union U { S s; };')
|
||||
self.assertBackwardCompatible(
|
||||
'[Extensible] enum E { kA }; union U { E e; };',
|
||||
'[Extensible] enum E { kA, [MinVersion=1] kB }; union U { E e; };')
|
||||
'[Extensible] enum E { [Default] kA }; union U { E e; };',
|
||||
"""[Extensible] enum E {
|
||||
[Default] kA,
|
||||
[MinVersion=1] kB };
|
||||
union U { E e; };""")
|
||||
self.assertNotBackwardCompatible(
|
||||
'struct S {}; union U { S s; };',
|
||||
'struct S { int32 x; }; union U { S s; };')
|
||||
self.assertNotBackwardCompatible(
|
||||
'[Extensible] enum E { kA }; union U { E e; };',
|
||||
'[Extensible] enum E { kA, kB }; union U { E e; };')
|
||||
'[Extensible] enum E { [Default] kA }; union U { E e; };',
|
||||
'[Extensible] enum E { [Default] kA, kB }; union U { E e; };')
|
||||
|
||||
def testNewUnionFieldWithInvalidMinVersion(self):
|
||||
"""Adding a new field using an existing MinVersion breaks backward-
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue