Skip to content

Commit 2282a95

Browse files
committed
Add more tests for detecting changes to VectorMembers
1 parent 6233cdd commit 2282a95

File tree

6 files changed

+41
-0
lines changed

6 files changed

+41
-0
lines changed

python/podio_schema_evolution.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,12 @@ def heuristics(self):
369369
f"Forbidden schema change in '{vmc.klassname}': Added vector member '{vmc.member}'"
370370
)
371371

372+
dropped_vecmems = [c for c in schema_changes if isinstance(c, DroppedVectorMember)]
373+
for vmc in dropped_vecmems:
374+
self.errors.append(
375+
f"Forbidden schema change in '{vmc.klassname}': Added vector member '{vmc.member_name}'"
376+
)
377+
372378
# are the member changes actually supported/supportable?
373379
changed_members = [
374380
change for change in schema_changes if isinstance(change, ChangedMember)

tests/schema_evolution/detection/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
set(should_fail_cases
22
vector_members:add_new
3+
vector_members:add_additional
34
)
45

56
set(should_succeed_cases
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
schema_version: 2
2+
3+
datatypes:
4+
DataTypeWithOneVectorMember:
5+
Description: "Type for testing the addition of new VectorMembers"
6+
Author: "Thomas Madlener"
7+
VectorMembers:
8+
- float f // a float
9+
- int i // an additional float
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
schema_version: 1
2+
3+
datatypes:
4+
DataTypeWithOneVectorMember:
5+
Description: "Type for testing the addition of new VectorMembers"
6+
Author: "Thomas Madlener"
7+
VectorMembers:
8+
- float f // a float
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
schema_version: 2
2+
3+
datatypes:
4+
DataTypeWithSomeVectorMember:
5+
Description: "Type for testing the removal of one VectorMember"
6+
Author: "Thomas Madlener"
7+
VectorMembers:
8+
- double d // some doubles never hurt
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
schema_version: 1
2+
3+
datatypes:
4+
DataTypeWithSomeVectorMember:
5+
Description: "Type for testing the removal of one VectorMember"
6+
Author: "Thomas Madlener"
7+
VectorMembers:
8+
- float f // a float
9+
- double d // some doubles never hurt

0 commit comments

Comments
 (0)