summaryrefslogtreecommitdiff
path: root/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'tasks')
-rw-r--r--tasks/build19
-rw-r--r--tasks/run-tests10
2 files changed, 29 insertions, 0 deletions
diff --git a/tasks/build b/tasks/build
new file mode 100644
index 0000000..b1fa0eb
--- /dev/null
+++ b/tasks/build
@@ -0,0 +1,19 @@
+;; -*- mode: fennel; -*- vi:ft=fennel
+
+(fn spit-lib [path to]
+ (with-open [lib (io.open path)]
+ (each [line (lib:lines)]
+ ;; patching compile-time variable used to store macro module
+ ;; namr because when loafing the combined file it will always
+ ;; equal the the main module and will break macros in vendored
+ ;; libraries.
+ (case (line:match "%(local lib%-name %(or %.%.%. (.*)")
+ name (to:write (.. "(local lib-name (or " name "\n"))
+ _ (to:write line "\n")))))
+
+(with-open [cljlib (io.open "./cljlib.fnl" :w)]
+ (let [main (io.open "src/cljlib.fnl")]
+ (each [line (main:lines)]
+ (case (line:match ";;;###include (.*)")
+ (path) (spit-lib path cljlib)
+ _ (cljlib:write line "\n")))))
diff --git a/tasks/run-tests b/tasks/run-tests
new file mode 100644
index 0000000..63a43d7
--- /dev/null
+++ b/tasks/run-tests
@@ -0,0 +1,10 @@
+;; -*- mode: fennel; -*- vi:ft=fennel
+
+(local t (require :fennel-test.fennel-test))
+
+(local test-modules
+ [:tests.core
+ :tests.fn
+ :tests.macros])
+
+(t.run-tests test-modules)