     (ns-macro-use-macros)
     (ns-macro-require)
     (ns-macro-require-macros-as)
+    (ns-macro-self-requiring-namespace)
 
     (process-reload)
     (process-reload-all)))

    ;;   (is (= "200" out ) "(mul-core 10 20) should produce 200")
    ;;   (reset-env! '[my.namespace foo.bar.core foo.bar.macros]))
)
  
  (deftest process-reload
    (let [alterable-core-path "dev-resources/private/test/src/cljs/alterable/core.cljs"

    (let [res (do (read-eval-call "(ns my.namespace (:require [foo.bar.core :refer-macros [mul-core]]))")
                  (read-eval-call "(mul-core 10 20)"))
          error (unwrap-result res)]
      (is (not (success? res)) "(ns my.namespace (:require ...:refer-macros...)) and (mul-core 10 20) should not succeed")
      (is (valid-eval-error? error) "(ns my.namespace (:require ...:refer-macros...)) and (mul-core 10 20) should be an instance of js/Error")
      (is (re-find #"ERROR" (extract-message error))
          "(ns my.namespace (:require ...:refer-macros...)) and (mul-core 10 20) should have correct error message")
