Reenable java main run test.

Also more changes from use to require.
This commit is contained in:
Jean Niklas L'orange 2013-08-24 17:36:21 +02:00
parent d00670f27f
commit 400d782272
5 changed files with 35 additions and 12 deletions

View file

@ -40,6 +40,8 @@
(def bad-require-project (read-test-project "bad-require"))
(def java-main-project (read-test-project "java-main"))
(defn abort-msg
"Catches main/abort thrown by calling f on its args and returns its error
message."

View file

@ -1,18 +1,18 @@
(ns leiningen.test.run
(:require [leiningen.core.project :as project])
(:require [leiningen.core.project :as project]
[leiningen.javac]
[clojure.java.io :as io]
[leiningen.test.helper :as helper
:refer [bad-require-project tmp-dir tricky-name-project
java-main-project]])
(:use [clojure.test]
[clojure.java.io :only [delete-file]]
;; [leiningen.javac :only [javac]]
[leiningen.run]
[leiningen.test.helper :only [bad-require-project
tmp-dir
tricky-name-project]]))
[leiningen.run]))
(def out-file (format "%s/lein-test" tmp-dir))
(use-fixtures :each (fn [f]
(f)
(delete-file out-file :silently)))
(io/delete-file out-file :silently)))
(deftest test-basic
(run tricky-name-project "/unreadable")
@ -40,7 +40,8 @@
(is (re-find #"FileNotFoundException" e-msg))
(is (re-find #"this/namespace/does/not/exist.clj" e-msg)))))
;; TODO: re-enable
;; (deftest test-run-java-main
;; (javac dev-deps-project)
;; (run dev-deps-project))
(deftest test-run-java-main
(leiningen.javac/javac java-main-project)
(let [out-result (with-out-str (run java-main-project))]
(is (= (.trim out-result) ;; To avoid os-specific newline handling
"Hello from Java!"))))

9
test_projects/java-main/.gitignore vendored Normal file
View file

@ -0,0 +1,9 @@
/target
/classes
/checkouts
pom.xml
pom.xml.asc
*.jar
*.class
/.lein-*
/.nrepl-port

View file

@ -0,0 +1,4 @@
(defproject java-main "0.1.0-SNAPSHOT"
:java-source-paths ["src/java"]
:dependencies [[org.clojure/clojure "1.5.1"]] ;; lein run errors if not there.
:main my.java.Main)

View file

@ -0,0 +1,7 @@
package my.java;
public class Main {
public static void main(String[] args) {
System.out.println("Hello from Java!");
}
}