    (< (:ret %) (-> % :args :x)))"
                   :cljs "(fn [%] (< (:ret %) (-> % :args :x)))"))
            (binding [s/*explain-out* (expound/custom-printer {:print-specs? false})]
-             (s/explain-str :fspec-fn-test/minus my-minus))))
+             (until-unsuccessful (s/explain-str :fspec-fn-test/minus my-minus)))))
 
     (is (= (pf "-- Function spec failed -----------
 

-------------------------
Detected 1 error\n"
              (binding [s/*explain-out* (expound/custom-printer {:print-specs? false})]
                (s/explain-str (s/coll-of (s/fspec :args (s/cat :x int?) :ret int?))
                               [[]])))))))

   (< (:ret %) (-> % :args :x)))"
                  :cljs "(fn [%] (< (:ret %) (-> % :args :x)))"))
           (binding [s/*explain-out* (expound/custom-printer {:print-specs? false})]
             (until-unsuccessful (s/explain-str (s/coll-of :fspec-fn-test/minus) [my-minus])))))))

(deftest ifn-fspec-test
  (testing "keyword ifn / ret failure"
