From e59364603ded8b66acfbf526b195d3592cbb6e04 Mon Sep 17 00:00:00 2001 From: "Michael J. Sullivan" Date: Tue, 3 Oct 2023 14:19:16 -0700 Subject: [PATCH] Fix test broken by merging old PR (#6221) I just merged #5785, and one of the tests in it is broken because since I wrote the first PR, we started allowing computed links/properties without specifiers. --- edb/edgeql/declarative.py | 4 +++- edb/edgeql/tracer.py | 16 ++++++++++++++++ tests/test_schema.py | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/edb/edgeql/declarative.py b/edb/edgeql/declarative.py index 243c39a4561..971e196d853 100644 --- a/edb/edgeql/declarative.py +++ b/edb/edgeql/declarative.py @@ -211,7 +211,7 @@ def get_verbosename_from_fqname( assert traceobj is not None name = str(fq_name) - clsname = traceobj.__class__.__name__.lower() + clsname = traceobj.get_schema_class_displayname() ofobj = '' if isinstance(traceobj, qltracer.Alias): @@ -654,6 +654,8 @@ def _trace_item_layout( qltracer.Property if isinstance(decl, qlast.CreateConcreteProperty) else qltracer.Link + if isinstance(decl, qlast.CreateConcreteProperty) else + qltracer.UnknownPointer ) ptr = PointerType( s_name.QualName('__', pn.name), diff --git a/edb/edgeql/tracer.py b/edb/edgeql/tracer.py index ba397a0bf91..41db019754a 100644 --- a/edb/edgeql/tracer.py +++ b/edb/edgeql/tracer.py @@ -51,6 +51,10 @@ def __init__(self, name: sn.QualName) -> None: def get_name(self, schema: s_schema.Schema) -> sn.QualName: return self.name + @classmethod + def get_schema_class_displayname(cls) -> str: + return cls.__name__.lower() + SentinelObject = NamedObject( name=sn.QualName(module='__unknown__', name='__unknown__'), @@ -257,6 +261,18 @@ def is_property( return False +class UnknownPointer(Pointer): + def is_property( + self, + schema: s_schema.Schema, + ) -> bool: + return False + + @classmethod + def get_schema_class_displayname(cls) -> str: + return 'link or property' + + class AccessPolicy(NamedObject): def __init__( diff --git a/tests/test_schema.py b/tests/test_schema.py index f047099d50f..9c70660f8d8 100644 --- a/tests/test_schema.py +++ b/tests/test_schema.py @@ -931,7 +931,7 @@ def test_schema_field_dupe_02(self): @tb.must_fail( errors.InvalidDefinitionError, - "field 'foo' .*was already declared" + "link or property 'foo' .*was already declared" ) def test_schema_field_dupe_03(self): """