WIP: new tests for complex DRC ops.

This commit is contained in:
Matthias Koefferlein 2021-01-09 23:38:53 +01:00
parent 858c78729f
commit 168b41c119
9 changed files with 51 additions and 4 deletions

View File

@ -902,13 +902,13 @@ CODE
def extended_in(e) def extended_in(e)
@engine._context("extended_in") do @engine._context("extended_in") do
DRCOpNodeFilter::new(@engine, self, :new_extended_in, "extended_in", self._make_value(e)) DRCOpNodeFilter::new(@engine, self, :new_extended_in, "extended_in", @engine._make_value(e))
end end
end end
def extended_out(e) def extended_out(e)
@engine._context("extended_out") do @engine._context("extended_out") do
DRCOpNodeFilter::new(@engine, self, :new_extended_out, "extended_out", self._make_value(e)) DRCOpNodeFilter::new(@engine, self, :new_extended_out, "extended_out", @engine._make_value(e))
end end
end end
@ -935,7 +935,7 @@ CODE
def polygons(e = 0) def polygons(e = 0)
@engine._context("polygons") do @engine._context("polygons") do
DRCOpNodeFilter::new(@engine, self, :new_polygons, "polygons", self._make_value(e)) DRCOpNodeFilter::new(@engine, self, :new_polygons, "polygons", @engine._make_value(e))
end end
end end

View File

@ -148,3 +148,13 @@ TEST(8d)
{ {
run_test (_this, "8", true); run_test (_this, "8", true);
} }
TEST(9)
{
run_test (_this, "9", false);
}
TEST(9d)
{
run_test (_this, "9", true);
}

View File

@ -15,9 +15,11 @@ l1.output(1, 0)
l2.output(2, 0) l2.output(2, 0)
l3.output(3, 0) l3.output(3, 0)
# sizing/foreign/merged # sizing/foreign/merged/extents
l1.drc(sized(0.4)).output(100, 0) l1.drc(sized(0.4)).output(100, 0)
l1.drc(sized(0.4) & foreign.sized(0.4)).output(102, 0) l1.drc(sized(0.4) & foreign.sized(0.4)).output(102, 0)
l1.drc((sized(0.4) + foreign.sized(0.4)).merged(2)).output(103, 0) l1.drc((sized(0.4) + foreign.sized(0.4)).merged(2)).output(103, 0)
l1.drc(extents & foreign.extents).output(110, 0)

35
testdata/drc/drcGenericTests_9.drc vendored Normal file
View File

@ -0,0 +1,35 @@
source $drc_test_source
target $drc_test_target
if $drc_test_deep
deep
threads(0) # easier to debug
end
l1 = input(1, 0)
l2 = input(2, 0)
l3 = input(3, 0)
l1.output(1, 0)
l2.output(2, 0)
l3.output(3, 0)
# conversions
l1.drc((space(projection) < 1.0).polygons).output(100, 0)
l1.drc((space(projection) < 1.0).edges).output(101, 0)
l1.drc((space(projection) < 1.0).first_edges).output(102, 0)
l1.drc((space(projection) < 1.0).second_edges).output(103, 0)
l2.drc(primary.edges).output(110, 0)
l2.drc(primary.edges.extended_in(0.1)).output(111, 0)
l2.drc(primary.edges.extended_out(0.1)).output(112, 0)
# edge/polygon booleans
l1.drc(primary.edges - secondary(l2)).output(120, 0)
l1.drc(primary.edges & secondary(l2)).output(121, 0)
# edge booleans
l1.drc(primary.edges - (primary & secondary(l2)).edges).output(130, 0)
l1.drc(primary.edges & (primary & secondary(l2)).edges).output(131, 0)

BIN
testdata/drc/drcGenericTests_9.gds vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
testdata/drc/drcGenericTests_au9.gds vendored Normal file

Binary file not shown.

BIN
testdata/drc/drcGenericTests_au9d.gds vendored Normal file

Binary file not shown.