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.string :as str]
|
||||
[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]
|
||||
(edn/read-string (apply test-utils/bb (when (some? input) (str input)) (map str args))))
|
||||
|
|
@ -170,7 +171,7 @@
|
|||
(is (str/includes? (bb nil "
|
||||
(def ls (-> (ProcessBuilder. [\"ls\"]) (.start)))
|
||||
(def output (.getInputStream ls))
|
||||
(.waitFor ls)
|
||||
(assert (int? (.waitFor ls)))
|
||||
(slurp output)")
|
||||
"LICENSE")))
|
||||
|
||||
|
|
@ -185,19 +186,10 @@
|
|||
temp-dir-path))))))
|
||||
|
||||
(deftest wait-for-port-test
|
||||
(is (= :timed-out
|
||||
(bb nil "(def ws (-> (ProcessBuilder. [\"python\" \"-m\" \"SimpleHTTPServer\" \"1777\"]) (.start)))
|
||||
(wait/wait-for-port \"127.0.0.1\" 1777)
|
||||
(.destroy ws)
|
||||
(.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)"))))
|
||||
(let [server (tu/start-server! 1777)]
|
||||
(is (= 1777 (:port (bb nil "(wait/wait-for-port \"127.0.0.1\" 1777)"))))
|
||||
(tu/stop-server! server)
|
||||
(is (= :timed-out (bb nil "(wait/wait-for-port \"127.0.0.1\" 1777 {:default :timed-out :timeout 50})")))))
|
||||
|
||||
(deftest wait-for-path-test
|
||||
(let [temp-dir-path (System/getProperty "java.io.tmpdir")]
|
||||
|
|
|
|||
|
|
@ -58,3 +58,20 @@
|
|||
(if jvm?
|
||||
(println "==== Testing JVM 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