raco pkg show: tweak output format

This commit is contained in:
Matthew Flatt 2012-12-21 15:48:39 -07:00
parent 118e961cee
commit fdcd030e54
3 changed files with 26 additions and 24 deletions

View File

@ -1014,19 +1014,21 @@
(let () (let ()
(define db (read-pkg-db)) (define db (read-pkg-db))
(define pkgs (sort (hash-keys db) string-ci<=?)) (define pkgs (sort (hash-keys db) string-ci<=?))
(table-display (if (null? pkgs)
(list* (printf " [none]\n")
(list (format "~aPackage(auto?)" indent) "Checksum" "Source") (table-display
(for/list ([pkg (in-list pkgs)]) (list*
(match-define (pkg-info orig-pkg checksum auto?) (hash-ref db pkg)) (list (format "~aPackage[*=auto]" indent) "Checksum" "Source")
(list (format "~a~a~a" (for/list ([pkg (in-list pkgs)])
indent (match-define (pkg-info orig-pkg checksum auto?) (hash-ref db pkg))
pkg (list (format "~a~a~a"
(if auto? indent
"*" pkg
"")) (if auto?
(format "~a" checksum) "*"
(format "~a" orig-pkg))))))) ""))
(format "~a" checksum)
(format "~a" orig-pkg))))))))
(define (config-cmd config:set key+vals) (define (config-cmd config:set key+vals)
(cond (cond

View File

@ -20,18 +20,18 @@
(shelly-case (shelly-case
"remove and show" "remove and show"
(shelly-case "remove of not installed package fails" (shelly-case "remove of not installed package fails"
$ "raco pkg show -u" =stdout> "Package(auto?) Checksum Source\n" $ "raco pkg show -u" =stdout> " [none]\n"
$ "raco pkg remove not-there" =exit> 1) $ "raco pkg remove not-there" =exit> 1)
(shelly-install "remove test" (shelly-install "remove test"
"test-pkgs/planet2-test1.zip") "test-pkgs/planet2-test1.zip")
(shelly-install "remove of dep fails" (shelly-install "remove of dep fails"
"test-pkgs/planet2-test1.zip" "test-pkgs/planet2-test1.zip"
$ "raco pkg show -u" =stdout> #rx"Package\\(auto\\?\\) +Checksum +Source\nplanet2-test1 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test1.zip\\)\n" $ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\nplanet2-test1 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test1.zip\\)\n"
$ "raco pkg install test-pkgs/planet2-test2.zip" $ "raco pkg install test-pkgs/planet2-test2.zip"
$ "raco pkg show -u" =stdout> #rx"Package\\(auto\\?\\) +Checksum +Source\nplanet2-test1 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test1.zip\\)\nplanet2-test2 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test2.zip\\)\n" $ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\nplanet2-test1 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test1.zip\\)\nplanet2-test2 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test2.zip\\)\n"
$ "raco pkg remove planet2-test1" =exit> 1 $ "raco pkg remove planet2-test1" =exit> 1
$ "raco pkg remove planet2-test2" $ "raco pkg remove planet2-test2"
$ "raco pkg show -u" =stdout> #rx"Package\\(auto\\?\\) +Checksum +Source\nplanet2-test1 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test1.zip\\)\n") $ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\nplanet2-test1 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test1.zip\\)\n")
(shelly-install "remove of dep can be forced" (shelly-install "remove of dep can be forced"
"test-pkgs/planet2-test1.zip" "test-pkgs/planet2-test1.zip"
$ "raco pkg install test-pkgs/planet2-test2.zip" $ "raco pkg install test-pkgs/planet2-test2.zip"
@ -59,14 +59,14 @@
$ "racket -e '(require planet2-test1)'" =exit> 1 $ "racket -e '(require planet2-test1)'" =exit> 1
$ "racket -e '(require planet2-test2)'" =exit> 1 $ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install --deps search-auto test-pkgs/planet2-test2.zip" =exit> 0 $ "raco pkg install --deps search-auto test-pkgs/planet2-test2.zip" =exit> 0
$ "raco pkg show -u" =stdout> #rx"Package\\(auto\\?\\) +Checksum +Source\nplanet2-test1\\* +[a-f0-9]+ +\\(pnr planet2-test1\\)\nplanet2-test2 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test2.zip\\)\n" $ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\nplanet2-test1\\* +[a-f0-9]+ +\\(pnr planet2-test1\\)\nplanet2-test2 +[a-f0-9]+ +\\(file .+tests/planet2/test-pkgs/planet2-test2.zip\\)\n"
$ "racket -e '(require planet2-test1)'" =exit> 0 $ "racket -e '(require planet2-test1)'" =exit> 0
$ "racket -e '(require planet2-test2)'" =exit> 0 $ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0 $ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove planet2-test2" $ "raco pkg remove planet2-test2"
$ "raco pkg show -u" =stdout> #rx"Package\\(auto\\?\\) +Checksum +Source\nplanet2-test1\\* +[a-f0-9]+ +\\(pnr planet2-test1\\)\n" $ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\nplanet2-test1\\* +[a-f0-9]+ +\\(pnr planet2-test1\\)\n"
$ "racket -e '(require planet2-test1)'" =exit> 0 $ "racket -e '(require planet2-test1)'" =exit> 0
$ "raco pkg remove --auto" $ "raco pkg remove --auto"
$ "raco pkg show -u" =stdout> "Package(auto?) Checksum Source\n" $ "raco pkg show -u" =stdout> " [none]\n"
$ "racket -e '(require planet2-test1)'" =exit> 1 $ "racket -e '(require planet2-test1)'" =exit> 1
$ "racket -e '(require planet2-test2)'" =exit> 1))))) $ "racket -e '(require planet2-test2)'" =exit> 1)))))

View File

@ -46,12 +46,12 @@
'source 'source
"http://localhost:9999/pkg-a-first.plt")) "http://localhost:9999/pkg-a-first.plt"))
$ "raco pkg install --deps search-auto pkg-b" =exit> 0 <input= "y\n" $ "raco pkg install --deps search-auto pkg-b" =exit> 0 <input= "y\n"
$ "raco pkg show -u" =stdout> #rx"Package\\(auto\\?\\) Checksum Source\npkg-a\\* [a-f0-9]+ \\(pnr pkg-a\\)\npkg-b [a-f0-9]+ \\(pnr pkg-b\\)\n" $ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\npkg-a\\* +[a-f0-9]+ \\(pnr pkg-a\\)\npkg-b +[a-f0-9]+ +\\(pnr pkg-b\\)\n"
$ "racket -e '(require pkg-b)'" =exit> 43 $ "racket -e '(require pkg-b)'" =exit> 43
$ "racket -e '(require pkg-a)'" =exit> 0 $ "racket -e '(require pkg-a)'" =exit> 0
;; remove auto doesn't do anything because everything is needed ;; remove auto doesn't do anything because everything is needed
$ "raco pkg remove --auto" $ "raco pkg remove --auto"
$ "raco pkg show -u" =stdout> #rx"Package\\(auto\\?\\) Checksum Source\npkg-a\\* [a-f0-9]+ \\(pnr pkg-a\\)\npkg-b [a-f0-9]+ \\(pnr pkg-b\\)\n" $ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\npkg-a\\* +[a-f0-9]+ \\(pnr pkg-a\\)\npkg-b +[a-f0-9]+ +\\(pnr pkg-b\\)\n"
$ "racket -e '(require pkg-b)'" =exit> 43 $ "racket -e '(require pkg-b)'" =exit> 43
$ "racket -e '(require pkg-a)'" =exit> 0 $ "racket -e '(require pkg-a)'" =exit> 0
;; pkg-a is now an auto ;; pkg-a is now an auto
@ -63,9 +63,9 @@
$ "raco pkg update -a" =exit> 0 $ "raco pkg update -a" =exit> 0
$ "racket -e '(require pkg-a)'" =exit> 43 $ "racket -e '(require pkg-a)'" =exit> 43
$ "raco pkg remove pkg-b" $ "raco pkg remove pkg-b"
$ "raco pkg show -u" =stdout> #rx"Package\\(auto\\?\\) Checksum Source\npkg-a\\* [a-f0-9]+ \\(pnr pkg-a\\)\n" $ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\npkg-a\\* +[a-f0-9]+ +\\(pnr pkg-a\\)\n"
$ "racket -e '(require pkg-b)'" =exit> 1 $ "racket -e '(require pkg-b)'" =exit> 1
;; pkg-a is now not needed ;; pkg-a is now not needed
$ "raco pkg remove --auto" $ "raco pkg remove --auto"
$ "raco pkg show -u" =stdout> "Package(auto?) Checksum Source\n" $ "raco pkg show -u" =stdout> " [none]\n"
$ "racket -e '(require pkg-a)'" =exit> 1))) $ "racket -e '(require pkg-a)'" =exit> 1)))