Fork me on GitHub

Hello, I am trying to setup the using deps.edn for the project. I've managed to do it (mostly) but after the tests execute terminal just 'hangs'. Is this normal? Doesn't feel normal... this is my /test/app/core_test.clj

(ns app.core-test
  (:require [clojure.test :as test]
            [my.ns :as ns]))

(defn run-tests [& args]
  (test/run-tests 'my.ns))
This is my deps edn test alias
{:jvm-opts ["-Dhyperfiddle.rcf.generate-tests=true"]
                  :extra-paths ["test"]
                  :exec-fn app.core-test/run-tests}
this is how i run it
clj -X:test
This is the output and i had to ctrl + z to make it stop. (removed ns names but didn't go good job that's why you see some dots in the pic) How do i prevent the 'hang' after it executes? edit Ok never mind... I just needed to wait bit longer ~60sec for it to exit. Is that ok?

Dustin Getz20:04:20

This is not normal, I just double checked that clj -M:test -e "(require 'user)(clojure.test/run-tests 'user)" returns instantly after running a hello world test

Dustin Getz20:04:09

If you send me a git repo i can clone it and take a look


I can't share the exact repo but i can make dummy repo to see if it works. in my case

clj -M:test -e "(require 'app.core-test)(app.core-test/run-tests)"
has delay but
clj -M:test -e "(require 'app.ns.with.tests)(clojure.test/run-tests 'app.ns.with.tests)"
works instant.


i made dummy repo and clj -X:test returns instantly


  (:require [hyperfiddle.rcf :refer [tests ! %]]))

  (inc 1) := 2

  {:a :b, :b [2 :b]} := {:a _, _ [2 _]}

  {:a :b, :b [2 :b]} := {:a ?b, ?b [2 ?b]}

  "unification on reference types"
  (def x (atom nil))
  {:a x, :b x} := {:a ?x, :b ?x}

    "nested tests (is there a strong use case?)"
    1 := 1

    "tests form returns final result"
    (tests (inc 1) := 2 (inc *1)) := 3)

    "REPL bindings work"
    (keyword "a") := :a
    (keyword "b") := :b
    (keyword "c") := :c
    *1 := :c
    *2 := :b
    *3 := :a
    *1 := :c                   ; inspecting history does not affect history

    (keyword "d") := :d
    *1 := :d
    *2 := :c
    *3 := :b
    (symbol *2) := 'c          ; this does affect history
    (symbol *2) := 'd))
  (:require [clojure.test :as test]

(defn run-tests [& args]
  (test/run-tests '))
{:paths ["src"]
 :deps {org.clojure/clojure {:mvn/version "1.11.0"}
        com.hyperfiddle/rcf {:mvn/version "20220405"}}
 :aliases {:test {:jvm-opts ["-Dhyperfiddle.rcf.generate-tests=true"]
                  :extra-paths ["test"]


is there a way to measure why it hangs? I am thinking that original repo creates a lot of classes because there are a lot of of dependencies so it takes little bit to exit the process? does this make sense?


Oke yeah. 1 out of 3 namespaces is causing hang. I will filter it down further to see where the issue lies. Thank you for being willing to look at this, it seems it's project/namespace specific.

Nick McAvoy19:04:55

By the way, this was amazing last night! It was a real privilege to have Dustin tell a roomful of us in Philadelphia all about it.

😍 1
🙂 1

Is there a trick to getting an account on hyperfiddle? I think I signed up for an account four(?) years ago and haven’t heard anything

Dustin Getz20:04:52

we started over a bunch of times and never launched publicly. We're rolling out a Photon release to ~10 people starting next week - book an office hours on my public calendly link if you want to talk about it

☺️ 1
Dustin Getz20:04:29

thanks for asking


ah! okay, i just might do that! thanks

Dustin Getz13:05:40

Would you like to be onboarded? It takes 2 hours on zoom to get through to the good stuff (client/server transfer)

Dustin Getz13:05:40

Ah but it is the Photon language that we are releasing, the CRUD UI stuff is not ready