Commit dbfdf37a authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

2.27.1: have determine-system-directory return a directory-pathname. Oops.

Thanks to Stelian for finding this issue.
Also, make run-program test work where select binaries are not in /bin.
Better handle incrementing ASDF versions.
parent bd0adf2e
......@@ -74,7 +74,7 @@
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.27" ;; to be automatically updated by make bump-version
:version "2.27.1" ;; to be automatically updated by make bump-version
:depends-on ()
#+asdf3 :encoding #+asdf3 :utf-8
;; For most purposes, asdf itself specially counts as a builtin system.
......@@ -183,6 +183,9 @@
(defun next-version (v)
(let ((pv (parse-version v 'error)))
(assert (first pv))
(assert (second pv))
(unless (third pv) (appendf pv '(0)))
(incf (third pv))
(unparse-version pv)))
......@@ -32,11 +32,12 @@
;; If no absolute pathname was found, we return NIL.
(check-type pathname (or null string pathname))
(parse-unix-namestring pathname :type :directory)
#'(lambda () (ensure-absolute-pathname
(load-pathname) 'get-pathname-defaults nil))
(parse-unix-namestring pathname :type :directory)
#'(lambda () (ensure-absolute-pathname
(load-pathname) 'get-pathname-defaults nil))
;;; Component class
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.27: Another System Definition Facility.
;;; This is ASDF 2.27.1: Another System Definition Facility.
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <>.
......@@ -172,30 +172,30 @@ Testing run-program
;; a basic smoke test
(is (equal '("Single")
(run-program `("/bin/grep" "Single" ,tf) :output :lines)))
(run-program `("grep" "Single" ,tf) :output :lines)))
;; Make sure space is handled correctly
(is (equal '("double entry")
(run-program `("/bin/grep" "double entry" ,tf) :output :lines)))
(run-program `("grep" "double entry" ,tf) :output :lines)))
;; Make sure space is handled correctly
(is (equal '("triple word entry")
(run-program `("/bin/grep" "triple word entry" ,tf) :output :lines)))
(run-program `("grep" "triple word entry" ,tf) :output :lines)))
;; Testing special characters
(loop :for char :across "+-_.,%@:/\\!&*(){}"
:for str = (string char) :do
(is (equal (list (format nil "escape ~A" str))
`("/bin/grep" ,(format nil "[~A]" str) ,tf)
`("grep" ,(format nil "[~A]" str) ,tf)
:output :lines))))
;; Test that run-program signals an error
;; with an executable that doesn't return 0
(signals subprocess-error (run-program '("/bin/false") :output :lines))
(signals subprocess-error (run-program '("false") :output :lines))
;; Test that we can suppress the error on run-program
(is (null (run-program '("/bin/false")
(is (null (run-program '("false")
:output :lines :ignore-error-status t))))
......@@ -51,7 +51,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
;; "" would be a development version in the official upstream of 3.4.5.
;; "" would be your eighth local modification of official release 3.4.5
;; "" would be your eighth local modification of development version
(asdf-version "2.27")
(asdf-version "2.27.1")
(existing-version (asdf-version)))
(setf *asdf-version* asdf-version)
(when (and existing-version (not (equal asdf-version existing-version)))
Supports Markdown
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