blob: a1b5a830c19f463477196389ec4daa3485eb665b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
;; Copyright (c) Eduardo Julian. All rights reserved.
;; This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
;; If a copy of the MPL was not distributed with this file,
;; You can obtain one at http://mozilla.org/MPL/2.0/.
(ns leiningen.luxc.test
(:refer-clojure :exclude [test])
(:require [leiningen.core.classpath :as classpath]
(leiningen.luxc [utils :as &utils]
[packager :as &packager])))
(defn test [project]
(if-let [tests-module (get-in project [:lux :tests])]
(do (&utils/run-process (&utils/compile-path project tests-module (concat (:test-paths project) (:source-paths project)))
nil
"[COMPILATION BEGIN]"
"[COMPILATION END]")
(let [java-cmd (get project :java-cmd "java")
jvm-opts (->> (get project :jvm-opts) (interpose " ") (reduce str ""))
output-package (str (get-in project [:lux :target] &utils/output-dir) "/"
(get project :jar-name &utils/output-package))]
(do (&packager/package project tests-module (get project :resource-paths (list)))
(&utils/run-process (str java-cmd " " jvm-opts " -jar " output-package)
nil
"[TEST BEGIN]"
"[TEST END]"))))
(println "Please provide a test module in [:lux :tests]")))
|