Removing the planet2 name from the code

This commit is contained in:
Jay McCarthy 2013-03-22 07:19:09 -06:00
parent 431efb40d1
commit 9f337c632a
101 changed files with 634 additions and 639 deletions

View File

@ -4,7 +4,7 @@
racket/path
raco/command-name
rackunit/log
planet2/lib)
pkg/lib)
(define submodules '())
(define run-anyways? #t)

View File

@ -4,7 +4,7 @@
(require racket/gui/base
racket/class
string-constants
planet2/name
pkg/name
racket/list
framework)
(provide install-pkg)
@ -213,7 +213,7 @@
setup/plt-installer
help/bug-report
setup/unpack
planet2
pkg
(submod "." install-pkg))
(provide frame@)
(define-unit frame@

View File

@ -7,7 +7,7 @@
setup/dirs
setup/link
framework
(prefix-in planet2: planet2)
(prefix-in pkg: pkg)
(for-syntax racket/base
racket/list)
"buginfo.rkt"
@ -248,9 +248,9 @@
#f
#:top-panel synthesized-panel))
(define planet2-info
(define pkg-info
(make-big-text
(string-constant bug-report-field-planet2)
(string-constant bug-report-field-pkg)
#:stretch? #t
#:top-panel synthesized-panel))
@ -322,7 +322,7 @@
(format "Human Language: ~a\n" (send human-language get-value))
(format "(current-memory-use) ~a\n" (send memory-use get-value))
(format "Links: ~a\n" (send links-ctrl get-value))
(format "Planet2 (show):\n~a\n" (send (send planet2-info get-editor) get-text))
(format "raco pkg (show):\n~a\n" (send (send pkg-info get-editor) get-text))
"\n"
"\nCollections:\n"
(format "~a" (send (send collections get-editor) get-text))
@ -440,14 +440,14 @@
(links #:root? #t)
(links #:user? #f #:root? #t)))
(define planet2-info-sp (open-output-string))
(parameterize ([current-output-port planet2-info-sp])
(define pkg-info-sp (open-output-string))
(parameterize ([current-output-port pkg-info-sp])
(with-handlers ([exn:fail? (lambda (exn)
(printf "ERROR:\n~a" (exn-message exn)))])
(planet2:show)))
(send (send planet2-info get-editor)
(pkg:show)))
(send (send pkg-info get-editor)
insert
(get-output-string planet2-info-sp))
(get-output-string pkg-info-sp))
(send human-language set-value (format "~a" (this-language)))
(send memory-use set-value (format "~a" (current-memory-use)))

View File

@ -555,7 +555,7 @@ plt-extras :+= (package: "slatex")
;; -------------------- planet
mz-extras :+= (package: "planet")
mz-extras :+= (package: "planet2")
mz-extras :+= (package: "pkg")
;; -------------------- mrlib
mr-extras :+= (+ (package: "mrlib/")

View File

@ -9,7 +9,7 @@
#"text/s-expr" empty
(λ (op) (write v op))))
(define (planet2-index/basic get-pkgs pkg-name->info)
(define (pkg-index/basic get-pkgs pkg-name->info)
(define (write-info req pkg-name)
(response/sexpr (pkg-name->info pkg-name)))
(define (display-info req pkg-name)
@ -41,7 +41,7 @@
dispatch)
(provide/contract
[planet2-index/basic
[pkg-index/basic
(-> (-> (listof string?))
(-> string? (hash/c symbol? any/c))
(-> request? response?))])

View File

@ -6,7 +6,7 @@
racket/port
net/url
file/md5
planet2/util)
pkg/util)
(define (gravatar-hash email)
(bytes->string/utf-8

View File

@ -7,7 +7,7 @@
racket/function
racket/runtime-path
web-server/dispatch
planet2/util
pkg/util
racket/match
racket/package
racket/system
@ -18,7 +18,7 @@
racket/bool
racket/list
net/sendmail
meta/planet2-index/basic/main
meta/pkg-index/basic/main
web-server/http/id-cookie
file/sha1
(prefix-in bcrypt- bcrypt))
@ -76,7 +76,7 @@
(λ ()
(match key
[(or 'author 'checksum 'source)
(error 'planet2 "Package ~e is missing a required field: ~e"
(error 'pkg "Package ~e is missing a required field: ~e"
(hash-ref pkg-info 'name) key)]
['tags
empty]
@ -296,7 +296,7 @@
log-req
#:breadcrumb
(list "Login" "Account Registration Error")
`(p "Email addresses may not contain / on Planet2:"
`(p "Email addresses may not contain / on the Racket PNR:"
(tt ,email)))))
(when (string=? "" email)
@ -328,11 +328,11 @@
(send/suspend
(λ (k-url)
(send-mail-message
"planet2@racket-lang.org"
"Account confirmation for Planet2"
"pkg@racket-lang.org"
"Account confirmation for Racket PNR"
(list email)
empty empty
(list "Someone tried to register your email address for an account on Planet2. If you want to authorize this registration and log in, please click the following link:"
(list "Someone tried to register your email address for an account on the Racket PNR. If you want to authorize this registration and log in, please click the following link:"
""
(format "https://pkg.racket-lang.org~a" k-url)
""
@ -429,7 +429,7 @@
(binding:form-value
res))]
[fail?
(error 'planet2 "Missing field ~e" id)]
(error 'pnr "Missing field ~e" id)]
[else
#f]))
@ -437,14 +437,14 @@
(define (edit-details pkg-req)
(define new-pkg (request-binding/string pkg-req "name"))
(when (string=? new-pkg "")
(error 'planet2 "Name must not be empty: ~e" new-pkg))
(error 'pnr "Name must not be empty: ~e" new-pkg))
(define new-source (request-binding/string pkg-req "source"))
(when (string=? new-source "")
(error 'planet2 "Source must not be empty: ~e" new-source))
(error 'pnr "Source must not be empty: ~e" new-source))
(define new-desc (request-binding/string pkg-req "description"))
(unless (valid-name? new-pkg)
(error 'planet2
(error 'pnr
"Illegal character in name; only alphanumerics, plus '-' and '_' allowed: ~e"
new-pkg))
@ -452,14 +452,14 @@
(or (regexp-match #rx"^[Pp][Ll][Tt]" new-pkg)
(regexp-match #rx"^[Pp][Ll][Aa][Nn][Ee][Tt]" new-pkg)
(regexp-match #rx"^[Rr][Aa][Cc][Kk][Ee][Tt]" new-pkg)))
(error 'planet2
(error 'pnr
"Packages that start with plt, planet, and racket are not allowed without special permission. Please create your package with a different name, then email curation to request a rename: ~e"
new-pkg))
(when (and (package-exists? new-pkg)
(not (equal? (package-ref (package-info new-pkg) 'author)
(current-user pkg-req #t))))
(error 'planet2
(error 'pnr
"Packages may only be modified by their authors: ~e"
new-pkg))
@ -502,7 +502,7 @@
(when (and (package-exists? pkg)
(not (equal? (package-ref (package-info pkg) 'author)
(current-user pkg-req #t))))
(error 'planet2
(error 'pnr
"Packages may only be modified by their authors: ~e"
pkg))
@ -565,7 +565,7 @@
(not (string=? new-tag "")))
(define i (package-info pkg-name))
(unless (valid-name? new-tag)
(error 'planet2
(error 'pnr
"Illegal character in tag; only alphanumerics allowed, plus '_' and '-': ~e"
new-tag))
(package-info-set!
@ -611,7 +611,7 @@
`(span (input ([name "source"]
[type "text"]
[value ,(package-ref* i 'source "")]))
" (" (a ([href "http://pre.racket-lang.org/docs/html/planet2/Package_Concepts.html#(tech._package._source)"]) "details") ")")
" (" (a ([href "http://pre.racket-lang.org/docs/html/pkg/Package_Concepts.html#(tech._package._source)"]) "details") ")")
`(a ([href
,(package-url->useful-url (package-ref i 'source))])
,(package-ref i 'source)))))
@ -664,13 +664,7 @@
`(div ([class "install"])
"Install this package with:" (br) (br)
(tt "raco pkg install " ,pkg-name) (br) (br)
"or, by evaluating:" (br)
(pre
,(format "~a\n~a\n~a\n"
"#lang racket"
"(require planet2)"
(format "(install \"~a\")"
pkg-name))))
"or, with the 'File|Install Package...' menu option in DrRacket.")
"")
,(if (and pkg-name delete-handler)
`(div ([class "delete"])
@ -716,7 +710,7 @@
(package-info-set! pkg-name i))))
(define basic-start
(planet2-index/basic package-list package-info))
(pkg-index/basic package-list package-info))
(define (go port)
(printf "launching on port ~a\n" port)

View File

@ -3,7 +3,7 @@
racket/file
web-server/http
web-server/servlet-env
meta/planet2-index/basic/main
meta/pkg-index/basic/main
racket/port
racket/match
racket/runtime-path
@ -371,7 +371,7 @@
(define (go port)
(printf "Launching server on port ~a\n" port)
(serve/servlet
(planet2-index/basic
(pkg-index/basic
(λ () pkg-list)
(λ (pkg-name)
(and

View File

@ -1,13 +1,13 @@
#!/bin/sh
for i in planet2 tests/planet2 meta/planet2-index ; do
for i in pkg tests/pkg meta/pkg-index ; do
rsync -a --progress -h --delete --exclude root --exclude compiled --exclude doc ../../$i/ plt-etc:local/galaxy/$i/
done
for i in official planet-compat ; do
rsync -a --progress -h --delete plt-etc:local/galaxy/meta/planet2-index/$i/root/ $i/root/
rsync -a --progress -h --delete plt-etc:local/galaxy/meta/pkg-index/$i/root/ $i/root/
done
rsync -a --progress -h --delete --exclude root --exclude compiled --exclude doc ../../planet2/ plt-etc:local/plt/collects/$i/
rsync -a --progress -h --delete --exclude root --exclude compiled --exclude doc ../../pkg/ plt-etc:local/plt/collects/$i/
rsync -a --progress -h --delete --exclude compiled ../../web-server ../../net plt-etc:local/plt/collects/

View File

@ -812,9 +812,9 @@ path/s is either such a string or a list of them.
"collects/meta/drdr2" responsible (jay) drdr:command-line #f
"collects/meta/images/mkheart.rkt" drdr:command-line #f
"collects/meta/images/taking-screenshots/racket-widget.scm" drdr:command-line #f
"collects/meta/planet2-index" responsible (jay)
"collects/meta/planet2-index/official/main.rkt" drdr:command-line #f
"collects/meta/planet2-index/planet-compat/main.rkt" drdr:command-line (raco "test" *)
"collects/meta/pkg-index" responsible (jay)
"collects/meta/pkg-index/official/main.rkt" drdr:command-line #f
"collects/meta/pkg-index/planet-compat/main.rkt" drdr:command-line (raco "test" *)
"collects/meta/props" responsible (eli jay) drdr:command-line (racket "-um" * "verify")
"collects/meta/web" drdr:command-line #f
"collects/mred" responsible (mflatt)
@ -867,7 +867,7 @@ path/s is either such a string or a list of them.
"collects/picturing-programs" responsible (sbloch)
"collects/plai" responsible (jay)
"collects/planet" responsible (robby)
"collects/planet2" responsible (jay)
"collects/pkg" responsible (jay)
"collects/plot" responsible (ntoronto)
"collects/plot/scribblings/plot.scrbl" drdr:timeout 180
"collects/plot/tests/extreme-bounds-tests.rkt" drdr:timeout 150
@ -1157,8 +1157,8 @@ path/s is either such a string or a list of them.
"collects/tests/planet/test-docs-complete.rkt" drdr:command-line (raco "make" *)
"collects/tests/planet/thread-safe-resolver.rkt" drdr:command-line (raco "make" *) drdr:timeout 1000
"collects/tests/planet/version.rkt" drdr:command-line (raco "make" *)
"collects/tests/planet2" responsible (jay) drdr:command-line (mzc *)
"collects/tests/planet2/test-pkgs" drdr:command-line #f
"collects/tests/pkg" responsible (jay) drdr:command-line (mzc *)
"collects/tests/pkg/test-pkgs" drdr:command-line #f
"collects/tests/profile" responsible (eli)
"collects/tests/r6rs" responsible (mflatt)
"collects/tests/racket" responsible (mflatt)

6
collects/pkg/info.rkt Normal file
View File

@ -0,0 +1,6 @@
#lang setup/infotab
(define scribblings
'(("scribblings/pkg.scrbl" (multi-page) (tool 100))))
(define raco-commands
'(("pkg" pkg/raco "manage packages" 81)))

View File

@ -48,10 +48,10 @@
(for/list ([v (in-list l)])
(format "\n ~a" v)))))
(define-logger planet2)
(define-logger pkg)
(define (log-exn x what)
(log-planet2-error (~a "failure ~a\n"
(log-pkg-error (~a "failure ~a\n"
" error: ~s")
what
(exn-message x)))
@ -94,7 +94,7 @@
(unless fail-okay?
(raise x)))])
(make-parent-directory* file)
(log-planet2-debug "\t\tDownloading ~a to ~a" (url->string url) file)
(log-pkg-debug "\t\tDownloading ~a to ~a" (url->string url) file)
(call-with-output-file file
(λ (op)
(call/input-url+200
@ -233,7 +233,7 @@
(url-query addr/no-query)
(list
(cons 'version (version))))]))
(log-planet2-debug "resolving via ~a" (url->string addr))
(log-pkg-debug "resolving via ~a" (url->string addr))
(call/input-url+200
addr
read))
@ -591,13 +591,13 @@
(values package-path
'file
(λ ()
(log-planet2-debug "\tAssuming URL names a file")
(log-pkg-debug "\tAssuming URL names a file")
(download-file! pkg-url package-path)))]))
(dynamic-wind
void
(λ ()
(download-package!)
(log-planet2-debug "\tDownloading done, installing ~a as ~a"
(log-pkg-debug "\tDownloading done, installing ~a as ~a"
package-path pkg-name)
(install-package package-path
download-type
@ -667,7 +667,7 @@
[#"plt"
(make-directory* pkg-dir)
(unpack pkg pkg-dir
(lambda (x) (log-planet2-debug "~a" x))
(lambda (x) (log-pkg-debug "~a" x))
(lambda () pkg-dir)
#f
(lambda (auto-dir main-dir file) pkg-dir))]
@ -890,7 +890,7 @@
(not (and (string? inst-vers*)
(valid-version? inst-vers*))))
(begin
(log-planet2-error
(log-pkg-error
"bad verson specification for ~a: ~e"
name
inst-vers*)
@ -969,14 +969,14 @@
final-pkg-dir]
[else
pkg-dir]))
(log-planet2-debug "creating link to ~e" final-pkg-dir)
(log-pkg-debug "creating link to ~e" final-pkg-dir)
(links final-pkg-dir
#:user? (not (current-install-system-wide?))
#:version-regexp (link-version-regexp)
#:root? #t)
(define this-pkg-info
(pkg-info orig-pkg checksum auto?))
(log-planet2-debug "updating db with ~e to ~e" pkg-name this-pkg-info)
(log-pkg-debug "updating db with ~e to ~e" pkg-name this-pkg-info)
(update-pkg-db! pkg-name this-pkg-info))]))
(define metadata-ns (make-metadata-namespace))
(define infos

View File

@ -8,7 +8,7 @@
(define (setup no-setup? installation? setup-collects)
(unless (or no-setup?
(not (member (getenv "PLT_PLANET2_NOSETUP") '(#f ""))))
(not (member (getenv "PLT_PKG_NOSETUP") '(#f ""))))
(setup:setup
#:make-user? (not installation?)
#:collections (and setup-collects

View File

@ -1,7 +1,7 @@
#lang scribble/manual
@(require scribble/bnf
scribble/core
(for-label planet2
(for-label pkg
(except-in racket/base remove)
setup/dirs))
@ -200,7 +200,7 @@ packages and @url{https://planet-compat.racket-lang.org} for
automatically generated packages for old @|PLaneT|
packages. Anyone may host their own @tech{package name resolver}. The
source for the PLT-hosted resolvers is in the
@racket[(collection-file-path "planet2-index" "meta")]
@racket[(collection-file-path "pkg-index" "meta")]
directory.
After a package is installed, the original source of its installation
@ -285,7 +285,7 @@ sub-sub-commands:
@item{@DFlag{ignore-checksums} --- Ignores errors verifying package @tech{checksums} (unsafe).}
@item{@DFlag{no-setup} --- Does not run @exec{raco setup} after installation. This behavior is also the case if the
environment variable @envvar{PLT_PLANET2_NOSETUP} is set to any non-empty value.}
environment variable @envvar{PLT_PKG_NOSETUP} is set to any non-empty value.}
@item{@DFlag{link} --- Implies @exec{--type dir} (and overrides any specified type),
and links the existing directory as an installed package.}
@ -400,9 +400,9 @@ View and modify package configuration options. It accepts the following @nonterm
@subsection{Programmatic}
@defmodule[planet2]
@defmodule[pkg]
The @racketmodname[planet2] module provides a programmatic interface
The @racketmodname[pkg] module provides a programmatic interface
to the command sub-sub-commands.
@deftogether[

View File

@ -1,6 +0,0 @@
#lang setup/infotab
(define scribblings
'(("scribblings/planet2.scrbl" (multi-page) (tool 100))))
(define raco-commands
'(("pkg" planet2/raco "manage packages" 81)))

View File

@ -3,6 +3,6 @@
@title[#:tag "pkg"]{@exec{raco pkg}: Package Management}
See @other-manual['(lib "planet2/scribblings/planet2.scrbl")] for
See @other-manual['(lib "pkg/scribblings/pkg.scrbl")] for
information on the @exec{raco pkg} command, which is used for
managing external code packages.

View File

@ -1739,7 +1739,7 @@ please adhere to these guidelines:
(planet-docs-building "PLaneT: Building docs (triggered by ~a)...")
(planet-no-status "PLaneT") ;; this can happen when there is status shown in a different and then the user switches to a tab where planet hasn't been used
(bug-report-field-planet2 "Package system info")
(bug-report-field-pkg "Package system info")
;; string normalization. To see this, paste some text with a ligature into DrRacket
;; the first three strings are in the dialog that appears. The last one is in the preferences dialog
@ -1772,7 +1772,7 @@ please adhere to these guidelines:
; is put following this string (with a blank line in between)
(spell-program-wrote-to-stderr-on-startup "The spell program (~a) printed an error message:")
;; GUI for installing a planet2 package; available via File|Install Package...
;; GUI for installing a pkg package; available via File|Install Package...
(install-pkg-menu-item... "Install Package...")
(install-pkg-dialog-title "Install Package")
(install-pkg-source-label "Package Source")

View File

@ -1732,7 +1732,7 @@
(planet-docs-building "PLaneT: compilation des docs (déclenché par ~a)...")
(planet-no-status "PLaneT") ;; this can happen when there is status shown in a different and then the user switches to a tab where planet hasn't been used
(bug-report-field-planet2 "Information système du logiciel") ; package -> paquetage, bibliothèque ?
(bug-report-field-pkg "Information système du logiciel") ; package -> paquetage, bibliothèque ?
;; string normalization. To see this, paste some text with a ligature into DrRacket
;; the first three strings are in the dialog that appears. The last one is in the preferences dialog

View File

@ -1611,7 +1611,7 @@
(planet-docs-building "PLaneT: Dokumentation bauen (ausgelöst durch ~a)...")
(planet-no-status "PLaneT") ;; this can happen when there is status shown in a different and then the user switches to a tab where planet hasn't been used
(bug-report-field-planet2 "Info Package-System")
(bug-report-field-pkg "Info Package-System")
;; string normalization. To see this, paste some text with a ligature into DrRacket
@ -1647,7 +1647,7 @@
; is put following this string (with a blank line in between)
(spell-program-wrote-to-stderr-on-startup "Der Rechtschreibchecker (~a) hat eine Fehlermeldung ausgegeben:")
;; GUI for installing a planet2 package; available via File|Install Package...
;; GUI for installing a pkg package; available via File|Install Package...
(install-pkg-menu-item... "Paket installieren...")
(install-pkg-dialog-title "Paket installieren")
(install-pkg-source-label "Packet-Quelltext")

View File

@ -1559,7 +1559,7 @@
(planet-docs-building "PLaneT构建文档由~a触发……")
(planet-no-status "PLaneT") ;; this can happen when there is status shown in a different and then the user switches to a tab where planet hasn't been used
(bug-report-field-planet2 "Package系统信息")
(bug-report-field-pkg "Package系统信息")
;; string normalization. To see this, paste some text with a ligature into DrRacket
;; the first three strings are in the dialog that appears. The last one is in the preferences dialog

View File

@ -1542,7 +1542,7 @@
(planet-docs-building "PLaneT構建文檔由~a觸發……")
(planet-no-status "PLaneT") ;; this can happen when there is status shown in a different and then the user switches to a tab where planet hasn't been used
(bug-report-field-planet2 "Package系統信息")
(bug-report-field-pkg "Package系統信息")
;; string normalization. To see this, paste some text with a ligature into DrRacket
;; the first three strings are in the dialog that appears. The last one is in the preferences dialog

View File

@ -9,7 +9,7 @@
#"text/s-expr" empty
(λ (op) (write v op))))
(define (planet2-index/basic pkg-name->info)
(define (pkg-index/basic pkg-name->info)
(define (write-info req pkg-name)
(response/sexpr (pkg-name->info pkg-name)))
(define-values (dispatch get-url)
@ -18,6 +18,6 @@
dispatch)
(provide/contract
[planet2-index/basic
[pkg-index/basic
(-> (-> string? (hash/c symbol? any/c))
(-> request? response?))])

View File

@ -0,0 +1,4 @@
#lang racket/base
(printf "pkg-test1/main loaded\n")
(exit 0)

View File

@ -0,0 +1,4 @@
#lang racket/base
(printf "pkg-test1/main loaded\n")
(exit 0)

View File

@ -0,0 +1,4 @@
#lang racket/base
(printf "pkg-test1-staging/a loaded\n")
(exit 0)

View File

@ -0,0 +1,4 @@
#lang racket/base
(printf "pkg-test1/main loaded\n")
(exit 0)

View File

@ -0,0 +1,4 @@
#lang racket/base
(printf "pkg-test1/main loaded\n")
(exit 0)

View File

@ -0,0 +1,3 @@
#lang setup/infotab
(define deps (list "pkg-test1"))

View File

@ -0,0 +1,3 @@
#lang racket
(require pkg-test1)
(exit 0)

View File

@ -0,0 +1,4 @@
#lang racket/base
(printf "pkg-test2/main loaded\n")
(exit 0)

View File

@ -4,7 +4,7 @@
"shelly.rkt"
"util.rkt"
racket/port
(only-in planet2 config))
(only-in pkg config))
;; By making these syntax-time includes, it made it so they would be
;; rebuilt and register as real dependencies.
@ -29,26 +29,27 @@
(shelly-case "All tests"
(for-each (λ (x) (x)) l)))))
(let ([v (getenv "PLT_PLANET2_NOSETUP")])
(let ([v (getenv "PLT_PKG_NOSETUP")])
(unless (and v (not (string=? v "")))
(error "Set the PLT_PLANET2_NOSETUP environment variable before running these tests\n")))
(error "Set the PLT_PKG_NOSETUP environment variable before running these tests\n")))
(unless (equal? "user\n" (with-output-to-string
(lambda () (config #:installation #t "default-scope"))))
(lambda () (config #:installation #t "default-scope"))))
(error "Run this test suite with `user' default package scope"))
(run-tests
"name"
"basic" "create" "install" "permissions"
"network" "conflicts" "checksums"
"conflicts" "checksums"
"deps" "update"
"remove"
"locking"
"overwrite"
"config"
"planet"
;; "network"
;; "planet"
;; "main-server"
"update-deps"
"update-auto"
"versions"
"raco"
"main-server")
"raco")

View File

@ -9,7 +9,7 @@
racket/runtime-path
racket/path
racket/list
planet2/util
pkg/util
"shelly.rkt"
"util.rkt")

View File

@ -0,0 +1,72 @@
#lang racket/base
(require rackunit
racket/system
unstable/debug
racket/match
(for-syntax racket/base
syntax/parse)
racket/file
racket/runtime-path
racket/path
racket/list
pkg/util
"shelly.rkt"
"util.rkt")
(pkg-tests
(shelly-begin
(initialize-indexes)
(shelly-case
"checksums"
$ "test -f test-pkgs/pkg-test1.zip"
$ "cp -f test-pkgs/pkg-test1.zip test-pkgs/pkg-test1-bad-checksum.zip"
$ "test -f test-pkgs/pkg-test1-conflict.zip.CHECKSUM"
$ "cp -f test-pkgs/pkg-test1-conflict.zip.CHECKSUM test-pkgs/pkg-test1-bad-checksum.zip.CHECKSUM"
(with-fake-root
(shelly-case
"checksums are checked if present (local)"
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "raco pkg install test-pkgs/pkg-test1-bad-checksum.zip" =exit> 1
$ "racket -e '(require pkg-test1)'" =exit> 1))
$ "cp -f test-pkgs/pkg-test1.zip test-pkgs/pkg-test1-no-checksum.zip"
(shelly-install* "checksums are ignored if missing by default (local)"
"test-pkgs/pkg-test1-no-checksum.zip"
"pkg-test1-no-checksum")
(with-fake-root
(shelly-case
"checksums are checked (remote, indexed)"
(hash-set!
*index-ht-1* "pkg-test1"
(hasheq 'checksum
(file->string "test-pkgs/pkg-test1-bad-checksum.zip.CHECKSUM")
'source
"http://localhost:9999/pkg-test1-bad-checksum.zip"))
$ "raco pkg config --set indexes http://localhost:9990 http://localhost:9991"
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "raco pkg install pkg-test1" =exit> 1
$ "racket -e '(require pkg-test1)'" =exit> 1))
(with-fake-root
(shelly-case
"checksums are checked (remote)"
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "raco pkg install http://localhost:9999/pkg-test1-bad-checksum.zip" =exit> 1
$ "racket -e '(require pkg-test1)'" =exit> 1))
(with-fake-root
(shelly-case
"checksums are required by default remotely (remote)"
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "raco pkg install http://localhost:9999/pkg-test1-no-checksum.zip" =exit> 1
$ "racket -e '(require pkg-test1)'" =exit> 1))
(shelly-install* "but, bad checksums can be ignored (local)"
"--ignore-checksums test-pkgs/pkg-test1-bad-checksum.zip"
"pkg-test1-bad-checksum")
(shelly-install* "but, bad checksums can be ignored (remote)"
"--ignore-checksums http://localhost:9999/pkg-test1-bad-checksum.zip"
"pkg-test1-bad-checksum")
(shelly-install* "but, checksums can be missing if ignored (remote)"
"--ignore-checksums http://localhost:9999/pkg-test1-no-checksum.zip"
"pkg-test1-no-checksum"))))

View File

@ -0,0 +1,65 @@
#lang racket/base
(require rackunit
racket/system
unstable/debug
racket/match
(for-syntax racket/base
syntax/parse)
racket/file
racket/runtime-path
racket/path
racket/list
pkg/util
"shelly.rkt"
"util.rkt")
(pkg-tests
(shelly-begin
(initialize-indexes)
$ "raco pkg create --format plt test-pkgs/pkg-test1/"
$ "raco pkg create --format plt test-pkgs/pkg-test1-not-conflict/"
(shelly-install "only modules are considered for conflicts"
"test-pkgs/pkg-test1.plt"
$ "raco pkg install test-pkgs/pkg-test1-not-conflict.plt")
(shelly-case
"conflicts"
(shelly-install "double install fails" "test-pkgs/pkg-test1.zip"
$ "raco pkg install test-pkgs/pkg-test1.zip" =exit> 1)
(with-fake-root
(shelly-case
"conflicts with racket fail"
$ "test -f test-pkgs/racket-conflict.tgz"
$ "raco pkg install test-pkgs/racket-conflict.tgz" =exit> 1))
(shelly-install "conflicts are caught" "test-pkgs/pkg-test1.zip"
$ "test -f test-pkgs/pkg-test1-conflict.zip"
$ "raco pkg install test-pkgs/pkg-test1-conflict.zip" =exit> 1)
(shelly-install "conflicts are caught across sharing modes" "test-pkgs/pkg-test1.zip"
$ "test -f test-pkgs/pkg-test1-conflict.zip"
$ "raco pkg install -s test-pkgs/pkg-test1-conflict.zip" =exit> 1)
(shelly-wind
$ "cp -r test-pkgs/pkg-test1 test-pkgs/pkg-test1-linking"
(shelly-install* "conflicts are caught, even with a link"
"--link test-pkgs/pkg-test1-linking"
"pkg-test1-linking"
$ "test -f test-pkgs/pkg-test1-conflict.zip"
$ "raco pkg install test-pkgs/pkg-test1-conflict.zip" =exit> 1)
(finally
$ "rm -fr test-pkgs/pkg-test1-linking"))
(shelly-install "conflicts can be forced" "test-pkgs/pkg-test1.zip"
$ "racket -e '(require pkg-test1/conflict)'" =exit> 42
$ "raco pkg install --force test-pkgs/pkg-test1-conflict.zip" =exit> 0
$ "racket -e '(require pkg-test1/conflict)'" =exit> 42
$ "raco pkg remove pkg-test1-conflict")
(shelly-install "conflicts can be forced" "test-pkgs/pkg-test1-conflict.zip"
$ "racket -e '(require pkg-test1/conflict)'" =exit> 43
$ "raco pkg install --force test-pkgs/pkg-test1.zip" =exit> 0
$ "racket -e '(require pkg-test1/conflict)'" =exit> 43
$ "raco pkg remove pkg-test1-conflict"))))

View File

@ -9,7 +9,7 @@
racket/runtime-path
racket/path
racket/list
planet2/util
pkg/util
"shelly.rkt"
"util.rkt")
@ -24,7 +24,7 @@
$ "raco pkg create --format tgz test-pkgs/does-not-exist" =exit> 1
$ "test -f test-pkgs/does-not-exist.tgz" =exit> 1)
$ "raco pkg create planet2-test1" =exit> 1
$ "raco pkg create pkg-test1" =exit> 1
(define-syntax-rule (shelly-create pkg fmt)
(shelly-case
@ -36,26 +36,26 @@
$ (format "test -f test-pkgs/~a.~a" pkg fmt)
$ (format "test -f test-pkgs/~a.~a.CHECKSUM" pkg fmt)))
(shelly-create "planet2-test1" "tgz")
(shelly-create "planet2-test1" "zip")
(shelly-create "planet2-test1-v2" "zip")
(shelly-create "planet2-test1-conflict" "zip")
(shelly-create "planet2-test1" "plt")
(shelly-create "pkg-test1" "tgz")
(shelly-create "pkg-test1" "zip")
(shelly-create "pkg-test1-v2" "zip")
(shelly-create "pkg-test1-conflict" "zip")
(shelly-create "pkg-test1" "plt")
(shelly-create "racket-conflict" "tgz")
$ "raco pkg create --format txt test-pkgs/planet2-test1" =exit> 1
$ "raco pkg create --format txt test-pkgs/pkg-test1" =exit> 1
(shelly-create "planet2-test2" "zip")
(shelly-create "pkg-test2" "zip")
(shelly-case
"create is robust against ending /s"
$ "rm -f test-pkgs/planet2-test1.tgz test-pkgs/planet2-test1.tgz.CHECKSUM"
$ "raco pkg create --format tgz test-pkgs/planet2-test1/"
$ "test -f test-pkgs/planet2-test1.tgz"
$ "test -f test-pkgs/planet2-test1.tgz.CHECKSUM"))
$ "rm -f test-pkgs/pkg-test1.tgz test-pkgs/pkg-test1.tgz.CHECKSUM"
$ "raco pkg create --format tgz test-pkgs/pkg-test1/"
$ "test -f test-pkgs/pkg-test1.tgz"
$ "test -f test-pkgs/pkg-test1.tgz.CHECKSUM"))
(shelly-case
"create MANIFESTs"
$ "rm -f test-pkgs/planet2-test1/MANIFEST"
$ "raco pkg create --manifest test-pkgs/planet2-test1/"
$ "test -f test-pkgs/planet2-test1/MANIFEST")))
$ "rm -f test-pkgs/pkg-test1/MANIFEST"
$ "raco pkg create --manifest test-pkgs/pkg-test1/"
$ "test -f test-pkgs/pkg-test1/MANIFEST")))

View File

@ -0,0 +1,119 @@
#lang racket/base
(require rackunit
racket/system
unstable/debug
racket/match
(for-syntax racket/base
syntax/parse)
racket/file
racket/runtime-path
racket/path
racket/list
pkg/util
"shelly.rkt"
"util.rkt")
(pkg-tests
(shelly-begin
(initialize-indexes)
(shelly-case
"dependencies"
$ "test -f test-pkgs/pkg-test2.zip"
(with-fake-root
(shelly-case
"local - fail (default)"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install test-pkgs/pkg-test2.zip" =exit> 1
$ "raco pkg install test-pkgs/pkg-test1.zip" =exit> 0
$ "raco pkg install test-pkgs/pkg-test2.zip" =exit> 0
$ "racket -e '(require pkg-test2)'" =exit> 0
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 0
$ "raco pkg remove pkg-test2"
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - looks at all packages given on cmdline"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install test-pkgs/pkg-test2.zip test-pkgs/pkg-test1.zip" =exit> 0
$ "racket -e '(require pkg-test2)'" =exit> 0
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 0
$ "raco pkg remove pkg-test2"
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - fail"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install --deps fail test-pkgs/pkg-test2.zip" =exit> 1
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - force"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install --deps force test-pkgs/pkg-test2.zip"
$ "racket -e '(require pkg-test2)'" =exit> 0
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 1
$ "raco pkg remove pkg-test2"
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - search-ask [y]"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install --deps search-ask test-pkgs/pkg-test2.zip" =exit> 0 <input= "y\n"
$ "racket -e '(require pkg-test2)'" =exit> 0
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 0
$ "raco pkg remove pkg-test2"
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - search-ask []"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install --deps search-ask test-pkgs/pkg-test2.zip" =exit> 0 <input= "\n"
$ "racket -e '(require pkg-test2)'" =exit> 0
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 0
$ "raco pkg remove pkg-test2"
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - search-ask [n]"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install --deps search-ask test-pkgs/pkg-test2.zip" =exit> 1 <input= "n\n"
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - search-auto"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install --deps search-auto test-pkgs/pkg-test2.zip" =exit> 0
$ "racket -e '(require pkg-test2)'" =exit> 0
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 0
$ "raco pkg remove pkg-test2"
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"remote - search-ask (default) [y]"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install pkg-test2" =exit> 0 <input= "y\n"
$ "racket -e '(require pkg-test2)'" =exit> 0
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 0
$ "raco pkg remove pkg-test2"
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"remote - fail"
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install --deps fail pkg-test2" =exit> 1
$ "racket -e '(require pkg-test2)'" =exit> 1)))))

View File

@ -9,7 +9,7 @@
racket/runtime-path
racket/path
racket/list
planet2/util
pkg/util
"shelly.rkt"
"util.rkt")
@ -19,18 +19,18 @@
(shelly-case
"raco pkg install tests"
(shelly-install "local package (tgz)" "test-pkgs/planet2-test1.tgz")
(shelly-install "local package (zip)" "test-pkgs/planet2-test1.zip")
(shelly-install "local package (plt)" "test-pkgs/planet2-test1.plt")
(shelly-install "local package (tgz)" "test-pkgs/pkg-test1.tgz")
(shelly-install "local package (zip)" "test-pkgs/pkg-test1.zip")
(shelly-install "local package (plt)" "test-pkgs/pkg-test1.plt")
(shelly-case
"invalid package format is an error"
$ "raco pkg install test-pkgs/planet2-test1.zip.CHECKSUM" =exit> 1)
$ "raco pkg install test-pkgs/pkg-test1.zip.CHECKSUM" =exit> 1)
(shelly-install "remote/URL/http package (file, tgz)"
"http://localhost:9999/planet2-test1.tgz")
"http://localhost:9999/pkg-test1.tgz")
(shelly-install "remote/URL/http package (directory)"
"http://localhost:9999/planet2-test1/")
"http://localhost:9999/pkg-test1/")
(shelly-case
"fails due to unrecognized scheme"
@ -57,64 +57,64 @@
(shelly-case
"remote/URL/http directory, non-existant file"
$ "raco pkg install http://localhost:9999/planet2-test1.rar" =exit> 1)
$ "raco pkg install http://localhost:9999/pkg-test1.rar" =exit> 1)
(shelly-case
"remote/URL/http directory, no manifest fail"
$ "raco pkg install http://localhost:9999/planet2-test1/planet2-test1/"
$ "raco pkg install http://localhost:9999/pkg-test1/pkg-test1/"
=exit> 1
=stderr> #rx"could not find MANIFEST")
(shelly-case
"remote/URL/http directory, bad manifest"
;; XXX why does this error now?
$ "raco pkg install http://localhost:9999/planet2-test1-manifest-error/" =exit> 1)
$ "raco pkg install http://localhost:9999/pkg-test1-manifest-error/" =exit> 1)
(shelly-case
"local directory fails when not there"
$ "raco pkg install test-pkgs/planet2-test1-not-there/" =exit> 1)
$ "raco pkg install test-pkgs/pkg-test1-not-there/" =exit> 1)
(shelly-install "local package (directory)" "test-pkgs/planet2-test1/")
(shelly-install "local package (directory)" "test-pkgs/pkg-test1/")
(with-fake-root
(shelly-case
"linking local directory"
(shelly-wind
$ "cp -r test-pkgs/planet2-test1 test-pkgs/planet2-test1-linking"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "raco pkg install --link test-pkgs/planet2-test1-linking"
$ "racket -e '(require planet2-test1)'"
$ "racket -e '(require planet2-test1/a)'" =exit> 1
$ "cp test-pkgs/planet2-test1-staging/a.rkt test-pkgs/planet2-test1-linking/planet2-test1/a.rkt"
$ "racket -e '(require planet2-test1/a)'"
$ "rm -f test-pkgs/planet2-test1-linking/planet2-test1/a.rkt"
$ "racket -e '(require planet2-test1/a)'" =exit> 1
$ "raco pkg remove planet2-test1-linking"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "cp -r test-pkgs/pkg-test1 test-pkgs/pkg-test1-linking"
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "raco pkg install --link test-pkgs/pkg-test1-linking"
$ "racket -e '(require pkg-test1)'"
$ "racket -e '(require pkg-test1/a)'" =exit> 1
$ "cp test-pkgs/pkg-test1-staging/a.rkt test-pkgs/pkg-test1-linking/pkg-test1/a.rkt"
$ "racket -e '(require pkg-test1/a)'"
$ "rm -f test-pkgs/pkg-test1-linking/pkg-test1/a.rkt"
$ "racket -e '(require pkg-test1/a)'" =exit> 1
$ "raco pkg remove pkg-test1-linking"
$ "racket -e '(require pkg-test1)'" =exit> 1
(finally
$ "rm -r test-pkgs/planet2-test1-linking"))))
$ "rm -r test-pkgs/pkg-test1-linking"))))
(with-fake-root
(shelly-case
"remote/name package, doesn't work when no package there"
$ "raco pkg config --set indexes http://localhost:9990"
$ "raco pkg install planet2-test1-not-there" =exit> 1))
$ "raco pkg install pkg-test1-not-there" =exit> 1))
(with-fake-root
(shelly-case
"remote/name package"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "raco pkg install planet2-test1"
$ "racket -e '(require planet2-test1)'"
$ "raco pkg remove planet2-test1"
$ "racket -e '(require planet2-test1)'" =exit> 1))
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "raco pkg install pkg-test1"
$ "racket -e '(require pkg-test1)'"
$ "raco pkg remove pkg-test1"
$ "racket -e '(require pkg-test1)'" =exit> 1))
(with-fake-root
(shelly-case
"remote/name package (multi)"
$ "raco pkg config --set indexes http://localhost:9990 http://localhost:9991"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "raco pkg install --deps search-auto planet2-test2-snd"
$ "racket -e '(require planet2-test1)'"
$ "racket -e '(require planet2-test2)'"
$ "raco pkg remove planet2-test2-snd planet2-test1"
$ "racket -e '(require planet2-test1)'" =exit> 1)))))
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "raco pkg install --deps search-auto pkg-test2-snd"
$ "racket -e '(require pkg-test1)'"
$ "racket -e '(require pkg-test2)'"
$ "raco pkg remove pkg-test2-snd pkg-test1"
$ "racket -e '(require pkg-test1)'" =exit> 1)))))

View File

@ -15,7 +15,7 @@
(define okay-to-respond?-sema (make-semaphore))
(thread
(λ ()
(serve/servlet (planet2-index/basic
(serve/servlet (pkg-index/basic
(λ (pkg-name)
(semaphore-wait okay-to-respond?-sema)
(define r (hash-ref *index-ht-1* pkg-name #f))
@ -32,11 +32,11 @@
(thread
(λ ()
(shelly-begin
$ "raco pkg install planet2-test1")))
$ "raco pkg install pkg-test1")))
(sleep 1)
;; Step 4: Start the installation request that will fail
$ "raco pkg install planet2-test1" =exit> 1
$ "raco pkg install pkg-test1" =exit> 1
;; Step 5: Free the other one
(semaphore-post okay-to-respond?-sema))))

View File

@ -1,6 +1,6 @@
#lang racket/base
(require rackunit
planet2/name
pkg/name
"util.rkt")
(define-syntax check-equal-values?

View File

@ -9,7 +9,7 @@
racket/runtime-path
racket/path
racket/list
planet2/util
pkg/util
"shelly.rkt"
"util.rkt")

View File

@ -8,9 +8,9 @@
"The installation directory is not touched until a package can definitely be installed AND one fail reverts the whole install"
;; Step 1. Try to install a package that will fail
$ "raco pkg install test-pkgs/planet2-test1.zip test-pkgs/planet2-test1.zip"
$ "raco pkg install test-pkgs/pkg-test1.zip test-pkgs/pkg-test1.zip"
=exit> 1
=stderr> #rx"packages conflict"
;; Step 2. Try to install safely
$ "raco pkg install test-pkgs/planet2-test1.zip")))
$ "raco pkg install test-pkgs/pkg-test1.zip")))

View File

@ -14,12 +14,12 @@
(with-fake-root
(shelly-case
"raco install/update uses raco setup, unless you turn it off (env)"
(putenv "PLT_PLANET2_NOSETUP" "1")
(putenv "PLT_PKG_NOSETUP" "1")
$ "raco pkg create --format plt test-pkgs/raco-pkg"
$ "raco raco-pkg" =exit> 1
$ "raco pkg install --no-setup test-pkgs/raco-pkg.plt"
$ "raco raco-pkg" =exit> 1
(putenv "PLT_PLANET2_NOSETUP" "")))
(putenv "PLT_PKG_NOSETUP" "")))
(with-fake-root
(shelly-case

View File

@ -0,0 +1,79 @@
#lang racket/base
(require rackunit
racket/system
unstable/debug
racket/match
(for-syntax racket/base
syntax/parse)
racket/file
racket/runtime-path
racket/path
racket/list
pkg/util
"shelly.rkt"
"util.rkt")
(pkg-tests
(shelly-begin
(initialize-indexes)
(shelly-case
"remove and show"
(shelly-case "remove of not installed package fails"
$ "raco pkg show -u" =stdout> " [none]\n"
$ "raco pkg remove not-there" =exit> 1)
(shelly-install "remove test"
"test-pkgs/pkg-test1.zip")
(shelly-install "remove of dep fails"
"test-pkgs/pkg-test1.zip"
$ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\npkg-test1 +[a-f0-9]+ +\\(file .+tests/pkg/test-pkgs/pkg-test1.zip\\)\n"
$ "raco pkg install test-pkgs/pkg-test2.zip"
$ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\npkg-test1 +[a-f0-9]+ +\\(file .+tests/pkg/test-pkgs/pkg-test1.zip\\)\npkg-test2 +[a-f0-9]+ +\\(file .+tests/pkg/test-pkgs/pkg-test2.zip\\)\n"
$ "raco pkg remove pkg-test1" =exit> 1 =stderr> #rx"pkg-test1 \\(required by: \\(pkg-test2\\)\\)"
$ "raco pkg remove pkg-test2"
$ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\npkg-test1 +[a-f0-9]+ +\\(file .+tests/pkg/test-pkgs/pkg-test1.zip\\)\n")
(shelly-install "remove of dep can be forced"
"test-pkgs/pkg-test1.zip"
$ "raco pkg install test-pkgs/pkg-test2.zip"
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 0
$ "raco pkg remove --force pkg-test1"
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 1
$ "raco pkg install test-pkgs/pkg-test1.zip"
$ "raco pkg remove pkg-test2")
(with-fake-root
(shelly-case
"remove two"
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install test-pkgs/pkg-test2.zip test-pkgs/pkg-test1.zip" =exit> 0
$ "racket -e '(require pkg-test1)'" =exit> 0
$ "racket -e '(require pkg-test2)'" =exit> 0
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 0
$ "raco pkg remove pkg-test1 pkg-test2"
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"autoremove"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "racket -e '(require pkg-test2)'" =exit> 1
$ "raco pkg install --deps search-auto test-pkgs/pkg-test2.zip" =exit> 0
$ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\npkg-test1\\* +[a-f0-9]+ +\\(pnr pkg-test1\\)\npkg-test2 +[a-f0-9]+ +\\(file .+tests/pkg/test-pkgs/pkg-test2.zip\\)\n"
$ "racket -e '(require pkg-test1)'" =exit> 0
$ "racket -e '(require pkg-test2)'" =exit> 0
$ "racket -e '(require pkg-test2/contains-dep)'" =exit> 0
$ "raco pkg remove pkg-test2"
$ "raco pkg show -u" =stdout> #rx"Package\\[\\*=auto\\] +Checksum +Source\npkg-test1\\* +[a-f0-9]+ +\\(pnr pkg-test1\\)\n"
$ "racket -e '(require pkg-test1)'" =exit> 0
$ "raco pkg remove --auto"
$ "raco pkg show -u" =stdout> " [none]\n"
$ "racket -e '(require pkg-test1)'" =exit> 1
$ "racket -e '(require pkg-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"different scope error"
$ "raco pkg install --shared test-pkgs/pkg-test1.zip" =exit> 0
$ "raco pkg remove pkg-test1" =exit> 1
=stderr> #rx"package installed in a different scope: shared"
$ "raco pkg remove --shared pkg-test1")))))

View File

@ -0,0 +1,100 @@
#lang racket/base
(require rackunit
racket/system
unstable/debug
racket/match
(for-syntax racket/base
syntax/parse)
racket/file
racket/runtime-path
racket/path
racket/list
pkg/util
"shelly.rkt"
"util.rkt")
(pkg-tests
(shelly-begin
(initialize-indexes)
(shelly-case
"update"
(shelly-install "local packages can't be updated (file)"
"test-pkgs/pkg-test1.zip"
$ "raco pkg update pkg-test1" =exit> 1)
(shelly-install "local packages can't be updated (directory)"
"test-pkgs/pkg-test1/"
$ "raco pkg update pkg-test1" =exit> 1)
(shelly-wind
$ "mkdir -p test-pkgs/update-test"
$ "cp -f test-pkgs/pkg-test1.zip test-pkgs/update-test/pkg-test1.zip"
$ "cp -f test-pkgs/pkg-test1.zip.CHECKSUM test-pkgs/update-test/pkg-test1.zip.CHECKSUM"
(shelly-install* "remote packages can be updated"
"http://localhost:9999/update-test/pkg-test1.zip"
"pkg-test1"
$ "raco pkg update pkg-test1" =exit> 0 =stdout> "No updates available\n"
$ "racket -e '(require pkg-test1/update)'" =exit> 42
$ "cp -f test-pkgs/pkg-test1-v2.zip test-pkgs/update-test/pkg-test1.zip"
$ "cp -f test-pkgs/pkg-test1-v2.zip.CHECKSUM test-pkgs/update-test/pkg-test1.zip.CHECKSUM"
$ "raco pkg update pkg-test1" =exit> 0
$ "racket -e '(require pkg-test1/update)'" =exit> 43)
(finally
$ "rm -f test-pkgs/update-test/pkg-test1.zip"
$ "rm -f test-pkgs/update-test/pkg-test1.zip.CHECKSUM"))
(shelly-wind
$ "mkdir -p test-pkgs/update-test"
$ "cp -f test-pkgs/pkg-test1.zip test-pkgs/update-test/pkg-test1.zip"
$ "cp -f test-pkgs/pkg-test1.zip.CHECKSUM test-pkgs/update-test/pkg-test1.zip.CHECKSUM"
(shelly-install* "update deps"
"http://localhost:9999/update-test/pkg-test1.zip"
"pkg-test1"
$ "raco pkg install test-pkgs/pkg-test2.zip"
$ "raco pkg update --update-deps pkg-test2" =exit> 0 =stdout> "No updates available\n"
$ "racket -e '(require pkg-test1/update)'" =exit> 42
$ "cp -f test-pkgs/pkg-test1-v2.zip test-pkgs/update-test/pkg-test1.zip"
$ "cp -f test-pkgs/pkg-test1-v2.zip.CHECKSUM test-pkgs/update-test/pkg-test1.zip.CHECKSUM"
$ "raco pkg update --update-deps pkg-test2" =exit> 0
$ "racket -e '(require pkg-test1/update)'" =exit> 43
$ "raco pkg remove pkg-test2")
(finally
$ "rm -f test-pkgs/update-test/pkg-test1.zip"
$ "rm -f test-pkgs/update-test/pkg-test1.zip.CHECKSUM"))
(shelly-wind
$ "mkdir -p test-pkgs/update-test"
$ "cp -f test-pkgs/pkg-test1.zip test-pkgs/update-test/pkg-test1.zip"
$ "cp -f test-pkgs/pkg-test1.zip.CHECKSUM test-pkgs/update-test/pkg-test1.zip.CHECKSUM"
(shelly-install* "update all is default"
"http://localhost:9999/update-test/pkg-test1.zip"
"pkg-test1"
$ "raco pkg install test-pkgs/pkg-test2.zip"
$ "raco pkg update -a" =exit> 0 =stdout> "No updates available\n"
$ "racket -e '(require pkg-test1/update)'" =exit> 42
$ "cp -f test-pkgs/pkg-test1-v2.zip test-pkgs/update-test/pkg-test1.zip"
$ "cp -f test-pkgs/pkg-test1-v2.zip.CHECKSUM test-pkgs/update-test/pkg-test1.zip.CHECKSUM"
$ "raco pkg update -a" =exit> 0
$ "racket -e '(require pkg-test1/update)'" =exit> 43
$ "raco pkg remove pkg-test2")
(finally
$ "rm -f test-pkgs/update-test/pkg-test1.zip"
$ "rm -f test-pkgs/update-test/pkg-test1.zip.CHECKSUM"))
(shelly-wind
$ "cp -f test-pkgs/pkg-test1.zip test-pkgs/pkg-test1.zip.bak"
$ "cp -f test-pkgs/pkg-test1.zip.CHECKSUM test-pkgs/pkg-test1.zip.CHECKSUM.bak"
(shelly-install**
"named remote packages can be update"
"pkg-test1" "pkg-test1"
($ "raco pkg config --set indexes http://localhost:9990")
($ "raco pkg update pkg-test1" =exit> 0 =stdout> "No updates available\n"
$ "racket -e '(require pkg-test1/update)'" =exit> 42
$ "cp test-pkgs/pkg-test1-v2.zip test-pkgs/pkg-test1.zip"
$ "cp test-pkgs/pkg-test1-v2.zip.CHECKSUM test-pkgs/pkg-test1.zip.CHECKSUM"
(initialize-indexes)
$ "raco pkg update pkg-test1" =exit> 0
$ "racket -e '(require pkg-test1/update)'" =exit> 43))
(finally
$ "cp -f test-pkgs/pkg-test1.zip.bak test-pkgs/pkg-test1.zip"
$ "cp -f test-pkgs/pkg-test1.zip.CHECKSUM.bak test-pkgs/pkg-test1.zip.CHECKSUM"
(initialize-indexes))))))

View File

@ -9,7 +9,7 @@
racket/runtime-path
racket/path
racket/list
planet2/util
pkg/util
"shelly.rkt"
"util.rkt")

View File

@ -9,7 +9,7 @@
racket/runtime-path
racket/path
racket/list
planet2/util
pkg/util
"shelly.rkt")
(define-runtime-path test-directory ".")
@ -61,8 +61,8 @@
(require "basic-index.rkt")
(define *index-ht-1* (make-hash))
(define *index-ht-2* (make-hash))
(define (start-planet2-server index-ht port)
(serve/servlet (planet2-index/basic
(define (start-pkg-server index-ht port)
(serve/servlet (pkg-index/basic
(λ (pkg-name)
(define r (hash-ref index-ht pkg-name #f))
(printf "[>server ~a] ~a = ~a\n" port pkg-name r)
@ -79,10 +79,10 @@
[else
(set! servers-on? #t)
(with-thread
(λ () (start-planet2-server *index-ht-1* 9990))
(λ () (start-pkg-server *index-ht-1* 9990))
(λ ()
(with-thread
(λ () (start-planet2-server *index-ht-2* 9991))
(λ () (start-pkg-server *index-ht-2* 9991))
(λ ()
(with-thread (λ () (start-file-server))
t)))))]))
@ -114,35 +114,35 @@
(shelly-case
(format "Test installation of ~a" message)
pre ...
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "racket -e '(require pkg-test1)'" =exit> 1
$ (format "raco pkg install ~a" pkg)
$ "racket -e '(require planet2-test1)'"
$ "racket -e '(require pkg-test1)'"
more ...
$ (format "raco pkg remove ~a" rm-pkg)
$ "racket -e '(require planet2-test1)'" =exit> 1)))
$ "racket -e '(require pkg-test1)'" =exit> 1)))
(define-syntax-rule (shelly-install* message pkg rm-pkg more ...)
(shelly-install** message pkg rm-pkg () (more ...)))
(define-syntax-rule (shelly-install message pkg more ...)
(shelly-install* message pkg "planet2-test1" more ...))
(shelly-install* message pkg "pkg-test1" more ...))
(define (initialize-indexes)
(hash-set! *index-ht-1* "planet2-test1"
(hash-set! *index-ht-1* "pkg-test1"
(hasheq 'checksum
(file->string "test-pkgs/planet2-test1.zip.CHECKSUM")
(file->string "test-pkgs/pkg-test1.zip.CHECKSUM")
'source
"http://localhost:9999/planet2-test1.zip"))
"http://localhost:9999/pkg-test1.zip"))
(hash-set! *index-ht-1* "planet2-test2"
(hash-set! *index-ht-1* "pkg-test2"
(hasheq 'checksum
(file->string "test-pkgs/planet2-test2.zip.CHECKSUM")
(file->string "test-pkgs/pkg-test2.zip.CHECKSUM")
'source
"http://localhost:9999/planet2-test2.zip"))
(hash-set! *index-ht-2* "planet2-test2-snd"
"http://localhost:9999/pkg-test2.zip"))
(hash-set! *index-ht-2* "pkg-test2-snd"
(hasheq 'checksum
(file->string "test-pkgs/planet2-test2.zip.CHECKSUM")
(file->string "test-pkgs/pkg-test2.zip.CHECKSUM")
'source
"http://localhost:9999/planet2-test2.zip")))
"http://localhost:9999/pkg-test2.zip")))
(provide (all-defined-out))

View File

@ -1,4 +0,0 @@
#lang racket/base
(printf "planet2-test1/main loaded\n")
(exit 0)

View File

@ -1,4 +0,0 @@
#lang racket/base
(printf "planet2-test1/main loaded\n")
(exit 0)

View File

@ -1,4 +0,0 @@
#lang racket/base
(printf "planet2-test1-staging/a loaded\n")
(exit 0)

View File

@ -1,4 +0,0 @@
#lang racket/base
(printf "planet2-test1/main loaded\n")
(exit 0)

View File

@ -1,4 +0,0 @@
#lang racket/base
(printf "planet2-test1/main loaded\n")
(exit 0)

View File

@ -1,3 +0,0 @@
#lang setup/infotab
(define deps (list "planet2-test1"))

View File

@ -1,3 +0,0 @@
#lang racket
(require planet2-test1)
(exit 0)

View File

@ -1,4 +0,0 @@
#lang racket/base
(printf "planet2-test2/main loaded\n")
(exit 0)

View File

@ -1,72 +0,0 @@
#lang racket/base
(require rackunit
racket/system
unstable/debug
racket/match
(for-syntax racket/base
syntax/parse)
racket/file
racket/runtime-path
racket/path
racket/list
planet2/util
"shelly.rkt"
"util.rkt")
(pkg-tests
(shelly-begin
(initialize-indexes)
(shelly-case
"checksums"
$ "test -f test-pkgs/planet2-test1.zip"
$ "cp -f test-pkgs/planet2-test1.zip test-pkgs/planet2-test1-bad-checksum.zip"
$ "test -f test-pkgs/planet2-test1-conflict.zip.CHECKSUM"
$ "cp -f test-pkgs/planet2-test1-conflict.zip.CHECKSUM test-pkgs/planet2-test1-bad-checksum.zip.CHECKSUM"
(with-fake-root
(shelly-case
"checksums are checked if present (local)"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "raco pkg install test-pkgs/planet2-test1-bad-checksum.zip" =exit> 1
$ "racket -e '(require planet2-test1)'" =exit> 1))
$ "cp -f test-pkgs/planet2-test1.zip test-pkgs/planet2-test1-no-checksum.zip"
(shelly-install* "checksums are ignored if missing by default (local)"
"test-pkgs/planet2-test1-no-checksum.zip"
"planet2-test1-no-checksum")
(with-fake-root
(shelly-case
"checksums are checked (remote, indexed)"
(hash-set!
*index-ht-1* "planet2-test1"
(hasheq 'checksum
(file->string "test-pkgs/planet2-test1-bad-checksum.zip.CHECKSUM")
'source
"http://localhost:9999/planet2-test1-bad-checksum.zip"))
$ "raco pkg config --set indexes http://localhost:9990 http://localhost:9991"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "raco pkg install planet2-test1" =exit> 1
$ "racket -e '(require planet2-test1)'" =exit> 1))
(with-fake-root
(shelly-case
"checksums are checked (remote)"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "raco pkg install http://localhost:9999/planet2-test1-bad-checksum.zip" =exit> 1
$ "racket -e '(require planet2-test1)'" =exit> 1))
(with-fake-root
(shelly-case
"checksums are required by default remotely (remote)"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "raco pkg install http://localhost:9999/planet2-test1-no-checksum.zip" =exit> 1
$ "racket -e '(require planet2-test1)'" =exit> 1))
(shelly-install* "but, bad checksums can be ignored (local)"
"--ignore-checksums test-pkgs/planet2-test1-bad-checksum.zip"
"planet2-test1-bad-checksum")
(shelly-install* "but, bad checksums can be ignored (remote)"
"--ignore-checksums http://localhost:9999/planet2-test1-bad-checksum.zip"
"planet2-test1-bad-checksum")
(shelly-install* "but, checksums can be missing if ignored (remote)"
"--ignore-checksums http://localhost:9999/planet2-test1-no-checksum.zip"
"planet2-test1-no-checksum"))))

View File

@ -1,65 +0,0 @@
#lang racket/base
(require rackunit
racket/system
unstable/debug
racket/match
(for-syntax racket/base
syntax/parse)
racket/file
racket/runtime-path
racket/path
racket/list
planet2/util
"shelly.rkt"
"util.rkt")
(pkg-tests
(shelly-begin
(initialize-indexes)
$ "raco pkg create --format plt test-pkgs/planet2-test1/"
$ "raco pkg create --format plt test-pkgs/planet2-test1-not-conflict/"
(shelly-install "only modules are considered for conflicts"
"test-pkgs/planet2-test1.plt"
$ "raco pkg install test-pkgs/planet2-test1-not-conflict.plt")
(shelly-case
"conflicts"
(shelly-install "double install fails" "test-pkgs/planet2-test1.zip"
$ "raco pkg install test-pkgs/planet2-test1.zip" =exit> 1)
(with-fake-root
(shelly-case
"conflicts with racket fail"
$ "test -f test-pkgs/racket-conflict.tgz"
$ "raco pkg install test-pkgs/racket-conflict.tgz" =exit> 1))
(shelly-install "conflicts are caught" "test-pkgs/planet2-test1.zip"
$ "test -f test-pkgs/planet2-test1-conflict.zip"
$ "raco pkg install test-pkgs/planet2-test1-conflict.zip" =exit> 1)
(shelly-install "conflicts are caught across sharing modes" "test-pkgs/planet2-test1.zip"
$ "test -f test-pkgs/planet2-test1-conflict.zip"
$ "raco pkg install -s test-pkgs/planet2-test1-conflict.zip" =exit> 1)
(shelly-wind
$ "cp -r test-pkgs/planet2-test1 test-pkgs/planet2-test1-linking"
(shelly-install* "conflicts are caught, even with a link"
"--link test-pkgs/planet2-test1-linking"
"planet2-test1-linking"
$ "test -f test-pkgs/planet2-test1-conflict.zip"
$ "raco pkg install test-pkgs/planet2-test1-conflict.zip" =exit> 1)
(finally
$ "rm -fr test-pkgs/planet2-test1-linking"))
(shelly-install "conflicts can be forced" "test-pkgs/planet2-test1.zip"
$ "racket -e '(require planet2-test1/conflict)'" =exit> 42
$ "raco pkg install --force test-pkgs/planet2-test1-conflict.zip" =exit> 0
$ "racket -e '(require planet2-test1/conflict)'" =exit> 42
$ "raco pkg remove planet2-test1-conflict")
(shelly-install "conflicts can be forced" "test-pkgs/planet2-test1-conflict.zip"
$ "racket -e '(require planet2-test1/conflict)'" =exit> 43
$ "raco pkg install --force test-pkgs/planet2-test1.zip" =exit> 0
$ "racket -e '(require planet2-test1/conflict)'" =exit> 43
$ "raco pkg remove planet2-test1-conflict"))))

View File

@ -1,119 +0,0 @@
#lang racket/base
(require rackunit
racket/system
unstable/debug
racket/match
(for-syntax racket/base
syntax/parse)
racket/file
racket/runtime-path
racket/path
racket/list
planet2/util
"shelly.rkt"
"util.rkt")
(pkg-tests
(shelly-begin
(initialize-indexes)
(shelly-case
"dependencies"
$ "test -f test-pkgs/planet2-test2.zip"
(with-fake-root
(shelly-case
"local - fail (default)"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install test-pkgs/planet2-test2.zip" =exit> 1
$ "raco pkg install test-pkgs/planet2-test1.zip" =exit> 0
$ "raco pkg install test-pkgs/planet2-test2.zip" =exit> 0
$ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove planet2-test2"
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - looks at all packages given on cmdline"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install test-pkgs/planet2-test2.zip test-pkgs/planet2-test1.zip" =exit> 0
$ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove planet2-test2"
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - fail"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install --deps fail test-pkgs/planet2-test2.zip" =exit> 1
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - force"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install --deps force test-pkgs/planet2-test2.zip"
$ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 1
$ "raco pkg remove planet2-test2"
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - search-ask [y]"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install --deps search-ask test-pkgs/planet2-test2.zip" =exit> 0 <input= "y\n"
$ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove planet2-test2"
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - search-ask []"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install --deps search-ask test-pkgs/planet2-test2.zip" =exit> 0 <input= "\n"
$ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove planet2-test2"
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - search-ask [n]"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install --deps search-ask test-pkgs/planet2-test2.zip" =exit> 1 <input= "n\n"
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"local - search-auto"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install --deps search-auto test-pkgs/planet2-test2.zip" =exit> 0
$ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove planet2-test2"
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"remote - search-ask (default) [y]"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install planet2-test2" =exit> 0 <input= "y\n"
$ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove planet2-test2"
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"remote - fail"
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install --deps fail planet2-test2" =exit> 1
$ "racket -e '(require planet2-test2)'" =exit> 1)))))

View File

@ -1,79 +0,0 @@
#lang racket/base
(require rackunit
racket/system
unstable/debug
racket/match
(for-syntax racket/base
syntax/parse)
racket/file
racket/runtime-path
racket/path
racket/list
planet2/util
"shelly.rkt"
"util.rkt")
(pkg-tests
(shelly-begin
(initialize-indexes)
(shelly-case
"remove and show"
(shelly-case "remove of not installed package fails"
$ "raco pkg show -u" =stdout> " [none]\n"
$ "raco pkg remove not-there" =exit> 1)
(shelly-install "remove test"
"test-pkgs/planet2-test1.zip")
(shelly-install "remove of dep fails"
"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 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 remove planet2-test1" =exit> 1 =stderr> #rx"planet2-test1 \\(required by: \\(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")
(shelly-install "remove of dep can be forced"
"test-pkgs/planet2-test1.zip"
$ "raco pkg install test-pkgs/planet2-test2.zip"
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove --force planet2-test1"
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 1
$ "raco pkg install test-pkgs/planet2-test1.zip"
$ "raco pkg remove planet2-test2")
(with-fake-root
(shelly-case
"remove two"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "raco pkg install test-pkgs/planet2-test2.zip test-pkgs/planet2-test1.zip" =exit> 0
$ "racket -e '(require planet2-test1)'" =exit> 0
$ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove planet2-test1 planet2-test2"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"autoremove"
$ "raco pkg config --set indexes http://localhost:9990"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "racket -e '(require planet2-test2)'" =exit> 1
$ "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"
$ "racket -e '(require planet2-test1)'" =exit> 0
$ "racket -e '(require planet2-test2)'" =exit> 0
$ "racket -e '(require planet2-test2/contains-dep)'" =exit> 0
$ "raco pkg remove planet2-test2"
$ "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
$ "raco pkg remove --auto"
$ "raco pkg show -u" =stdout> " [none]\n"
$ "racket -e '(require planet2-test1)'" =exit> 1
$ "racket -e '(require planet2-test2)'" =exit> 1))
(with-fake-root
(shelly-case
"different scope error"
$ "raco pkg install --shared test-pkgs/planet2-test1.zip" =exit> 0
$ "raco pkg remove planet2-test1" =exit> 1
=stderr> #rx"package installed in a different scope: shared"
$ "raco pkg remove --shared planet2-test1")))))

Some files were not shown because too many files have changed in this diff Show More