diff --git a/CHANGELOG b/CHANGELOG index 4615ca1..795f343 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,11 @@ +0.2.16 + +- Fix pregexp tab escapes in the `time` tests for Racket 9.2. +- Keep the tests on `racket/base` by using `car` and `cadr` instead of undeclared `first` and `second` bindings. +- Test `dirname` output directly instead of using an unnecessary platform path regular expression. +- Align the package, help metadata, README, and source header on version 0.2.16. +- No command API or command behavior changes. + 0.2.14 - Add `rackedit` as a runtime dependency. diff --git a/README.md b/README.md index 11d0c96..57268f7 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,10 @@ Portable Unix-style commands for Rash, implemented in Racket. -Version 0.2.14 adds the `edit` command backed by the `rackedit` package and -reworks the manual around the commands that are available directly in Rash. -The manual now describes, per command, which internal `coreutils-*` Racket -procedure implements it. +Version 0.2.16 fixes the Racket 9.2 test suite and aligns package version +metadata. Command behavior is unchanged. The package includes the `edit` +command backed by `rackedit`, streaming `head` and `tail`, and the portable +`time` command. Rash remains responsible for shell syntax such as globbing, pipelines and redirection. `rash-coreutils` additionally accepts Racket regular expressions as diff --git a/help b/help index c3fccbd..b178734 100644 --- a/help +++ b/help @@ -1,7 +1,7 @@ #lang info (define pkg-authors '(hnmdijkema)) -(define version "0.2.14") +(define version "0.2.16") (define license 'MIT) (define collection "rash-coreutils") (define pkg-desc diff --git a/info.rkt b/info.rkt index 45db4c4..b178734 100644 --- a/info.rkt +++ b/info.rkt @@ -1,7 +1,7 @@ #lang info (define pkg-authors '(hnmdijkema)) -(define version "0.2.15") +(define version "0.2.16") (define license 'MIT) (define collection "rash-coreutils") (define pkg-desc diff --git a/private/extended.rkt b/private/extended.rkt index 27a0272..edb33c3 100644 --- a/private/extended.rkt +++ b/private/extended.rkt @@ -1,6 +1,6 @@ #lang racket/base -;; rash-coreutils 0.2.14 +;; rash-coreutils 0.2.16 ;; Streaming implementation of the extended core utilities. (require gregor diff --git a/tests/coreutils.rkt b/tests/coreutils.rkt index f0f3210..9d29956 100644 --- a/tests/coreutils.rkt +++ b/tests/coreutils.rkt @@ -107,8 +107,8 @@ (λ (filename #:wait? [wait? #f]) (set! edit-call (list filename wait?)))]) (dispatch-coreutils-command 'edit '--wait "one.txt")) - (check-equal? (path->string (first edit-call)) "one.txt") - (check-true (second edit-call)) + (check-equal? (path->string (car edit-call)) "one.txt") + (check-true (cadr edit-call)) (set! edit-call #f) (parameterize @@ -116,8 +116,8 @@ (λ (filename #:wait? [wait? #f]) (set! edit-call (list filename wait?)))]) (dispatch-coreutils-command 'edit "one.txt")) - (check-equal? (path->string (first edit-call)) "one.txt") - (check-false (second edit-call)) + (check-equal? (path->string (car edit-call)) "one.txt") + (check-false (cadr edit-call)) (check-exn exn:fail? @@ -166,8 +166,8 @@ "abc\n") (check-equal? (capture-filter "a b\n" coreutils-tr "-s" " ") "a b\n") - (check-true (regexp-match? #rx"a[/\\]b" - (capture-output coreutils-dirname "a/b/c.txt"))) + (check-equal? (capture-output coreutils-dirname "a/b/c.txt") + "a/b/\n") (define env-output (parameterize ([current-coreutils-command-runner @@ -210,7 +210,7 @@ (define time-output (get-output-string time-error)) (check-true (regexp-match? - #px"^real\\t[0-9]+[.][0-9]{3}s\ncpu\\t[0-9]+[.][0-9]{3}s\ngc\\t[0-9]+[.][0-9]{3}s\n$" + #px"^real\t[0-9]+[.][0-9]{3}s\ncpu\t[0-9]+[.][0-9]{3}s\ngc\t[0-9]+[.][0-9]{3}s\n$" time-output)) (check-exn diff --git a/tests/rash-smoke.rkt b/tests/rash-smoke.rkt index 69ddf6b..363d5f2 100644 --- a/tests/rash-smoke.rkt +++ b/tests/rash-smoke.rkt @@ -50,15 +50,15 @@ (define error-text (get-output-string errors)) (check-true (regexp-match? - #px"^real\\t[0-9]+[.][0-9]{3}s\ncpu\\t[0-9]+[.][0-9]{3}s\ngc\\t[0-9]+[.][0-9]{3}s\n$" + #px"^real\t[0-9]+[.][0-9]{3}s\ncpu\t[0-9]+[.][0-9]{3}s\ngc\t[0-9]+[.][0-9]{3}s\n$" error-text)) (define text (get-output-string output)) (check-true (regexp-match? #rx"hello from rash-coreutils" text)) (check-true (regexp-match? #rx"info[.]rkt" text)) (check-true (regexp-match? #rx"42" text)) (check-true (regexp-match? #rx"timed" text)) - (check-equal? (path->string (first edited)) "info.rkt") - (check-true (second edited)) + (check-equal? (path->string (car edited)) "info.rkt") + (check-true (cadr edited)) (check-true (regexp-match? #rx"\n3\n" text)) (check-true (regexp-match? #px"[0-9]{4}-[0-9]{2}-[0-9]{2}T" text))) (λ ()