TestCase: avoid circular refs between GTest and this
Instead of running tests via the Adaptor inner class, run them via
a C helper that takes a weak ref to the TestCase. This relies on the
caller keeping a ref to the TestCase until after Test.run() - but I
recently converted the tests to do exactly that, so that's OK.
Adding a debug message which prints this.ref_count to final_tear_down()
reveals that some of our regression tests still leak the TestCase, but
many don't now.
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>