Author: Stefan Beyer <[email protected]>
Branch: cpyext-gc-cycle
Changeset: r95617:c46c894a7c06
Date: 2019-01-11 10:40 +0100
http://bitbucket.org/pypy/pypy/changeset/c46c894a7c06/
Log: Added some dot tests
diff --git a/rpython/memory/gc/test/dot/free_cpython_self.dot
b/rpython/memory/gc/test/dot/free_cpython_self.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cpython_self.dot
@@ -0,0 +1,4 @@
+digraph G {
+ "a" [type=C, alive=n];
+ "a" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_multi_1a.dot
b/rpython/memory/gc/test/dot/free_cross_multi_1a.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_multi_1a.dot
@@ -0,0 +1,9 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "a";
+ "a" -> "c";
+ "c" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_multi_1b.dot
b/rpython/memory/gc/test/dot/free_cross_multi_1b.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_multi_1b.dot
@@ -0,0 +1,10 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "a";
+ "a" -> "c";
+ "c" -> "a";
+ "b" -> "c";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_multi_2a.dot
b/rpython/memory/gc/test/dot/free_cross_multi_2a.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_multi_2a.dot
@@ -0,0 +1,9 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "a";
+ "b" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_multi_2b.dot
b/rpython/memory/gc/test/dot/free_cross_multi_2b.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_multi_2b.dot
@@ -0,0 +1,11 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=C, alive=n];
+ "d" [type=B, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "b" -> "a";
+ "d" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_multi_2c.dot
b/rpython/memory/gc/test/dot/free_cross_multi_2c.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_multi_2c.dot
@@ -0,0 +1,13 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=C, alive=n];
+ "d" [type=B, alive=n];
+ "e" [type=P, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "b" -> "a";
+ "d" -> "e";
+ "e" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_multi_3a.dot
b/rpython/memory/gc/test/dot/free_cross_multi_3a.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_multi_3a.dot
@@ -0,0 +1,9 @@
+digraph G {
+ "a" [type=P, alive=n];
+ "b" [type=B, alive=n];
+ "c" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "a";
+ "b" -> "c";
+ "c" -> "b";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_multi_3b.dot
b/rpython/memory/gc/test/dot/free_cross_multi_3b.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_multi_3b.dot
@@ -0,0 +1,11 @@
+digraph G {
+ "a" [type=P, alive=n];
+ "b" [type=B, alive=n];
+ "c" [type=C, alive=n];
+ "d" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "a";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "b";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_multi_3c.dot
b/rpython/memory/gc/test/dot/free_cross_multi_3c.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_multi_3c.dot
@@ -0,0 +1,11 @@
+digraph G {
+ "a" [type=P, alive=n];
+ "b" [type=P, alive=n];
+ "c" [type=B, alive=n];
+ "d" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "c";
+ "c" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_simple_1.dot
b/rpython/memory/gc/test/dot/free_cross_simple_1.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_simple_1.dot
@@ -0,0 +1,6 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_simple_2.dot
b/rpython/memory/gc/test/dot/free_cross_simple_2.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_simple_2.dot
@@ -0,0 +1,10 @@
+digraph G {
+ "a" [type=P, alive=n];
+ "b" [type=B, alive=n];
+ "c" [type=C, alive=n];
+ "d" [type=B, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_simple_3.dot
b/rpython/memory/gc/test/dot/free_cross_simple_3.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_simple_3.dot
@@ -0,0 +1,12 @@
+digraph G {
+ "a" [type=P, alive=n];
+ "b" [type=P, alive=n];
+ "c" [type=B, alive=n];
+ "d" [type=C, alive=n];
+ "e" [type=B, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "e";
+ "e" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_simple_4.dot
b/rpython/memory/gc/test/dot/free_cross_simple_4.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_simple_4.dot
@@ -0,0 +1,12 @@
+digraph G {
+ "a" [type=P, alive=n];
+ "b" [type=B, alive=n];
+ "c" [type=C, alive=n];
+ "d" [type=C, alive=n];
+ "e" [type=B, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "e";
+ "e" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_special_1a.dot
b/rpython/memory/gc/test/dot/free_cross_special_1a.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_special_1a.dot
@@ -0,0 +1,10 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=B, alive=n];
+ "d" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_special_1b.dot
b/rpython/memory/gc/test/dot/free_cross_special_1b.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_special_1b.dot
@@ -0,0 +1,14 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=B, alive=n];
+ "d" [type=C, alive=n];
+ "e" [type=B, alive=n];
+ "f" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "e";
+ "e" -> "f";
+ "f" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_special_1c.dot
b/rpython/memory/gc/test/dot/free_cross_special_1c.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_special_1c.dot
@@ -0,0 +1,18 @@
+digraph G {
+ "a" [type=P, alive=n];
+ "b" [type=B, alive=n];
+ "c" [type=C, alive=n];
+ "d" [type=B, alive=n];
+ "e" [type=P, alive=n];
+ "f" [type=B, alive=n];
+ "g" [type=C, alive=n];
+ "h" [type=B, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "e";
+ "e" -> "f";
+ "f" -> "g";
+ "g" -> "h";
+ "h" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_cross_special_2a.dot
b/rpython/memory/gc/test/dot/free_cross_special_2a.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_cross_special_2a.dot
@@ -0,0 +1,19 @@
+digraph G {
+ "a" [type=P, alive=n];
+ "b" [type=B, alive=n];
+ "c" [type=C, alive=n];
+ "d" [type=B, alive=n];
+ "e" [type=P, alive=n];
+ "f" [type=B, alive=n];
+ "g" [type=C, alive=n];
+ "h" [type=B, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "e";
+ "e" -> "f";
+ "f" -> "g";
+ "g" -> "h";
+ "h" -> "a";
+ "e" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_mixed_multi_1a.dot
b/rpython/memory/gc/test/dot/free_mixed_multi_1a.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_mixed_multi_1a.dot
@@ -0,0 +1,9 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "a";
+ "c" -> "b";
+}
diff --git a/rpython/memory/gc/test/dot/free_pypy_self.dot
b/rpython/memory/gc/test/dot/free_pypy_self.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/free_pypy_self.dot
@@ -0,0 +1,4 @@
+digraph G {
+ "a" [type=P, alive=n];
+ "a" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/free_self_cpython.dot
b/rpython/memory/gc/test/dot/free_self_cpython.dot
deleted file mode 100644
--- a/rpython/memory/gc/test/dot/free_self_cpython.dot
+++ /dev/null
@@ -1,4 +0,0 @@
-digraph G {
- "a" [type=C, alive=n];
- "a" -> "a";
-}
diff --git a/rpython/memory/gc/test/dot/free_self_pypy.dot
b/rpython/memory/gc/test/dot/free_self_pypy.dot
deleted file mode 100644
--- a/rpython/memory/gc/test/dot/free_self_pypy.dot
+++ /dev/null
@@ -1,4 +0,0 @@
-digraph G {
- "a" [type=P, alive=n];
- "a" -> "a";
-}
diff --git a/rpython/memory/gc/test/dot/free_simple_cross.dot
b/rpython/memory/gc/test/dot/free_simple_cross.dot
deleted file mode 100644
--- a/rpython/memory/gc/test/dot/free_simple_cross.dot
+++ /dev/null
@@ -1,6 +0,0 @@
-digraph G {
- "a" [type=B, alive=n];
- "b" [type=C, alive=n];
- "a" -> "b";
- "b" -> "a";
-}
diff --git a/rpython/memory/gc/test/dot/keep_cpython_self.dot
b/rpython/memory/gc/test/dot/keep_cpython_self.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/keep_cpython_self.dot
@@ -0,0 +1,4 @@
+digraph G {
+ "a" [type=C, alive=y, ext_refcnt=1];
+ "a" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/keep_cross_simple_1a.dot
b/rpython/memory/gc/test/dot/keep_cross_simple_1a.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/keep_cross_simple_1a.dot
@@ -0,0 +1,6 @@
+digraph G {
+ "a" [type=B, alive=y, rooted=y];
+ "b" [type=C, alive=y];
+ "a" -> "b";
+ "b" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/keep_cross_simple_1b.dot
b/rpython/memory/gc/test/dot/keep_cross_simple_1b.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/keep_cross_simple_1b.dot
@@ -0,0 +1,6 @@
+digraph G {
+ "a" [type=B, alive=y];
+ "b" [type=C, alive=y, ext_refcnt=1];
+ "a" -> "b";
+ "b" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/keep_cross_simple_2a.dot
b/rpython/memory/gc/test/dot/keep_cross_simple_2a.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/keep_cross_simple_2a.dot
@@ -0,0 +1,10 @@
+digraph G {
+ "a" [type=P, alive=y, rooted=y];
+ "b" [type=B, alive=y];
+ "c" [type=C, alive=y];
+ "d" [type=B, alive=y];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/keep_cross_simple_2b.dot
b/rpython/memory/gc/test/dot/keep_cross_simple_2b.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/keep_cross_simple_2b.dot
@@ -0,0 +1,10 @@
+digraph G {
+ "a" [type=P, alive=y];
+ "b" [type=B, alive=y, rooted=y];
+ "c" [type=C, alive=y];
+ "d" [type=B, alive=y];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/keep_cross_simple_2c.dot
b/rpython/memory/gc/test/dot/keep_cross_simple_2c.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/keep_cross_simple_2c.dot
@@ -0,0 +1,10 @@
+digraph G {
+ "a" [type=P, alive=y];
+ "b" [type=B, alive=y];
+ "c" [type=C, alive=y, ext_refcnt=1];
+ "d" [type=B, alive=y];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/keep_cross_simple_2d.dot
b/rpython/memory/gc/test/dot/keep_cross_simple_2d.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/keep_cross_simple_2d.dot
@@ -0,0 +1,10 @@
+digraph G {
+ "a" [type=P, alive=y];
+ "b" [type=B, alive=y];
+ "c" [type=C, alive=y];
+ "d" [type=B, alive=y, rooted=y];
+ "a" -> "b";
+ "b" -> "c";
+ "c" -> "d";
+ "d" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/keep_pypy_self.dot
b/rpython/memory/gc/test/dot/keep_pypy_self.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/keep_pypy_self.dot
@@ -0,0 +1,4 @@
+digraph G {
+ "a" [type=P, alive=y, rooted=y];
+ "a" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/keep_pypy_simple.dot
b/rpython/memory/gc/test/dot/keep_pypy_simple.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/keep_pypy_simple.dot
@@ -0,0 +1,6 @@
+digraph G {
+ "a" [type=P, alive=y, rooted=y];
+ "b" [type=P, alive=y];
+ "a" -> "b";
+ "b" -> "a";
+}
diff --git a/rpython/memory/gc/test/dot/keep_self_cpython.dot
b/rpython/memory/gc/test/dot/keep_self_cpython.dot
deleted file mode 100644
--- a/rpython/memory/gc/test/dot/keep_self_cpython.dot
+++ /dev/null
@@ -1,4 +0,0 @@
-digraph G {
- "a" [type=C, alive=y, ext_refcnt=1];
- "a" -> "a";
-}
diff --git a/rpython/memory/gc/test/dot/keep_self_pypy.dot
b/rpython/memory/gc/test/dot/keep_self_pypy.dot
deleted file mode 100644
--- a/rpython/memory/gc/test/dot/keep_self_pypy.dot
+++ /dev/null
@@ -1,4 +0,0 @@
-digraph G {
- "a" [type=P, alive=y, rooted=y];
- "a" -> "a";
-}
diff --git a/rpython/memory/gc/test/dot/partial_free_cross_simple_1.dot
b/rpython/memory/gc/test/dot/partial_free_cross_simple_1.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/partial_free_cross_simple_1.dot
@@ -0,0 +1,10 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=C, alive=y, ext_refcnt=1];
+ "d" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "a";
+ "b" -> "c";
+ "b" -> "d";
+}
diff --git a/rpython/memory/gc/test/dot/partial_free_cross_simple_2.dot
b/rpython/memory/gc/test/dot/partial_free_cross_simple_2.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/partial_free_cross_simple_2.dot
@@ -0,0 +1,12 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=C, alive=y];
+ "d" [type=C, alive=y, ext_refcnt=1];
+ "e" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "a";
+ "b" -> "c";
+ "d" -> "c";
+ "b" -> "e";
+}
diff --git a/rpython/memory/gc/test/dot/partial_free_cross_simple_3.dot
b/rpython/memory/gc/test/dot/partial_free_cross_simple_3.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/partial_free_cross_simple_3.dot
@@ -0,0 +1,12 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=B, alive=y, rooted=y];
+ "d" [type=C, alive=y];
+ "e" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "a";
+ "b" -> "d";
+ "c" -> "d";
+ "b" -> "e";
+}
diff --git a/rpython/memory/gc/test/dot/partial_free_cross_simple_4.dot
b/rpython/memory/gc/test/dot/partial_free_cross_simple_4.dot
new file mode 100644
--- /dev/null
+++ b/rpython/memory/gc/test/dot/partial_free_cross_simple_4.dot
@@ -0,0 +1,14 @@
+digraph G {
+ "a" [type=B, alive=n];
+ "b" [type=C, alive=n];
+ "c" [type=P, alive=y, rooted=y];
+ "d" [type=B, alive=y];
+ "e" [type=C, alive=y];
+ "f" [type=C, alive=n];
+ "a" -> "b";
+ "b" -> "a";
+ "b" -> "e";
+ "c" -> "d";
+ "d" -> "e";
+ "b" -> "f";
+}
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit