]> granicus.if.org Git - graphviz/commitdiff
tests: add a regression test for a crash with >= 128 clusters
authorThomas Gibson-Robinson <tom@cocotec.io>
Fri, 15 Apr 2022 07:10:51 +0000 (08:10 +0100)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 16 Apr 2022 17:25:42 +0000 (10:25 -0700)
tests/regression_tests/large/test_large_graphs.py
tests/regression_tests/large/wide_clusters [new file with mode: 0644]

index 844c067cdb3c7e413281699e4d9837371d01d1e8..6d79dc5b5894c28832c9dd7457950769cb37020d 100644 (file)
@@ -3,6 +3,7 @@ Tests of large and/or expensive graphs.
 """\r
 \r
 import os\r
+from pathlib import Path\r
 import platform\r
 import subprocess\r
 import pytest\r
@@ -34,3 +35,12 @@ def test_long_chain():
   subprocess.check_call([\r
     "dot", "-Tsvg", "-O", os.devnull\r
   ])\r
+\r
+@pytest.mark.xfail(strict = True)\r
+def test_wide_clusters():\r
+  """\r
+  A simple regression test for https://gitlab.com/graphviz/graphviz/-/issues/2080#\r
+  """\r
+  subprocess.check_call([\r
+    "dot", "-Tsvg", "-O", os.devnull, Path(__file__).parent / "wide_clusters"\r
+  ])\r
diff --git a/tests/regression_tests/large/wide_clusters b/tests/regression_tests/large/wide_clusters
new file mode 100644 (file)
index 0000000..a96e545
--- /dev/null
@@ -0,0 +1,1026 @@
+digraph {
+    subgraph cluster_0
+    {
+        {
+            rank=source
+            s0
+        }
+        f0
+    }
+    subgraph cluster_1
+    {
+        {
+            rank=source
+            s1
+        }
+        f1
+    }
+    subgraph cluster_2
+    {
+        {
+            rank=source
+            s2
+        }
+        f2
+    }
+    subgraph cluster_3
+    {
+        {
+            rank=source
+            s3
+        }
+        f3
+    }
+    subgraph cluster_4
+    {
+        {
+            rank=source
+            s4
+        }
+        f4
+    }
+    subgraph cluster_5
+    {
+        {
+            rank=source
+            s5
+        }
+        f5
+    }
+    subgraph cluster_6
+    {
+        {
+            rank=source
+            s6
+        }
+        f6
+    }
+    subgraph cluster_7
+    {
+        {
+            rank=source
+            s7
+        }
+        f7
+    }
+    subgraph cluster_8
+    {
+        {
+            rank=source
+            s8
+        }
+        f8
+    }
+    subgraph cluster_9
+    {
+        {
+            rank=source
+            s9
+        }
+        f9
+    }
+    subgraph cluster_10
+    {
+        {
+            rank=source
+            s10
+        }
+        f10
+    }
+    subgraph cluster_11
+    {
+        {
+            rank=source
+            s11
+        }
+        f11
+    }
+    subgraph cluster_12
+    {
+        {
+            rank=source
+            s12
+        }
+        f12
+    }
+    subgraph cluster_13
+    {
+        {
+            rank=source
+            s13
+        }
+        f13
+    }
+    subgraph cluster_14
+    {
+        {
+            rank=source
+            s14
+        }
+        f14
+    }
+    subgraph cluster_15
+    {
+        {
+            rank=source
+            s15
+        }
+        f15
+    }
+    subgraph cluster_16
+    {
+        {
+            rank=source
+            s16
+        }
+        f16
+    }
+    subgraph cluster_17
+    {
+        {
+            rank=source
+            s17
+        }
+        f17
+    }
+    subgraph cluster_18
+    {
+        {
+            rank=source
+            s18
+        }
+        f18
+    }
+    subgraph cluster_19
+    {
+        {
+            rank=source
+            s19
+        }
+        f19
+    }
+    subgraph cluster_20
+    {
+        {
+            rank=source
+            s20
+        }
+        f20
+    }
+    subgraph cluster_21
+    {
+        {
+            rank=source
+            s21
+        }
+        f21
+    }
+    subgraph cluster_22
+    {
+        {
+            rank=source
+            s22
+        }
+        f22
+    }
+    subgraph cluster_23
+    {
+        {
+            rank=source
+            s23
+        }
+        f23
+    }
+    subgraph cluster_24
+    {
+        {
+            rank=source
+            s24
+        }
+        f24
+    }
+    subgraph cluster_25
+    {
+        {
+            rank=source
+            s25
+        }
+        f25
+    }
+    subgraph cluster_26
+    {
+        {
+            rank=source
+            s26
+        }
+        f26
+    }
+    subgraph cluster_27
+    {
+        {
+            rank=source
+            s27
+        }
+        f27
+    }
+    subgraph cluster_28
+    {
+        {
+            rank=source
+            s28
+        }
+        f28
+    }
+    subgraph cluster_29
+    {
+        {
+            rank=source
+            s29
+        }
+        f29
+    }
+    subgraph cluster_30
+    {
+        {
+            rank=source
+            s30
+        }
+        f30
+    }
+    subgraph cluster_31
+    {
+        {
+            rank=source
+            s31
+        }
+        f31
+    }
+    subgraph cluster_32
+    {
+        {
+            rank=source
+            s32
+        }
+        f32
+    }
+    subgraph cluster_33
+    {
+        {
+            rank=source
+            s33
+        }
+        f33
+    }
+    subgraph cluster_34
+    {
+        {
+            rank=source
+            s34
+        }
+        f34
+    }
+    subgraph cluster_35
+    {
+        {
+            rank=source
+            s35
+        }
+        f35
+    }
+    subgraph cluster_36
+    {
+        {
+            rank=source
+            s36
+        }
+        f36
+    }
+    subgraph cluster_37
+    {
+        {
+            rank=source
+            s37
+        }
+        f37
+    }
+    subgraph cluster_38
+    {
+        {
+            rank=source
+            s38
+        }
+        f38
+    }
+    subgraph cluster_39
+    {
+        {
+            rank=source
+            s39
+        }
+        f39
+    }
+    subgraph cluster_40
+    {
+        {
+            rank=source
+            s40
+        }
+        f40
+    }
+    subgraph cluster_41
+    {
+        {
+            rank=source
+            s41
+        }
+        f41
+    }
+    subgraph cluster_42
+    {
+        {
+            rank=source
+            s42
+        }
+        f42
+    }
+    subgraph cluster_43
+    {
+        {
+            rank=source
+            s43
+        }
+        f43
+    }
+    subgraph cluster_44
+    {
+        {
+            rank=source
+            s44
+        }
+        f44
+    }
+    subgraph cluster_45
+    {
+        {
+            rank=source
+            s45
+        }
+        f45
+    }
+    subgraph cluster_46
+    {
+        {
+            rank=source
+            s46
+        }
+        f46
+    }
+    subgraph cluster_47
+    {
+        {
+            rank=source
+            s47
+        }
+        f47
+    }
+    subgraph cluster_48
+    {
+        {
+            rank=source
+            s48
+        }
+        f48
+    }
+    subgraph cluster_49
+    {
+        {
+            rank=source
+            s49
+        }
+        f49
+    }
+    subgraph cluster_50
+    {
+        {
+            rank=source
+            s50
+        }
+        f50
+    }
+    subgraph cluster_51
+    {
+        {
+            rank=source
+            s51
+        }
+        f51
+    }
+    subgraph cluster_52
+    {
+        {
+            rank=source
+            s52
+        }
+        f52
+    }
+    subgraph cluster_53
+    {
+        {
+            rank=source
+            s53
+        }
+        f53
+    }
+    subgraph cluster_54
+    {
+        {
+            rank=source
+            s54
+        }
+        f54
+    }
+    subgraph cluster_55
+    {
+        {
+            rank=source
+            s55
+        }
+        f55
+    }
+    subgraph cluster_56
+    {
+        {
+            rank=source
+            s56
+        }
+        f56
+    }
+    subgraph cluster_57
+    {
+        {
+            rank=source
+            s57
+        }
+        f57
+    }
+    subgraph cluster_58
+    {
+        {
+            rank=source
+            s58
+        }
+        f58
+    }
+    subgraph cluster_59
+    {
+        {
+            rank=source
+            s59
+        }
+        f59
+    }
+    subgraph cluster_60
+    {
+        {
+            rank=source
+            s60
+        }
+        f60
+    }
+    subgraph cluster_61
+    {
+        {
+            rank=source
+            s61
+        }
+        f61
+    }
+    subgraph cluster_62
+    {
+        {
+            rank=source
+            s62
+        }
+        f62
+    }
+    subgraph cluster_63
+    {
+        {
+            rank=source
+            s63
+        }
+        f63
+    }
+    subgraph cluster_64
+    {
+        {
+            rank=source
+            s64
+        }
+        f64
+    }
+    subgraph cluster_65
+    {
+        {
+            rank=source
+            s65
+        }
+        f65
+    }
+    subgraph cluster_66
+    {
+        {
+            rank=source
+            s66
+        }
+        f66
+    }
+    subgraph cluster_67
+    {
+        {
+            rank=source
+            s67
+        }
+        f67
+    }
+    subgraph cluster_68
+    {
+        {
+            rank=source
+            s68
+        }
+        f68
+    }
+    subgraph cluster_69
+    {
+        {
+            rank=source
+            s69
+        }
+        f69
+    }
+    subgraph cluster_70
+    {
+        {
+            rank=source
+            s70
+        }
+        f70
+    }
+    subgraph cluster_71
+    {
+        {
+            rank=source
+            s71
+        }
+        f71
+    }
+    subgraph cluster_72
+    {
+        {
+            rank=source
+            s72
+        }
+        f72
+    }
+    subgraph cluster_73
+    {
+        {
+            rank=source
+            s73
+        }
+        f73
+    }
+    subgraph cluster_74
+    {
+        {
+            rank=source
+            s74
+        }
+        f74
+    }
+    subgraph cluster_75
+    {
+        {
+            rank=source
+            s75
+        }
+        f75
+    }
+    subgraph cluster_76
+    {
+        {
+            rank=source
+            s76
+        }
+        f76
+    }
+    subgraph cluster_77
+    {
+        {
+            rank=source
+            s77
+        }
+        f77
+    }
+    subgraph cluster_78
+    {
+        {
+            rank=source
+            s78
+        }
+        f78
+    }
+    subgraph cluster_79
+    {
+        {
+            rank=source
+            s79
+        }
+        f79
+    }
+    subgraph cluster_80
+    {
+        {
+            rank=source
+            s80
+        }
+        f80
+    }
+    subgraph cluster_81
+    {
+        {
+            rank=source
+            s81
+        }
+        f81
+    }
+    subgraph cluster_82
+    {
+        {
+            rank=source
+            s82
+        }
+        f82
+    }
+    subgraph cluster_83
+    {
+        {
+            rank=source
+            s83
+        }
+        f83
+    }
+    subgraph cluster_84
+    {
+        {
+            rank=source
+            s84
+        }
+        f84
+    }
+    subgraph cluster_85
+    {
+        {
+            rank=source
+            s85
+        }
+        f85
+    }
+    subgraph cluster_86
+    {
+        {
+            rank=source
+            s86
+        }
+        f86
+    }
+    subgraph cluster_87
+    {
+        {
+            rank=source
+            s87
+        }
+        f87
+    }
+    subgraph cluster_88
+    {
+        {
+            rank=source
+            s88
+        }
+        f88
+    }
+    subgraph cluster_89
+    {
+        {
+            rank=source
+            s89
+        }
+        f89
+    }
+    subgraph cluster_90
+    {
+        {
+            rank=source
+            s90
+        }
+        f90
+    }
+    subgraph cluster_91
+    {
+        {
+            rank=source
+            s91
+        }
+        f91
+    }
+    subgraph cluster_92
+    {
+        {
+            rank=source
+            s92
+        }
+        f92
+    }
+    subgraph cluster_93
+    {
+        {
+            rank=source
+            s93
+        }
+        f93
+    }
+    subgraph cluster_94
+    {
+        {
+            rank=source
+            s94
+        }
+        f94
+    }
+    subgraph cluster_95
+    {
+        {
+            rank=source
+            s95
+        }
+        f95
+    }
+    subgraph cluster_96
+    {
+        {
+            rank=source
+            s96
+        }
+        f96
+    }
+    subgraph cluster_97
+    {
+        {
+            rank=source
+            s97
+        }
+        f97
+    }
+    subgraph cluster_98
+    {
+        {
+            rank=source
+            s98
+        }
+        f98
+    }
+    subgraph cluster_99
+    {
+        {
+            rank=source
+            s99
+        }
+        f99
+    }
+    subgraph cluster_100
+    {
+        {
+            rank=source
+            s100
+        }
+        f100
+    }
+    subgraph cluster_101
+    {
+        {
+            rank=source
+            s101
+        }
+        f101
+    }
+    subgraph cluster_102
+    {
+        {
+            rank=source
+            s102
+        }
+        f102
+    }
+    subgraph cluster_103
+    {
+        {
+            rank=source
+            s103
+        }
+        f103
+    }
+    subgraph cluster_104
+    {
+        {
+            rank=source
+            s104
+        }
+        f104
+    }
+    subgraph cluster_105
+    {
+        {
+            rank=source
+            s105
+        }
+        f105
+    }
+    subgraph cluster_106
+    {
+        {
+            rank=source
+            s106
+        }
+        f106
+    }
+    subgraph cluster_107
+    {
+        {
+            rank=source
+            s107
+        }
+        f107
+    }
+    subgraph cluster_108
+    {
+        {
+            rank=source
+            s108
+        }
+        f108
+    }
+    subgraph cluster_109
+    {
+        {
+            rank=source
+            s109
+        }
+        f109
+    }
+    subgraph cluster_110
+    {
+        {
+            rank=source
+            s110
+        }
+        f110
+    }
+    subgraph cluster_111
+    {
+        {
+            rank=source
+            s111
+        }
+        f111
+    }
+    subgraph cluster_112
+    {
+        {
+            rank=source
+            s112
+        }
+        f112
+    }
+    subgraph cluster_113
+    {
+        {
+            rank=source
+            s113
+        }
+        f113
+    }
+    subgraph cluster_114
+    {
+        {
+            rank=source
+            s114
+        }
+        f114
+    }
+    subgraph cluster_115
+    {
+        {
+            rank=source
+            s115
+        }
+        f115
+    }
+    subgraph cluster_116
+    {
+        {
+            rank=source
+            s116
+        }
+        f116
+    }
+    subgraph cluster_117
+    {
+        {
+            rank=source
+            s117
+        }
+        f117
+    }
+    subgraph cluster_118
+    {
+        {
+            rank=source
+            s118
+        }
+        f118
+    }
+    subgraph cluster_119
+    {
+        {
+            rank=source
+            s119
+        }
+        f119
+    }
+    subgraph cluster_120
+    {
+        {
+            rank=source
+            s120
+        }
+        f120
+    }
+    subgraph cluster_121
+    {
+        {
+            rank=source
+            s121
+        }
+        f121
+    }
+    subgraph cluster_122
+    {
+        {
+            rank=source
+            s122
+        }
+        f122
+    }
+    subgraph cluster_123
+    {
+        {
+            rank=source
+            s123
+        }
+        f123
+    }
+    subgraph cluster_124
+    {
+        {
+            rank=source
+            s124
+        }
+        f124
+    }
+    subgraph cluster_125
+    {
+        {
+            rank=source
+            s125
+        }
+        f125
+    }
+    subgraph cluster_126
+    {
+        {
+            rank=source
+            s126
+        }
+        f126
+    }
+    subgraph cluster_127
+    {
+        {
+            rank=source
+            s127
+        }
+        f127
+    }
+}