-
-
Notifications
You must be signed in to change notification settings - Fork 24
Add cherry.test #181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add cherry.test #181
Conversation
|
(note that CI will be expected to fail right now given that it still requires an override to use squint's squint-cljs/squint#778) |
|
Merged the squint PR |
|
Thanks -- deps.edn modified accordingly. |
|
Blah, I broke something in my last rebase. Sorry. I need to fix. |
|
Actually -- it's still working locally on macOS. I'll need to debug why it's not working on CI. |
|
Perhaps it's an advanced compilation issue? |
|
Looks like it’s that I used |
|
That was it -- just the rlwrap. Ready for review @borkdude. Note that the FAILS that print to the console during the tests are intended -- that's the test suite checking that cherry.test correctly fails under those four conditions in the Also note that I'm handling the |
|
Further testing: one thing I really don't like right now is https://github.com/squint-cljs/cherry/pull/181/files#diff-08adca3dde44605617eed55bdf8a519a9c22f52dcaa9faeaaecb95ee747ada11R2-R10 -- these refers are really unpleasant to expect users to do. Before this is considered ready, I'll need to do some more thinking about how all these things resolve so that this boilerplate isn't always required by end users. |
|
Since this is fairly big PR I won't get this this before Christmas |
|
Of course. It's gonna need some iteration anyway, so no hurry. Happy holidays! |
|
@borkdude For whenever you're ready after the holiday, this is now substantially cleaned up -- no more messy refer stuff. This is now dependent on squint-cljs/squint#785, which is not reflected in deps.edn. This currently fails CI, but you can review its ability to pass CI by locally depending on the squint branch in that PR, and doing bb build && bb integration-tests. |
33290d9 to
b4fe35b
Compare
|
Went from +688 to +633 with some helper fns. |
Please answer the following questions and leave the below in as part of your PR.
This PR corresponds to an issue with a clear problem statement.
clojure.test missing for cherry #178, also dependent on Add clojure.test to cherry namespace mappings squint#778 (applied locally for purposes of this PR). I know it's a fairly big PR, so I tried to organize as a series of iterative commits with corresponding tests.
This PR contains a test to prevent against future regressions
A number of tests, actually -- the async functionality re js-await is somewhat different from all the IAsyncTest stuff, so it's where I'm the least confident it's the right way to go, though it feels fairly idiomatic to me right now. My strategy has been to build up a cross_platform_test.cljc file, which bb integration-tests runs using jvm clj as well as node cherry cli, which can serve as documentation for how cherry's testing is similar to or different from clojure.test. The fixtures functionality does seem useful for a minimal implementation, so that's in. clojure.test and cljs.test do a lot more with defmethods and namespaced-based test findings, which I left out for this first version.
I have updated the CHANGELOG.md file with a description of the addressed issue.