Test that references from %run are cleared by xdel.
(self)
| 681 | |
| 682 | class TestXdel(tt.TempFileMixin): |
| 683 | def test_xdel(self): |
| 684 | """Test that references from %run are cleared by xdel.""" |
| 685 | src = ( |
| 686 | "class A(object):\n" |
| 687 | " monitor = []\n" |
| 688 | " def __del__(self):\n" |
| 689 | " self.monitor.append(1)\n" |
| 690 | "a = A()\n" |
| 691 | ) |
| 692 | self.mktmp(src) |
| 693 | # %run creates some hidden references... |
| 694 | _ip.run_line_magic("run", "%s" % self.fname) |
| 695 | # ... as does the displayhook. |
| 696 | _ip.run_cell("a") |
| 697 | |
| 698 | monitor = _ip.user_ns["A"].monitor |
| 699 | assert monitor == [] |
| 700 | |
| 701 | _ip.run_line_magic("xdel", "a") |
| 702 | |
| 703 | # Check that a's __del__ method has been called. |
| 704 | gc.collect(0) |
| 705 | assert monitor == [1] |
| 706 | |
| 707 | |
| 708 | def doctest_who(): |
nothing calls this directly
no test coverage detected