@@ -4,6 +4,7 @@ var promisify = require("promisify-node");
44var fse = promisify ( require ( "fs-extra" ) ) ;
55
66var garbageCollect = require ( "../utils/garbage_collect.js" ) ;
7+ var leakTest = require ( "../utils/leak_test" ) ;
78
89var local = path . join . bind ( path , __dirname ) ;
910
@@ -627,30 +628,9 @@ describe("Commit", function() {
627628 it ( "does not leak" , function ( ) {
628629 var test = this ;
629630
630- garbageCollect ( ) ;
631- var Commit = NodeGit . Commit ;
632- var startSelfFreeingCount = Commit . getSelfFreeingInstanceCount ( ) ;
633- var startNonSelfFreeingCount = Commit . getNonSelfFreeingConstructedCount ( ) ;
634-
635- var resolve ;
636- var promise = new Promise ( function ( _resolve ) { resolve = _resolve ; } ) ;
637-
638- NodeGit . Commit . lookup ( test . repository , oid )
639- . then ( function ( ) {
640- // get out of this promise chain to help GC get rid of the commit
641- setTimeout ( resolve , 0 ) ;
642- } ) ;
643-
644- return promise
645- . then ( function ( ) {
646- garbageCollect ( ) ;
647- var endSelfFreeingCount = Commit . getSelfFreeingInstanceCount ( ) ;
648- var endNonSelfFreeingCount = Commit . getNonSelfFreeingConstructedCount ( ) ;
649- // any new self-freeing commits should have been freed
650- assert . equal ( startSelfFreeingCount , endSelfFreeingCount ) ;
651- // no new non-self-freeing commits should have been constructed
652- assert . equal ( startNonSelfFreeingCount , endNonSelfFreeingCount ) ;
653- } ) ;
631+ return leakTest ( NodeGit . Commit , function ( ) {
632+ return NodeGit . Commit . lookup ( test . repository , oid ) ;
633+ } ) ;
654634 } ) ;
655635
656636 it ( "duplicates signature" , function ( ) {
0 commit comments