Author: Stefan Beyer <h...@sbeyer.at> 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 pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit