From 63d19bdb4cae819ba039c3fe3c6c828619834ee1 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 19 Jan 2021 21:49:38 +0100 Subject: [PATCH] More robustness against test variations on different platforms. --- src/db/unit_tests/dbDeepRegionTests.cc | 31 ++++++++++++------------ src/db/unit_tests/dbRegionTests.cc | 12 ++++----- testdata/algo/device_extract_au10.gds.5 | Bin 0 -> 8894 bytes testdata/drc/drcSimpleTests_20.drc | 2 +- testdata/drc/drcSimpleTests_26.drc | 2 +- 5 files changed, 24 insertions(+), 23 deletions(-) create mode 100644 testdata/algo/device_extract_au10.gds.5 diff --git a/src/db/unit_tests/dbDeepRegionTests.cc b/src/db/unit_tests/dbDeepRegionTests.cc index 9a4a90708..02391876b 100644 --- a/src/db/unit_tests/dbDeepRegionTests.cc +++ b/src/db/unit_tests/dbDeepRegionTests.cc @@ -32,6 +32,7 @@ #include "dbDeepShapeStore.h" #include "dbOriginalLayerRegion.h" #include "dbCellGraphUtils.h" +#include "dbTestSupport.h" #include "tlUnitTest.h" #include "tlStream.h" @@ -1776,21 +1777,21 @@ TEST(30a_interact_with_count_region) r.set_merged_semantics (false); EXPECT_EQ (r.selected_interacting (empty).to_string (), ""); - EXPECT_EQ (r.selected_interacting (rr).to_string (), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"); + EXPECT_EQ (db::compare (r.selected_interacting (rr), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"), true); EXPECT_EQ (r.selected_interacting (rr, 0, 2).to_string (), "(0,0;0,200;100,200;100,0)"); EXPECT_EQ (r.selected_interacting (rr, 1, 2).to_string (), "(0,0;0,200;100,200;100,0)"); - EXPECT_EQ (r.selected_interacting (rr, 1, 4).to_string (), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"); - EXPECT_EQ (r.selected_interacting (rr, 2, 4).to_string (), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"); + EXPECT_EQ (db::compare (r.selected_interacting (rr, 1, 4), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"), true); + EXPECT_EQ (db::compare (r.selected_interacting (rr, 2, 4), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"), true); EXPECT_EQ (r.selected_interacting (rr, 2, 1).to_string (), ""); EXPECT_EQ (r.selected_interacting (rr, 3, 4).to_string (), "(-100,-100;-100,0;0,0;0,-100)"); - EXPECT_EQ (r.selected_not_interacting (empty).to_string (), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"); + EXPECT_EQ (db::compare (r.selected_not_interacting (empty), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"), true); EXPECT_EQ (r.selected_not_interacting (rr).to_string (), ""); EXPECT_EQ (r.selected_not_interacting (rr, 0, 2).to_string (), "(-100,-100;-100,0;0,0;0,-100)"); EXPECT_EQ (r.selected_not_interacting (rr, 1, 2).to_string (), "(-100,-100;-100,0;0,0;0,-100)"); EXPECT_EQ (r.selected_not_interacting (rr, 1, 4).to_string (), ""); EXPECT_EQ (r.selected_not_interacting (rr, 2, 4).to_string (), ""); - EXPECT_EQ (r.selected_not_interacting (rr, 2, 1).to_string (), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"); + EXPECT_EQ (db::compare (r.selected_not_interacting (rr, 2, 1), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"), true); EXPECT_EQ (r.selected_not_interacting (rr, 3, 4).to_string (), "(0,0;0,200;100,200;100,0)"); } @@ -1867,21 +1868,21 @@ TEST(30b_interact_with_count_edge) r.set_merged_semantics (false); EXPECT_EQ (r.selected_interacting (empty).to_string (), ""); - EXPECT_EQ (r.selected_interacting (rr).to_string (), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"); + EXPECT_EQ (db::compare (r.selected_interacting (rr), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"), true); EXPECT_EQ (r.selected_interacting (rr, 0, 2).to_string (), "(0,0;0,200;100,200;100,0)"); EXPECT_EQ (r.selected_interacting (rr, 1, 2).to_string (), "(0,0;0,200;100,200;100,0)"); - EXPECT_EQ (r.selected_interacting (rr, 1, 4).to_string (), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"); - EXPECT_EQ (r.selected_interacting (rr, 2, 4).to_string (), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"); + EXPECT_EQ (db::compare (r.selected_interacting (rr, 1, 4), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"), true); + EXPECT_EQ (db::compare (r.selected_interacting (rr, 2, 4), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"), true); EXPECT_EQ (r.selected_interacting (rr, 2, 1).to_string (), ""); EXPECT_EQ (r.selected_interacting (rr, 3, 4).to_string (), "(-100,-100;-100,0;0,0;0,-100)"); - EXPECT_EQ (r.selected_not_interacting (empty).to_string (), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"); + EXPECT_EQ (db::compare (r.selected_not_interacting (empty), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"), true); EXPECT_EQ (r.selected_not_interacting (rr).to_string (), ""); EXPECT_EQ (r.selected_not_interacting (rr, 0, 2).to_string (), "(-100,-100;-100,0;0,0;0,-100)"); EXPECT_EQ (r.selected_not_interacting (rr, 1, 2).to_string (), "(-100,-100;-100,0;0,0;0,-100)"); EXPECT_EQ (r.selected_not_interacting (rr, 1, 4).to_string (), ""); EXPECT_EQ (r.selected_not_interacting (rr, 2, 4).to_string (), ""); - EXPECT_EQ (r.selected_not_interacting (rr, 2, 1).to_string (), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"); + EXPECT_EQ (db::compare (r.selected_not_interacting (rr, 2, 1), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"), true); EXPECT_EQ (r.selected_not_interacting (rr, 3, 4).to_string (), "(0,0;0,200;100,200;100,0)"); } @@ -1957,21 +1958,21 @@ TEST(30c_interact_with_count_text) r.set_merged_semantics (false); EXPECT_EQ (r.selected_interacting (empty).to_string (), ""); - EXPECT_EQ (r.selected_interacting (rr).to_string (), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"); + EXPECT_EQ (db::compare (r.selected_interacting (rr), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"), true); EXPECT_EQ (r.selected_interacting (rr, 0, 2).to_string (), "(0,0;0,200;100,200;100,0)"); EXPECT_EQ (r.selected_interacting (rr, 1, 2).to_string (), "(0,0;0,200;100,200;100,0)"); - EXPECT_EQ (r.selected_interacting (rr, 1, 4).to_string (), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"); - EXPECT_EQ (r.selected_interacting (rr, 2, 4).to_string (), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"); + EXPECT_EQ (db::compare (r.selected_interacting (rr, 1, 4), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"), true); + EXPECT_EQ (db::compare (r.selected_interacting (rr, 2, 4), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"), true); EXPECT_EQ (r.selected_interacting (rr, 2, 1).to_string (), ""); EXPECT_EQ (r.selected_interacting (rr, 3, 4).to_string (), "(-100,-100;-100,0;0,0;0,-100)"); - EXPECT_EQ (r.selected_not_interacting (empty).to_string (), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"); + EXPECT_EQ (db::compare (r.selected_not_interacting (empty), "(0,0;0,200;100,200;100,0);(-100,-100;-100,0;0,0;0,-100)"), true); EXPECT_EQ (r.selected_not_interacting (rr).to_string (), ""); EXPECT_EQ (r.selected_not_interacting (rr, 0, 2).to_string (), "(-100,-100;-100,0;0,0;0,-100)"); EXPECT_EQ (r.selected_not_interacting (rr, 1, 2).to_string (), "(-100,-100;-100,0;0,0;0,-100)"); EXPECT_EQ (r.selected_not_interacting (rr, 1, 4).to_string (), ""); EXPECT_EQ (r.selected_not_interacting (rr, 2, 4).to_string (), ""); - EXPECT_EQ (r.selected_not_interacting (rr, 2, 1).to_string (), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"); + EXPECT_EQ (db::compare (r.selected_not_interacting (rr, 2, 1), "(-100,-100;-100,0;0,0;0,-100);(0,0;0,200;100,200;100,0)"), true); EXPECT_EQ (r.selected_not_interacting (rr, 3, 4).to_string (), "(0,0;0,200;100,200;100,0)"); } diff --git a/src/db/unit_tests/dbRegionTests.cc b/src/db/unit_tests/dbRegionTests.cc index bd3352be8..db2d9d296 100644 --- a/src/db/unit_tests/dbRegionTests.cc +++ b/src/db/unit_tests/dbRegionTests.cc @@ -653,16 +653,16 @@ TEST(15g) db::RegionCheckOptions options; options.metrics = db::Projection; options.opposite_filter = db::NoOppositeFilter; - EXPECT_EQ (r1.separation_check (r2, 40, options).to_string (), - "(100,0;100,300)/(90,300;90,0);(200,200;200,100)/(210,100;210,200)"); + EXPECT_EQ (db::compare (r1.separation_check (r2, 40, options), + "(100,0;100,300)/(90,300;90,0);(200,200;200,100)/(210,100;210,200)"), true); options.opposite_filter = db::NotOpposite; - EXPECT_EQ (r1.separation_check (r2, 40, options).to_string (), - "(100,0;100,100)/(90,300;90,0);(100,200;100,300)/(90,300;90,0)"); + EXPECT_EQ (db::compare (r1.separation_check (r2, 40, options), + "(100,0;100,100)/(90,300;90,0);(100,200;100,300)/(90,300;90,0)"), true); options.opposite_filter = db::OnlyOpposite; - EXPECT_EQ (r1.separation_check (r2, 40, options).to_string (), - "(200,200;200,100)/(210,100;210,200);(100,100;100,200)/(90,300;90,0)"); + EXPECT_EQ (db::compare (r1.separation_check (r2, 40, options), + "(200,200;200,100)/(210,100;210,200);(100,100;100,200)/(90,300;90,0)"), true); } TEST(15h) diff --git a/testdata/algo/device_extract_au10.gds.5 b/testdata/algo/device_extract_au10.gds.5 new file mode 100644 index 0000000000000000000000000000000000000000..5a077c2fbb94ae5bc1cc05d2db230aaa68958467 GIT binary patch literal 8894 zcmc&(&5ImG6o1n*(>ptv?5>kd;+j>WjNl=}?1!5KF=XQgvLtSTy9N!0#Y3*1JQ^?< z4_^ESB(M^Upf^zwzX&2h5{VKoVnWD4L2{6I%~$(-_3Cw1_w>wkH%b!MbX<)boT}$QFSY%ClyuBNVSKE zYC}{&-*l|+C#R37@enNLgQRR%e@;f5?X>sZ3YG+sM?XP}xt7ov>Qc%x`*T@r1IDhC$THk+jlr(iE@6Kq|Q6Qihd)n<3D7aQiW@4~NK6~3U#U2H7h z+qpKAuSzC|-;hiSf@kE6g}v=_FGQhO*}!?_dqEH~BWEnE&D{!#O!DfSF-Fc{aMq#9 zQ?dQo-wBls;D3U>25f!^{(6Th2l}@{7k}Ne!f!nzd_|Q5ef}>_e-z!usT$rc*!q;H zj@w01<-^+xN6XzQ-cI5unVn*y#ixv;C8%XBqtz5Ak6Ry}^VuMaw_>}#A=&(cy^_4wVMKESME|C(MDon(_}tnGKF zQ`8!(!dm$;r=e@kbdEVQ-E(X$4gC8$S&P$sibh>-g<^R<@f1yg+JDAo&leB3+5d+!vV_47LT&DVQ}zW+sfQJXc758c;rSN=D> zdm{|d$I4D@wsl`-?ZJ%E<}JxFcIb%gV$&06?_qyN_73)EWbEIRmf7wdo|-W?aK^68 z8Sr$WV{W224xXni9Yv)z@)T+t%rrjg0zrv*Pa+?x=WzMjx+`mW8}zjp66?y|Aha(3I6KjiGk`9N=_y;RN~E5%22iuG7seC>R5cEnwL z?R>QpR#bVaBW^hVIdAYkXOCy&m*VH|s4aio=|@kBo|s<_jOI;v#-YknFA9$@{TjdO zxNl>=zD(q$qT`AEw=t<7{-ZzCdKG_S24+(uwvo+XVgr!TJ&KFT-|=DhHOb86Q?MZQg<}CTtrc+dTQ6LzVZl`QZ~1TSm_9awb@%U9I6`M0{Vr5o9GWow@SR*~JgI%0! z9!_YkdANOY&BM)_YaXgbu6d|vx#pqT=9-62AlJO99XaP^ytVB~OuPb%oWyQ^T%k>+ z9#p}z_(i&oEPjzrDT`mEyUXGi=}24gcd|_Z{*xVUu27wDJMcZTrM`E@{Ftv7IJMlq zoS<+5r&~^w)t>y`bQAYPvAaLPFH!Fj{1P=j!7tI*B={wIIq!Q}vD#~-wkL)4fE55KfxtAXX?8;0SV+iv1VQ!g;@ n=<;%(d96S4&%+ltUT [2,7,0]) <= 0) +has_unbounded_range = ((RUBY_VERSION.split(".").map(&:to_i) <=> [2,7,0]) >= 0) source($drc_test_source, "TOP") target($drc_test_target) diff --git a/testdata/drc/drcSimpleTests_26.drc b/testdata/drc/drcSimpleTests_26.drc index 549641cbb..83d9d49e5 100644 --- a/testdata/drc/drcSimpleTests_26.drc +++ b/testdata/drc/drcSimpleTests_26.drc @@ -1,5 +1,5 @@ -has_unbounded_range = ((RUBY_VERSION.split(".").map(&:to_i) <=> [2,7,0]) <= 0) +has_unbounded_range = ((RUBY_VERSION.split(".").map(&:to_i) <=> [2,7,0]) >= 0) source $drc_test_source target $drc_test_target