             warmup: 20_000,
             print: %{fast_warning: false, configuration: true}}
   test ".measure runs a benchmark suite and enriches it with results" do
-    capture_io fn ->
-      config = Map.merge @config, %{time: 60_000, warmup: 10_000}
-      suite = %{config: config, jobs: %{}}
-      new_suite =
-        suite
-        |> Benchee.benchmark("Name", fn -> :timer.sleep(10) end)
-        |> Benchee.measure
+    retrying fn ->
+      capture_io fn ->
+        config = Map.merge @config, %{time: 60_000, warmup: 10_000}
+        suite = %{config: config, jobs: %{}}
+        new_suite =
+          suite
+          |> Benchee.benchmark("Name", fn -> :timer.sleep(10) end)
+          |> Benchee.measure
 
-      assert new_suite.config == suite.config
-      run_times_hash = new_suite.run_times
+        assert new_suite.config == suite.config
+        run_times_hash = new_suite.run_times
 
-      # should be 5 (6 minus one prewarm) but gotta give it a bit leeway
-      assert length(run_times_hash["Name"]) >= 4
+        # should be 5 (6 minus one prewarm) but gotta give it a bit leeway
+        assert length(run_times_hash["Name"]) >= 4
+      end
     end
   end
 

                |> Map.get(:statistics)

        Enum.each stats, fn({_, %{std_dev_ratio: std_dev_ratio}}) ->
          assert std_dev_ratio < 2.0
        end
      end
    end

    retrying fn ->
      capture_io fn ->
        range = 0..10
        config = Map.merge @config, %{time: 100_000, warmup: 10_000}
        stats = %{config: config, jobs: %{}}
                |> Benchee.benchmark("noop", fn -> 0 end)
                |> Benchee.benchmark("map", fn ->
