     {:range-keydef [:number :n]
      :throughput   {:read 1 :write 1}
      :block?       true})
+
+  (doseq [thunk @run-after-setup]
+    (thunk))
+
   (println "Ready to roll..."))
 
 (defn- after-run {:expectations-options :after-run} [])

(when-let [endpoint (:endpoint *client-opts*)]
  (when (.contains ^String endpoint "localhost")
    (expect
      (let [;; Generate > 100 tables to exceed the batch size limit:
            tables (map #(keyword (str "test_" %)) (range 102))]
        (doseq [table tables]
          (far/ensure-table *client-opts* table [:id :n]
            {:throughput  {:read 1 :write 1}
             :block?      true}))
        (let [table-count (count (far/list-tables *client-opts*))]
          (doseq [table tables]
            (far/delete-table *client-opts* table))
          (> table-count 100))))))


(def ttable :faraday.tests.main)
(def range-table :faraday.tests.range)

(def run-after-setup (atom #{}))

(defn- after-setup! [thunk]
  (swap! run-after-setup conj thunk))

(defn- before-run {:expectations-options :before-run} []
  (assert (and (:access-key *client-opts*)
