38 lines
1.5 KiB
Racket
38 lines
1.5 KiB
Racket
#lang racket/base
|
|
(require rackunit
|
|
racket/system
|
|
"shelly.rkt"
|
|
"util.rkt")
|
|
|
|
(this-test-is-run-by-the-main-test)
|
|
|
|
(pkg-tests
|
|
(shelly-begin
|
|
(initialize-catalogs)
|
|
|
|
(with-fake-root
|
|
(shelly-case
|
|
"failure on remove"
|
|
$ "raco pkg install test-pkgs/pkg-test1.zip" =exit> 0
|
|
$ "raco pkg show -l -u -a -d" =stdout> #rx"Package +Checksum +Source +Directory\npkg-test1 +[a-f0-9.]+ .*pkg-test1\"\n"
|
|
$ "racket -e '(require pkg-test1)'" =exit> 0
|
|
$ "racket -e '(file-or-directory-permissions (collection-path \"pkg-test1\") #o500)'"
|
|
$ "raco pkg remove --no-trash pkg-test1" =exit> 1
|
|
$ "racket -e '(require pkg-test1)'" =exit> 1)
|
|
|
|
(shelly-case
|
|
"re-install must go to \"+1\""
|
|
$ "raco pkg install test-pkgs/pkg-test1.zip" =exit> 0
|
|
$ "raco pkg show -l -u -a -d" =stdout> #rx"Package +Checksum +Source +Directory\npkg-test1 +[a-f0-9.]+ .*pkg-test1[+]1\"\n"
|
|
$ "racket -e '(require pkg-test1)'" =exit> 0
|
|
$ "raco pkg remove pkg-test1" =exit> 0
|
|
$ "racket -e '(require pkg-test1)'" =exit> 1)
|
|
|
|
(shelly-case
|
|
"re-install can go back to original place"
|
|
$ "racket -l racket/base -l setup/dirs -e '(file-or-directory-permissions (build-path (find-user-pkgs-dir) \"pkg-test1/pkg-test1\") #o700)'"
|
|
$ "raco pkg install test-pkgs/pkg-test1.zip" =exit> 0
|
|
$ "raco pkg show -l -u -a -d" =stdout> #rx"Package +Checksum +Source +Directory\npkg-test1 +[a-f0-9.]+ .*pkg-test1\"\n"
|
|
$ "racket -e '(require pkg-test1)'" =exit> 0
|
|
$ "raco pkg remove pkg-test1" =exit> 0))))
|