Commit 332c60c6 authored by Robert Goldman's avatar Robert Goldman
Browse files

Merge branch 'clasp-ci' into 'master'

Add Clasp to Gitlab CI pipeline

See merge request asdf/asdf!170
parents 55f522de 13103d60
......@@ -78,6 +78,9 @@ SBCL ?= sbcl
SCL ?= scl
XCL ?= xcl
# If you need to sudo in order to use docker, modify this.
DOCKER ?= docker
header_lisp := header.lisp
driver_lisp := uiop/package.lisp uiop/common-lisp.lisp uiop/utility.lisp uiop/version.lisp uiop/os.lisp uiop/pathname.lisp uiop/filesystem.lisp uiop/stream.lisp uiop/image.lisp uiop/lisp-build.lisp uiop/launch-program.lisp uiop/run-program.lisp uiop/configuration.lisp uiop/backward-driver.lisp uiop/driver.lisp
defsystem_lisp := upgrade.lisp session.lisp component.lisp operation.lisp system.lisp system-registry.lisp action.lisp lisp-action.lisp find-component.lisp forcing.lisp plan.lisp operate.lisp find-system.lisp parse-defsystem.lisp bundle.lisp concatenate-source.lisp package-inferred-system.lisp output-translations.lisp source-registry.lisp backward-internals.lisp backward-interface.lisp interface.lisp user.lisp footer.lisp
......@@ -204,6 +207,15 @@ test-lisp: build/asdf.lisp show-version
t: test-lisp
# Useful for reproducing test failures with Docker.
test-docker-repl:
@${DOCKER} run --rm -i -t --pull always -u $(shell id -u):$(shell id -g) -v $(sourceDirectory):$(sourceDirectory) -w $(sourceDirectory)/test clfoundation/${l}:latest
test-docker-lisp: build/asdf.lisp show-version
@${DOCKER} run --rm -i -t --pull always -u $(shell id -u):$(shell id -g) -v $(sourceDirectory):$(sourceDirectory) -w $(sourceDirectory) clfoundation/${l}:latest make test-lisp l=${l} t=${t}
td: test-docker-lisp
test: test-lisp test-clean-load test-load-systems
test-load-systems: build/asdf.lisp show-version
......
......@@ -218,7 +218,8 @@ for all the linkable object files associated with the system or its dependencies
(compile-file-type)) ; on image-based platforms, used as input and output
((eql :fasb) ;; the type of a fasl
#-(or clasp ecl mkcl) (compile-file-type) ; on image-based platforms, used as input and output
#+(or clasp ecl mkcl) "fasb") ; on C-linking platforms, only used as output for system bundles
#+(or ecl mkcl) "fasb"
#+clasp "fasp") ; on C-linking platforms, only used as output for system bundles
((member :image)
#+allegro "dxl"
#+(and clisp os-windows) "exe"
......@@ -226,7 +227,9 @@ for all the linkable object files associated with the system or its dependencies
;; NB: on CLASP and ECL these implementations, we better agree with
;; (compile-file-type :type bundle-type))
((eql :object) ;; the type of a linkable object file
(os-cond ((os-unix-p) "o")
(os-cond ((os-unix-p)
#+clasp "fasp" ;(core:build-extension cmp:*default-object-type*)
#-clasp "o")
((os-windows-p) (if (featurep '(:or :mingw32 :mingw64)) "o" "obj"))))
((member :lib :static-library) ;; the type of a linkable library
(os-cond ((os-unix-p) "a")
......
......@@ -9,6 +9,8 @@ variables:
ABCL_TAG: latest
CCL_IMAGE: clfoundation/ccl
CCL_TAG: latest
CLASP_IMAGE: clfoundation/clasp
CLASP_TAG: latest
CLISP_IMAGE: clfoundation/clisp
CLISP_TAG: latest
CMUCL_IMAGE: clfoundation/cmucl
......@@ -157,6 +159,18 @@ CCL upgrade tests:
variables:
l: ccl
Clasp regression tests:
extends: .Regression tests
image: $CLASP_IMAGE:$CLASP_TAG
variables:
l: clasp
Clasp upgrade tests:
extends: .Upgrade tests
image: $CLASP_IMAGE:$CLASP_TAG
variables:
l: clasp
CLISP regression tests:
extends: .Regression tests
image: $CLISP_IMAGE:$CLISP_TAG
......@@ -234,6 +248,18 @@ CCL scripting upgrade tests:
variables:
l: ccl
Clasp scripting regression tests:
extends: .Scripting regression tests
image: $CLASP_IMAGE:$CLASP_TAG
variables:
l: clasp
Clasp scripting upgrade tests:
extends: .Scripting upgrade tests
image: $CLASP_IMAGE:$CLASP_TAG
variables:
l: clasp
CLISP scripting regression tests:
extends: .Scripting regression tests
image: $CLISP_IMAGE:$CLISP_TAG
......
......@@ -118,7 +118,7 @@
:encoding :latin-1
:components ((:file "lambda"))))
#-ecl-bytecmp
(with-expected-failure (#+clasp "Clasp fails here")
(with-expected-failure ()
(with-encoding-test (:latin-1 :op load-op)
(def-test-system :test-system-encoding-l1-load-op
:encoding :latin-1
......
......@@ -337,12 +337,12 @@
(directory-b-no-slash (subpathname *build-directory* "deleteme/a/b")))
(assert (eq 'with-current-directory 'uiop:with-current-directory))
(with-current-directory (directory-a-no-slash)
(with-expected-failure (#+clasp T)
(with-expected-failure ()
(assert-pathnames-equal (directory-files (getcwd)) (list (subpathname *build-directory* "deleteme/a/1.x")))))
(with-current-directory (directory-b-no-slash)
(with-expected-failure (#+clasp T)
(with-expected-failure ()
(assert-pathnames-equal (directory-files (getcwd)) (list (subpathname *build-directory* "deleteme/a/b/2"))))
(with-expected-failure (#+clasp T)
(with-expected-failure ()
(assert-pathnames-equal
(sort (subdirectories (getcwd)) #'string< :key #'(lambda (x) (car (last (pathname-directory x)))))
(list (subpathname *build-directory* "deleteme/a/b/c/")
......
......@@ -105,7 +105,9 @@ This is designed to abstract away the implementation specific quit forms."
:from-read-eval-print-loop nil
:count (or count t)
:all t))
#+(or clasp ecl mkcl)
#+clasp
(clasp-debug:print-backtrace :stream stream :count count)
#+(or ecl mkcl)
(let* ((top (si:ihs-top))
(repeats (if count (min top count) top))
(backtrace (loop :for ihs :from 0 :below top
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment