Get rid of Python in tests
This commit is contained in:
parent
0462c0fd61
commit
1835d7d219
2 changed files with 24 additions and 15 deletions
|
|
@ -7,7 +7,8 @@
|
||||||
[clojure.java.shell :refer [sh]]
|
[clojure.java.shell :refer [sh]]
|
||||||
[clojure.string :as str]
|
[clojure.string :as str]
|
||||||
[clojure.test :as test :refer [deftest is testing]]
|
[clojure.test :as test :refer [deftest is testing]]
|
||||||
[sci.core :as sci]))
|
[sci.core :as sci]
|
||||||
|
[babashka.test-utils :as tu]))
|
||||||
|
|
||||||
(defn bb [input & args]
|
(defn bb [input & args]
|
||||||
(edn/read-string (apply test-utils/bb (when (some? input) (str input)) (map str args))))
|
(edn/read-string (apply test-utils/bb (when (some? input) (str input)) (map str args))))
|
||||||
|
|
@ -170,7 +171,7 @@
|
||||||
(is (str/includes? (bb nil "
|
(is (str/includes? (bb nil "
|
||||||
(def ls (-> (ProcessBuilder. [\"ls\"]) (.start)))
|
(def ls (-> (ProcessBuilder. [\"ls\"]) (.start)))
|
||||||
(def output (.getInputStream ls))
|
(def output (.getInputStream ls))
|
||||||
(.waitFor ls)
|
(assert (int? (.waitFor ls)))
|
||||||
(slurp output)")
|
(slurp output)")
|
||||||
"LICENSE")))
|
"LICENSE")))
|
||||||
|
|
||||||
|
|
@ -185,19 +186,10 @@
|
||||||
temp-dir-path))))))
|
temp-dir-path))))))
|
||||||
|
|
||||||
(deftest wait-for-port-test
|
(deftest wait-for-port-test
|
||||||
(is (= :timed-out
|
(let [server (tu/start-server! 1777)]
|
||||||
(bb nil "(def ws (-> (ProcessBuilder. [\"python\" \"-m\" \"SimpleHTTPServer\" \"1777\"]) (.start)))
|
(is (= 1777 (:port (bb nil "(wait/wait-for-port \"127.0.0.1\" 1777)"))))
|
||||||
(wait/wait-for-port \"127.0.0.1\" 1777)
|
(tu/stop-server! server)
|
||||||
(.destroy ws)
|
(is (= :timed-out (bb nil "(wait/wait-for-port \"127.0.0.1\" 1777 {:default :timed-out :timeout 50})")))))
|
||||||
(.waitFor ws)
|
|
||||||
(wait/wait-for-port \"localhost\" 1777 {:default :timed-out :timeout 50})")))
|
|
||||||
(is (int? (bb nil "
|
|
||||||
(require '[babashka.wait :as wait])
|
|
||||||
(def ws (-> (ProcessBuilder. [\"python\" \"-m\" \"SimpleHTTPServer\" \"1777\"]) (.start)))
|
|
||||||
(wait/wait-for-port \"localhost\" 1777)
|
|
||||||
(slurp \"http://localhost:1777\")
|
|
||||||
(.destroy ws)
|
|
||||||
(.waitFor ws)"))))
|
|
||||||
|
|
||||||
(deftest wait-for-path-test
|
(deftest wait-for-path-test
|
||||||
(let [temp-dir-path (System/getProperty "java.io.tmpdir")]
|
(let [temp-dir-path (System/getProperty "java.io.tmpdir")]
|
||||||
|
|
|
||||||
|
|
@ -58,3 +58,20 @@
|
||||||
(if jvm?
|
(if jvm?
|
||||||
(println "==== Testing JVM version")
|
(println "==== Testing JVM version")
|
||||||
(println "==== Testing native version"))
|
(println "==== Testing native version"))
|
||||||
|
|
||||||
|
(defn socket-loop [^java.net.ServerSocket server]
|
||||||
|
(with-open [listener server]
|
||||||
|
(loop []
|
||||||
|
(with-open [socket (.accept listener)]
|
||||||
|
(let [input-stream (.getInputStream socket)]
|
||||||
|
(print (slurp input-stream))
|
||||||
|
(flush)))
|
||||||
|
(recur))))
|
||||||
|
|
||||||
|
(defn start-server! [port]
|
||||||
|
(let [server (java.net.ServerSocket. port)]
|
||||||
|
(future (socket-loop server))
|
||||||
|
server))
|
||||||
|
|
||||||
|
(defn stop-server! [^java.net.ServerSocket server]
|
||||||
|
(.close server))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue