X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Ftests%2Fsgen-bridge-pathologies.cs;h=7c8dbc087311677c159a0f3b86b57f8e6d62ef6f;hb=ee048db72f867214ba2b9926d70a03badd79b33f;hp=68fc0a5d0603301897fe4cbad95de05495156d25;hpb=539ae700e29bda4d60b1bd8cd0e4726452d184f9;p=mono.git diff --git a/mono/tests/sgen-bridge-pathologies.cs b/mono/tests/sgen-bridge-pathologies.cs index 68fc0a5d060..7c8dbc08731 100644 --- a/mono/tests/sgen-bridge-pathologies.cs +++ b/mono/tests/sgen-bridge-pathologies.cs @@ -111,13 +111,29 @@ class Driver { var heads = new Bridge [FAN_OUT]; for (int i = 0; i < FAN_OUT; ++i) heads [i] = new Bridge (); - var multiplexer = new Bridge [FAN_OUT]; - for (int i = 0; i < FAN_OUT; ++i) - { - heads [i].Links.Add (multiplexer); - multiplexer [i] = new Bridge (); + + // We make five identical multiplexers to verify Tarjan-bridge can merge them together correctly. + var MULTIPLEXER_COUNT = 5; + Bridge[] multiplexer0 = null; + for(int m = 0; m < MULTIPLEXER_COUNT; m++) { + var multiplexer = new Bridge [FAN_OUT]; + if (m == 0) { + multiplexer0 = multiplexer; + for (int i = 0; i < FAN_OUT; ++i) + { + heads [i].Links.Add (multiplexer); + multiplexer [i] = new Bridge (); + } + } else { + for (int i = 0; i < FAN_OUT; ++i) + { + heads [i].Links.Add (multiplexer); + multiplexer [i] = multiplexer0 [i]; + } + } } - Console.WriteLine ("-double fan done-"); + + Console.WriteLine ("-double fan x5 done-"); } /*