@@ -97,6 +97,52 @@ TEST(1A_Flat)
9797 tl::InputStream stream (output);
9898 db::Reader reader (stream);
9999 reader.read (layout);
100+
101+ EXPECT_EQ (std::string (reader.format ()), " OASIS" );
102+ }
103+
104+ db::compare_layouts (this , layout, au, db::NormalizationMode (db::NoNormalization | db::AsPolygons));
105+ EXPECT_EQ (cap.captured_text (),
106+ " Layer 10/0 is not present in first layout, but in second\n "
107+ " Result summary (layers without differences are not shown):\n "
108+ " \n "
109+ " Layer Output Differences (shape count)\n "
110+ " ----------------------------------------------------------------\n "
111+ " 3/0 3/0 30\n "
112+ " 6/0 6/0 41\n "
113+ " 8/1 8/1 1\n "
114+ " 10/0 - (no such layer in first layout)\n "
115+ " \n "
116+ );
117+ }
118+
119+ TEST (1A_FlatWithExplicitOutputFormat)
120+ {
121+ tl::CaptureChannel cap;
122+
123+ std::string input_a = tl::testdata ();
124+ input_a += " /bd/strmxor_in1.gds" ;
125+
126+ std::string input_b = tl::testdata ();
127+ input_b += " /bd/strmxor_in2.gds" ;
128+
129+ std::string au = tl::testdata ();
130+ au += " /bd/strmxor_au1.oas" ;
131+
132+ std::string output = this ->tmp_file (" tmp.xxx[oas]" );
133+
134+ const char *argv[] = { " x" , input_a.c_str (), input_b.c_str (), output.c_str () };
135+
136+ EXPECT_EQ (strmxor (sizeof (argv) / sizeof (argv[0 ]), (char **) argv), 1 );
137+
138+ db::Layout layout;
139+
140+ {
141+ tl::InputStream stream (output);
142+ db::Reader reader (stream);
143+ reader.read (layout);
144+
145+ EXPECT_EQ (std::string (reader.format ()), " OASIS" );
100146 }
101147
102148 db::compare_layouts (this , layout, au, db::NormalizationMode (db::NoNormalization | db::AsPolygons));
0 commit comments