return Prelude[">>="](Control_Monad_Aff.bindAff)(Control_Monad_Aff_AVar["makeVar'"](0))(function (_36) { return Prelude[">>="](Control_Monad_Aff.bindAff)(Control_Monad_Aff.forkAff(Prelude[">>="](Control_Monad_Aff.bindAff)(Control_Monad_Aff.attempt(_311))(Data_Either.either(maybeKill(_37)(_36))(Control_Monad_Aff_AVar.putVar(_37)))))(function (_35) { return Prelude[">>="](Control_Monad_Aff.bindAff)(Control_Monad_Aff.forkAff(Prelude[">>="](Control_Monad_Aff.bindAff)(Control_Monad_Aff.attempt(_312))(Data_Either.either(maybeKill(_37)(_36))(Control_Monad_Aff_AVar.putVar(_37)))))(function (_34) { return Control_Monad_Aff.cancelWith(Control_Monad_Aff_AVar.takeVar(_37))(Prelude["<>"](Control_Monad_Aff.semigroupCanceler)(_35)(_34)); }); }); });
return Prelude[">>="](Control_Monad_Aff.bindAff)(Control_Monad_Aff_AVar.makeVar)(function (_31) { return Prelude[">>="](Control_Monad_Aff.bindAff)(Control_Monad_Aff.forkAff(Prelude[">>="](Control_Monad_Aff.bindAff)(_309)(Control_Monad_Aff_AVar.putVar(_32))))(function (_30) { return Prelude[">>="](Control_Monad_Aff.bindAff)(Control_Monad_Aff.forkAff(Prelude[">>="](Control_Monad_Aff.bindAff)(_310)(Control_Monad_Aff_AVar.putVar(_31))))(function (_29) { return Control_Monad_Aff.cancelWith(Prelude["<*>"](Control_Monad_Aff.applyAff)(Control_Monad_Aff_AVar.takeVar(_32))(Control_Monad_Aff_AVar.takeVar(_31)))(Prelude["<>"](Control_Monad_Aff.semigroupCanceler)(_30)(_29)); }); }); });
return function (tests) { var onSuccess = function (_635) { return Prelude["return"](Control_Monad_Aff.monadAff)(new It(name, Success.value)); }; var onError = function (e) { return Prelude["return"](Control_Monad_Aff.monadAff)(It.create(name)(new Failure(e))); }; return Prelude[">>="](Control_Monad_Aff.bindAff)(Control_Monad_Aff.attempt(tests))(function (_59) { return Data_Either.either(onError)(onSuccess)(_59); }); };
return function (spec) { return Control_Monad_Aff.runAff(function (err) { return function __do() { Test_Spec_Console.withAttrs([ 31 ])(Debug_Trace.print(Control_Monad_Eff_Exception.showError)(err))(); return exit(1)(); }; })(function (results) { return function __do() { Data_Foldable.sequence_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(Data_Array.map(function (f) { return f(results); })(rs))(); return Control_Monad.when(Control_Monad_Eff.monadEff)(!Test_Spec_Summary.successful(results))(exit(1))(); }; })(Test_Spec.collect(spec)); };