Removing the planet2 name from the code
This commit is contained in:
parent
431efb40d1
commit
9f337c632a
|
@ -4,7 +4,7 @@
|
|||
racket/path
|
||||
raco/command-name
|
||||
rackunit/log
|
||||
planet2/lib)
|
||||
pkg/lib)
|
||||
|
||||
(define submodules '())
|
||||
(define run-anyways? #t)
|
||||
|
|
|
@ -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@
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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/")
|
||||
|
|
|
@ -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?))])
|
|
@ -6,7 +6,7 @@
|
|||
racket/port
|
||||
net/url
|
||||
file/md5
|
||||
planet2/util)
|
||||
pkg/util)
|
||||
|
||||
(define (gravatar-hash email)
|
||||
(bytes->string/utf-8
|
|
@ -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)
|
|
@ -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
|
|
@ -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/
|
|
@ -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
6
collects/pkg/info.rkt
Normal 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)))
|
|
@ -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
|
|
@ -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
|
|
@ -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[
|
|
@ -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)))
|
|
@ -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.
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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?))])
|
|
@ -0,0 +1,4 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "pkg-test1/main loaded\n")
|
||||
(exit 0)
|
|
@ -0,0 +1,4 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "pkg-test1/main loaded\n")
|
||||
(exit 0)
|
4
collects/tests/pkg/test-pkgs/pkg-test1-staging/a.rkt
Normal file
4
collects/tests/pkg/test-pkgs/pkg-test1-staging/a.rkt
Normal file
|
@ -0,0 +1,4 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "pkg-test1-staging/a loaded\n")
|
||||
(exit 0)
|
|
@ -0,0 +1,4 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "pkg-test1/main loaded\n")
|
||||
(exit 0)
|
|
@ -0,0 +1,4 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "pkg-test1/main loaded\n")
|
||||
(exit 0)
|
3
collects/tests/pkg/test-pkgs/pkg-test2/info.rkt
Normal file
3
collects/tests/pkg/test-pkgs/pkg-test2/info.rkt
Normal file
|
@ -0,0 +1,3 @@
|
|||
#lang setup/infotab
|
||||
|
||||
(define deps (list "pkg-test1"))
|
|
@ -0,0 +1,3 @@
|
|||
#lang racket
|
||||
(require pkg-test1)
|
||||
(exit 0)
|
|
@ -0,0 +1,4 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "pkg-test2/main loaded\n")
|
||||
(exit 0)
|
|
@ -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")
|
|
@ -9,7 +9,7 @@
|
|||
racket/runtime-path
|
||||
racket/path
|
||||
racket/list
|
||||
planet2/util
|
||||
pkg/util
|
||||
"shelly.rkt"
|
||||
"util.rkt")
|
||||
|
72
collects/tests/pkg/tests-checksums.rkt
Normal file
72
collects/tests/pkg/tests-checksums.rkt
Normal 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"))))
|
65
collects/tests/pkg/tests-conflicts.rkt
Normal file
65
collects/tests/pkg/tests-conflicts.rkt
Normal 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"))))
|
|
@ -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")))
|
119
collects/tests/pkg/tests-deps.rkt
Normal file
119
collects/tests/pkg/tests-deps.rkt
Normal 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)))))
|
|
@ -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)))))
|
|
@ -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))))
|
|
@ -1,6 +1,6 @@
|
|||
#lang racket/base
|
||||
(require rackunit
|
||||
planet2/name
|
||||
pkg/name
|
||||
"util.rkt")
|
||||
|
||||
(define-syntax check-equal-values?
|
|
@ -9,7 +9,7 @@
|
|||
racket/runtime-path
|
||||
racket/path
|
||||
racket/list
|
||||
planet2/util
|
||||
pkg/util
|
||||
"shelly.rkt"
|
||||
"util.rkt")
|
||||
|
|
@ -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")))
|
|
@ -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
|
79
collects/tests/pkg/tests-remove.rkt
Normal file
79
collects/tests/pkg/tests-remove.rkt
Normal 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")))))
|
100
collects/tests/pkg/tests-update.rkt
Normal file
100
collects/tests/pkg/tests-update.rkt
Normal 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))))))
|
|
@ -9,7 +9,7 @@
|
|||
racket/runtime-path
|
||||
racket/path
|
||||
racket/list
|
||||
planet2/util
|
||||
pkg/util
|
||||
"shelly.rkt"
|
||||
"util.rkt")
|
||||
|
|
@ -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))
|
|
@ -1,4 +0,0 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "planet2-test1/main loaded\n")
|
||||
(exit 0)
|
|
@ -1,4 +0,0 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "planet2-test1/main loaded\n")
|
||||
(exit 0)
|
|
@ -1,4 +0,0 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "planet2-test1-staging/a loaded\n")
|
||||
(exit 0)
|
|
@ -1,4 +0,0 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "planet2-test1/main loaded\n")
|
||||
(exit 0)
|
|
@ -1,4 +0,0 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "planet2-test1/main loaded\n")
|
||||
(exit 0)
|
|
@ -1,3 +0,0 @@
|
|||
#lang setup/infotab
|
||||
|
||||
(define deps (list "planet2-test1"))
|
|
@ -1,3 +0,0 @@
|
|||
#lang racket
|
||||
(require planet2-test1)
|
||||
(exit 0)
|
|
@ -1,4 +0,0 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "planet2-test2/main loaded\n")
|
||||
(exit 0)
|
|
@ -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"))))
|
|
@ -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"))))
|
|
@ -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)))))
|
|
@ -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
Loading…
Reference in New Issue
Block a user