-before_install:
- - bin/setuptravis.sh
- - export PATH="$PATH:$HOME/sbcl/bin"
- - export SBCL_HOME="$HOME/sbcl/lib/sbcl/"
script:
- - sbcl --script bin/test.lisp
+ - deps/travissbcl --script bin/travis.lisp
--- /dev/null
+#!/bin/bash
+
+mkdir -p tmp/sbcl
+
+cwd=$PWD
+( cd tmp &&
+ tar jxf ../deps/tarpit/sbcl-1.2.6-x86-64-linux-binary.tar.bz2 &&
+ cd sbcl-1.2.6-x86-64-linux/ &&
+ INSTALL_ROOT=$cwd/tmp/sbcl/ bash install.sh )
+
+mkdir -p tmp/deps/
+
+( cd tmp/deps &&
+ tar zxf ../../deps/tarpit/cl-ppcre.tar.gz &&
+ tar zxf ../../deps/tarpit/ironclad.tar.gz &&
+ tar zxf ../../deps/tarpit/mt19937-latest.tar.gz &&
+ tar zxf ../../deps/tarpit/nibbles-v0.12.tar.gz &&
+ ln -s cl-ppcre-2.0.10/cl-ppcre.asd . &&
+ ln -s ironclad_0.33.0/ironclad.asd . &&
+ ln -s mt19937-1.1.1/mt19937.asd . &&
+ ln -s nibbles-0.12/nibbles.asd .
+)
+
+
+tmp/sbcl/bin/sbcl --core tmp/sbcl/lib/sbcl/sbcl.core \
+ --eval "(require 'asdf)" \
+ --eval '(setf asdf:*central-registry* (list #p"tmp/deps/"))' \
+ --eval "(asdf:load-system :cl-ppcre)" \
+ --eval "(asdf:load-system :mt19937)" \
+ --eval "(asdf:load-system :ironclad)" \
+ --eval "(asdf:clear-output-translations)" \
+ --eval '(sb-ext:save-lisp-and-die "deps/travissbcl" :executable t)' \
+
+chmod +x deps/travissbcl
+
+rm -rf tmp
--- /dev/null
+#!/bin/bash
+
+rlwrap sbcl --script bin/run.lisp
+++ /dev/null
-#!/bin/bash
-
-rlwrap sbcl --script bin/run.lisp
+(setf *compile-print* nil)
(require 'asdf)
-(setf asdf:*central-registry* (list #p"deps/"))
+(push #p"deps/" asdf:*central-registry*)
(asdf:load-system :clnl)
(clnl:run)
+(setf *compile-print* nil)
(require 'asdf)
(setf asdf:*central-registry* (list #p"deps/"))
(asdf:load-system :clnl-test)
--- /dev/null
+(setf *compile-print* nil)
+(require 'asdf)
+(setf asdf:*central-registry* (list #p"deps/"))
+(asdf:load-system :clnl.internal)
+(asdf:load-system :clnl-test.internal)
+(sb-ext:quit :unix-status (if (clnl-test:run-all-tests) 0 1))
--- /dev/null
+../src/test/clnl-test.asd
\ No newline at end of file
--- /dev/null
+../src/main/clnl.asd
\ No newline at end of file
--- /dev/null
+733ddb17df353334504f8eece18fd73419604f22
\ No newline at end of file
-(asdf:defsystem clnl
- :name "Experiment"
- :version "0.0.1"
- :maintainer "Frank Duncan (frank@kank.com)"
- :author "Frank Duncan (frank@kank.com)"
+; The systems are split up into two because travis will run more smoothly
+; if we use a custom built sbcl that has all the deps pre-loaded since
+; we are sure those will work just fine :)
+;
+; You should link to this file in your systems directory, or however you
+; handle your asdf configurations. Then just (asdf:load-system :clnl)
+;
+; There's probably a better way, but I don't know it
+
+(asdf:defsystem clnl.internal
:serial t
:components ((:file "package")
(:file "lex")
(:file "nvm")
(:file "transpile")
(:file "random")
- (:file "main"))
- :depends-on (:cl-ppcre :mt19937))
+ (:file "main")))
+
+(asdf:defsystem clnl
+ :name "Experiment"
+ :version "0.0.1"
+ :maintainer "Frank Duncan (frank@kank.com)"
+ :author "Frank Duncan (frank@kank.com)"
+ :depends-on (:cl-ppcre :mt19937 :clnl.internal))
+; For why this is the way it is, see src/main/clnl.asd
+(asdf:defsystem clnl-test.internal
+ :components ((:file "package")
+ (:file "main")
+ (:file "simpletests")))
+
(asdf:defsystem clnl-test
:name "Experiment Tests"
:version "0.0.1"
:components ((:file "package")
(:file "main")
(:file "simpletests"))
- :depends-on (:clnl :ironclad))
+ :depends-on (:ironclad :clnl clnl-test.internal))
final-result))
(defun run-all-tests ()
- (format t "~%Here we goooooooo~%")
+ (format t "~%~c[1;33mHere we goooooooo~c[0m~%" #\Esc #\Esc)
(run-tests (reverse *tests*)))
(defun run-tests-matching (match)