You definitely should be seeing that. I determined the underlying cause
(https://github.com/emezeske/lein-cljsbuild/issues/279), but it's not
clear whether it's a bug or not; I don't think lein-cljsbuild was ever
intended to be used in conjunction with :eval-in :leiningen. I'll need
to look at things more carefully later, but my intuition is that
lein-cljsbuild should probably just exit hard if that option is set, or
maybe it should "set" it back to :process (the default IIRC) for the
duration of its activities. The difference between the :leiningen
evaluation environment and the normal project one is huge.
So, more generally re: cljsbuild and clojurescript.test setup: all of
the projects that use these that I'm aware of compile a single JS file
from its sources and test-sources, which is largely the only input to
the test runner (modulo configuration-oriented JS expressions and e.g.
third-party files to be loaded that can't be included in the GClosure
build). I don't understand the purpose of the _test.js file you have in
git.
Some real-life examples of lein-cljsbuild + clojurescript.test include:
https://github.com/cemerick/pprng/blob/master/project.clj#L29
https://github.com/cemerick/double-check/blob/master/project.clj#L39
https://github.com/yogthos/cljs-ajax/blob/master/project.clj#L21
https://github.com/nbardy/asteroids/blob/master/project.clj#L16
I hope that helps.
Cheers,
- Chas
On 01/07/2014 09:03 PM, Timothy Washington wrote:
Right, I expected to see something like `*/Running.../*`.
*/stefon_/**/compojure_test.js/* is the test file, and
*/stefon_/**/compojure.js/* is the thing under test. How should that
be set up? I tried following the pattern of the project file
<https://github.com/cemerick/clojurescript.test/blob/master/project.clj#L12>
in clojurescript.test, but no dice. Is this what I should be doing?
...
:cljsbuild {:builds [{:source-paths ["src/cljs" "test/cljs"]
:compiler {:output-dir "public/include/js"
:output-to "public/include/js/stefon_compojure.js"
:optimizations :simple
:pretty-print true}}]
:test-commands {"unit-tests" ["phantomjs" :runner
"window.literal_js_was_evaluated=true"
"*public/include/js/stefon_compojure.js*"
"*public/include/js/stefon_compojure_test.js*"]}}
Tim Washington
Interruptsoftware.com <http://interruptsoftware.com>
On Tue, Jan 7, 2014 at 8:44 AM, Chas Emerick <[email protected]
<mailto:[email protected]>> wrote:
You're compiling to stefon_compojure.js, but your test command
loads stefon_compojure_test.js, which looks to be the output of
the compiler w/ :optimizations :none (which wouldn't work, anyway).
That said, you should still see something like "Running
ClojureScript test: unit-tests"...
- Chas
On 01/06/2014 08:03 PM, Timothy Washington wrote:
Hey, thanks for following up. That's just it, there's no error
message at all. After a clean, I'll run the below command, and
get the resulting output. You can see the project here
<https://github.com/stefonweblog/stefon-compojure> (requires
stefon <https://github.com/stefonweblog/stefon>).
$ */lein cljsbuild test/*
Compiling ClojureScript.
Compiling "public/include/js/stefon_compojure.js" from
["src/cljs" "test/cljs"]...
WARNING: Use of undeclared Var stefon-compojure-test/deftest
at line 5 test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var
stefon-compojure-test/somewhat-less-wat at line 5
test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var stefon-compojure-test/is at
line 6 test/cljs/stefon_compojure_test.cljs
WARNING: cljs.core/+, all arguments must be numbers, got
[cljs.core/IMap cljs.core/IVector] instead. at line 6
test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var stefon-compojure-test/deftest
at line 8 test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var
stefon-compojure-test/javascript-allows-div0 at line 8
test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var stefon-compojure-test/is at
line 9 test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var stefon-compojure-test/deftest
at line 11 test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var stefon-compojure-test/service
at line 11 test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var stefon-compojure-test/is at
line 12 test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var stefon-compojure-test/deftest
at line 14 test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var stefon-compojure-test/thing at
line 14 test/cljs/stefon_compojure_test.cljs
WARNING: Use of undeclared Var stefon-compojure-test/is at
line 15 test/cljs/stefon_compojure_test.cljs
Successfully compiled "public/include/js/stefon_compojure.js"
in 14.111848268 seconds.
Tim Washington
Interruptsoftware.com <http://interruptsoftware.com>
On Mon, Jan 6, 2014 at 8:20 AM, Chas Emerick <[email protected]
<mailto:[email protected]>> wrote:
Is there an error message of any kind? Does the
stefon_compojure_test.js file contain deftest forms, etc?
- Chas
On 01/05/2014 04:25 PM, Timothy Washington wrote:
Just a basic question to get me going with
clojurescript.test
<https://github.com/cemerick/clojurescript.test> and
lein-cljsbuild <https://github.com/emezeske/lein-cljsbuild>.
My clojurescript source and tests are compiling. But the
tests are not running, using the */lein cljsbuild test/*
command.
I've probably just been looking at this too long. Which
switch should I flip?
*/project.clj/*
...
:cljsbuild {:builds [{:source-paths ["src/cljs" "test/cljs"]
:compiler {:output-dir "public/include/js"
:output-to "public/include/js/stefon_compojure.js"
:optimizations :simple
:pretty-print true}}]
:test-commands {"unit-tests" ["phantomjs" :runner
"window.literal_js_was_evaluated=true"
"public/include/js/stefon_compojure_test.js"]}}
...
*/directory structure /*
$ tree {src,test,public}
src
└── cljs
└── stefon_compojure.cljs
test
└── cljs
└── stefon_compojure_test.cljs
public
├── include
│ └── js
│ ├── cemerick
│ │ └── cljs
│ │ ├── test.cljs
│ │ └── test.js
│ ├── cljs
│ │ ├── core.cljs
│ │ └── core.js
│ ├── clojure
│ │ ├── string.cljs
│ │ └── string.js
│ ├── stefon_compojure.js
│ └── stefon_compojure_test.js
Thanks
Tim Washington
Interruptsoftware.com <http://interruptsoftware.com>
--
Note that posts from new members are moderated - please be
patient with your first post.
---
You received this message because you are subscribed to the
Google Groups "ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to
[email protected]
<mailto:[email protected]>.
Visit this group at http://groups.google.com/group/clojurescript.
--
Note that posts from new members are moderated - please be patient
with your first post.
---
You received this message because you are subscribed to the Google
Groups "ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:clojurescript%[email protected]>.
To post to this group, send email to
[email protected]
<mailto:[email protected]>.
Visit this group at http://groups.google.com/group/clojurescript.
--
Note that posts from new members are moderated - please be patient
with your first post.
---
You received this message because you are subscribed to the Google
Groups "ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.
--
Note that posts from new members are moderated - please be patient with your
first post.
---
You received this message because you are subscribed to the Google Groups "ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.