Commit Graph

490 Commits

Author SHA1 Message Date
Eli Barzilay
6aec40ebfb 2013 -> 2014
original commit: c61a549840
2014-01-21 15:02:21 -05:00
Eric Dobson
c6e34673ee Make parallel compile not call exit.
Closes PR 13373.

original commit: f0ebfee9ac
2014-01-13 09:34:40 -08:00
Vincent St-Amour
02cafbccb6 Fix raco test on relative paths.
original commit: 3a025efcce
2014-01-06 18:00:29 -05:00
Matthew Flatt
a536f2adeb copy responsible info to "info.rkt" files
It seems more ideal that `pkg-authors` would be specific enough
responsibility, but our existing allocations of responsibility are
more fine-grained, and we keep them for now.

original commit: 19f8f30f63
2014-01-01 07:27:15 -07:00
Matthew Flatt
16509fa8e8 raco test: responsible-party and varying-party logging, lock names
The responsible party for a test defaults to the enclosing package's
author.

Also, add support for a `test-timeouts` fallback in "info.rkt".

original commit: 59cbefe47a
2014-01-01 07:27:15 -07:00
Matthew Flatt
8453e44798 raco test: add -m/--modules flag, exit code 2 for timeout
Treats file arguments the same as a file in a directory, package,
or collection.

If any test fails due to a timeout, the exit code is 2 (instead
of 1 for only non-timeout failures or 0 for only success).

original commit: bce27aa387
2013-12-30 17:32:06 -07:00
Matthew Flatt
b29b18178b raco test: fix error summary in direct mode
Also, fix a doc typo

original commit: 58d425c00c
2013-12-30 12:15:18 -07:00
Matthew Flatt
51e419cfc2 raco test: run ".scrbl" files by default; check cmdline args for all files
To test a file that ends in".ss", ".scm", etc., add a
`test-command-line-arguments` entry to an "info.rkt" file.

original commit: e44b15c032
2013-12-30 12:15:18 -07:00
Matthew Flatt
74702c1f94 move "props" test configs to test submodules or "info.rkt" files
The "props" file still has

 * ".rkt" `drdr:timeout` entries, needed until DrDr uses submodules and
   "info.rkt" files; although timeout information has been put in
   submodules for `raco test`, DrDr uses `raco test` in a way that does not
   enable timeouts, so that DrDr can implement timeouts itself (and record
   when a test times out)

 * ".rkt" `drdr:random #t` entries; not sure what to do with these, yet

 * ".rkt" `responsible` entries; not sure what to do with these, yet

 * ".rktl" `drdr:command-line #f` entries, needed until all ".rktl" files
   are disabled in DrDr

The following files were previously disabled for DrDr testing, but were
intentionally left as enabled with these changes:

pkgs/racket-pkgs/racket-test/tests/pkg/shelly.rkt
pkgs/racket-pkgs/racket-test/tests/pkg/util.rkt
pkgs/racket-pkgs/racket-test/tests/pkg/info.rkt
pkgs/racket-pkgs/racket-test/tests/pkg/basic-index.rkt
pkgs/racket-pkgs/racket-test/tests/racket/link.rkt
pkgs/racket-pkgs/racket-test/tests/racket/embed-in-c.rkt
pkgs/racket-pkgs/racket-doc/ffi/examples/use-c-printf.rkt
pkgs/racket-pkgs/racket-doc/ffi/examples/c-printf.rkt
pkgs/parser-tools-pkgs/parser-tools-lib/parser-tools/private-lex/error-tests.rkt
pkgs/mysterx/mysterx.rkt
pkgs/mysterx/main.rkt
pkgs/games/gobblet/test-model.rkt
pkgs/games/gobblet/test-explore.rkt
pkgs/games/gobblet/robot.rkt
pkgs/games/gobblet/check.rkt
pkgs/db-pkgs/db-lib/db/private/odbc/main.rkt
pkgs/db-pkgs/db-lib/db/private/odbc/ffi.rkt
pkgs/db-pkgs/db-lib/db/private/odbc/dbsystem.rkt
pkgs/db-pkgs/db-lib/db/private/odbc/connection.rkt
pkgs/distributed-places-pkgs/distributed-places-lib/racket/place/distributed/examples/hello-world.rkt
pkgs/redex-pkgs/redex-lib/redex/private/compiler/match.rkt
pkgs/redex-pkgs/redex-lib/redex/private/compiler/match.rkt
pkgs/htdp-pkgs/htdp-test/2htdp/utest/balls.rkt
pkgs/gui-pkgs/gui-test/framework/tests/test-suite-utils.rkt
pkgs/games/paint-by-numbers/raw-problems/size-calculation.rkt
pkgs/db-pkgs/db-lib/db/odbc.rkt
pkgs/compatibility-pkgs/compatibility-lib/mzlib/traceld.rkt
pkgs/cext-lib/dynext/private/stdio.rkt
pkgs/db-pkgs/db-lib/db/odbc.rkt
racket/collects/ffi/unsafe/objc.rkt
racket/collects/ffi/objc.rkt
pkgs/racket-pkgs/racket-test/tests/pkg/tests-db.rkt
pkgs/racket-pkgs/racket-test/tests/pkg/test-docs.rkt
pkgs/racket-pkgs/racket-test/tests/pkg/test-catalogs-api.rkt
pkgs/gui-pkg-manager-pkgs/gui-pkg-manager-lib/pkg/gui/main.rkt
pkgs/redex-pkgs/redex-lib/redex/private/compiler/redextomatrix.rkt
pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-special-env.rkt
pkgs/planet-pkgs/planet-test/tests/planet/version.rkt
pkgs/planet-pkgs/planet-test/tests/planet/test-docs-complete.rkt
pkgs/planet-pkgs/planet-test/tests/planet/lang.rkt
pkgs/planet-pkgs/planet-test/tests/planet/docs-build.rkt
pkgs/drracket-pkgs/drracket-test/tests/drracket/follow-log.rkt
pkgs/drracket-pkgs/drracket/drracket/private/dock-icon.rkt
pkgs/drracket-pkgs/drracket-test/tests/drracket/tool-lib-and-sig.rkt

original commit: e226ad66c5
2013-12-30 12:15:18 -07:00
Matthew Flatt
ba1038998f raco test: use executable-yield-handler before exit
original commit: 4a19403288
2013-12-30 12:13:57 -07:00
Matthew Flatt
65ece182a7 raco test: add test-command-line-arguments field for "info.rkt"
Also, make `--drdr` timeout 90 seconds instead of 600.

original commit: f830768c37
2013-12-30 12:13:57 -07:00
Matthew Flatt
7ff04c1dfa raco test: fix process command-line handling and adjust timeout handling
original commit: bbb0c5f6e9
2013-12-29 09:40:22 -06:00
Matthew Flatt
11c41cb89b raco test: add "info.rkt" field test-omit-paths
Using an "info.rkt" field is a fallback for when a submodule
won't do (e.g., because the module doesn't normally compile).

original commit: 81a03d59de
2013-12-29 08:35:21 -06:00
Matthew Flatt
48f4bed9aa raco test: default mode more like before
By default, a single file runs directly, instead of in a subprocess,
and stderr is not checked. That's both more in line with the old
behavior and more suitable for DrDr's use in running an individual
test.

Also, get rid of the `drdr` submodule, which doesn't look like a good
idea anymore.

original commit: 3b3c3726ba
2013-12-29 06:40:15 -06:00
Matthew Flatt
92481e65d3 raco test: add DrDr-like modes
Run tests in separate processes, support tests in
parallel, flag tests with non-zero exit codes or
stderr output as failing, add timeout support, etc.

Use the `--drdr` flag as a shorthand for DrDr-like flags.
The `--drdr` flag causes `raco test` to check for a `drdr`
submodule, then a `test` submodule, then run the module
directly. (The idea is that DrDr will eventualy try the
same sequence.) A test can declare an alternate timeout
through a `config` sub-submodule (and the idea is that
"props" will go away).

original commit: 0db19423b4
2013-12-28 19:55:31 -06:00
Matthew Flatt
9101bccd5b raco exe: suppress expected stderr output
Merge to v6.0

original commit: fd2da02029
2013-11-30 08:08:22 -07:00
Matthew Flatt
88c3578e52 raco exe: add --config-path option, default to "etc"
Make executables created by `raco exe` not refer to the original
configuration directory by default, but add an option for setting
the directory.

For Unix ELF executables, fix `raco exe` to set/preserve the
configuration directory.

Merge to v6.0

original commit: 33b7d49b2e
2013-11-29 13:13:25 -07:00
Jay McCarthy
b94fd95bbf Continue fixing PR14175 by looking at all links files
original commit: 8e2622857f
2013-11-19 14:20:59 -07:00
Jay McCarthy
f35ba28b1f Fix PR14175
original commit: 80ba30eaab
2013-11-19 13:22:48 -07:00
Matthew Flatt
758ee94a41 "racket-test" clean-up
Move a few tests, and clear out a lot of junk.

original commit: 29a0c44c98
2013-11-09 08:30:37 -07:00
Matthew Flatt
15430e3fce move raco exe tests to the compiler-test package
Also, enable the `raco exe` tests for DrDr

original commit: 0bc89dc641
2013-11-08 18:13:43 -07:00
Matthew Flatt
d0d458e1a3 raco exe: fix problem with dynamically resolved relative submodules
original commit: 846c247aa3
2013-11-08 18:13:43 -07:00
Matthew Flatt
dfa0381b92 raco expand & decompile: add --columns option
original commit: 9b04d516ba
2013-11-07 13:52:38 -07:00
Matthew Flatt
afe7f46d35 move some test & doc collections out of "racket-" pkgs to new pkgs
original commit: 1920ac59ab
2013-10-15 17:50:32 -06:00
Jay McCarthy
7ce8c7c434 Racket now works, but was broken before
original commit: 11b784236e
2013-10-15 10:38:26 -06:00
Jay McCarthy
0a855e73cf Base now works, but was broken before
original commit: e6e95f1029
2013-10-15 10:38:26 -06:00
Matthew Flatt
6ebcb502de fix .zo marshal of a syntax object containing a hash table in a list
Also, fix `zo-parse` unmarshaling of syntax-object hash tables.

Closes PR 14087

original commit: 70b6f6464f
2013-10-09 07:09:36 -06:00
Sam Tobin-Hochstadt
007d3fe205 Remove units in parts of compiler, dynext, setup and create the cext-lib package.
`cext-lib` contains much of the contents of `dynext`, which
is no longer very widely used.

Also moved the implementation of the `mzc` executable
to a more appropriate package.

Also, used `lazy-require` consistently for dynamically
loading implementations.

original commit: 9f2755116d
2013-09-26 14:53:51 -04:00
Matthew Flatt
b3553a342f move stray rackunit module
original commit: a30d80a9c4
2013-09-02 10:10:31 -06:00
Matthew Flatt
181c8ea6df include license with each package
original commit: ff9da94cfb
2013-08-31 06:25:31 -06:00
Carl Eastlund
0203850c3c Changed set? to generic-set?.
original commit: 6665f42e33
2013-08-28 00:10:18 -04:00
Matthew Flatt
b51a206bf5 auto-fix dependencies for "scheme-lib" and "srfi-lite-lib"
original commit: c709af5bf4
2013-08-27 15:20:58 -06:00
Matthew Flatt
ae6ce5f2fa move "scheme" collection to a "scheme-lib" package
Also, move remaining "srfi" libraries to "srfi-lite-lib".

In principle, "base" should depend on "scheme-lib" and
"srfi-lite-lib", and a new "base2" package would represent the new,
smaller base. But I don't think the window has yet closed on
determining the initial "base" package.

The "srfi" libraries moved to "srfi-lite-lib", instead of "srfi-lib",
to avoid creating many extra dependencies on "srfi-lib" and all of its
dependencies. The SRFIs in "srfi-lite-lib" depend only on "base",
and they are used relatively widely.

original commit: d175c3949c
2013-08-27 15:19:24 -06:00
Matthew Flatt
be324be798 Add ".desktop" file support
A launcher can have a ".desktop" file (found like other files: as the
same name as the main launcher file, but with a ".desktop" suffix),
where the "Exec" and "Icon" fields are added automatically. A ".png"
or ".ico" file can be supplied for the icon (where the ".ico" file
is already used for Windows launchers).

Closes PR 13953

Fix various problems with Unix-style install from an installer.

Also, add an ugly icon for the Racket Package Manager, with the hope
that it will provoke someone to create a nicer one.

original commit: 58c0074a71
2013-08-10 12:52:17 -06:00
Matthew Flatt
377b06a352 adjust `compiler/zo-marshal' for bytecode-file change
Forgot to fix as part of b8db5aacb3.

original commit: 3b76628eb1
2013-08-07 08:41:43 -07:00
Matthew Flatt
3e1e9a6357 fix bytecode-format bug
The range of values used to represent "improper lists"
of length 36 to 65 overlapped with the range of values
used to represent other things.

This bug is the new chapion of the "how did we not hit that
earlier?" category. The bug was introduced around v300, at
the latest.

original commit: b8db5aacb3
2013-08-07 08:37:50 -07:00
Matthew Flatt
3a67e505ba fix some tests that need to find `racket'
original commit: 4492cf2555
2013-08-02 14:22:28 -06:00
Matthew Flatt
b7f32c3cf3 add pkg-desc' and pkg-authors' to each package
This information will be used to construct a catalog from the
package directories.

original commit: 057bfc2ea1
2013-07-31 07:06:24 -06:00
Matthew Flatt
05a7459d8e fix some tests
original commit: 1708fb43b4
2013-07-21 19:55:10 -06:00
Matthew Flatt
7ef3b0c72a add "share", move "collects" back out of "lib", move "pkgs"
The "share" directory holds platform-independent files, while
"lib" holds platform-specific files.

In principle, the "collects" directory belongs in "share",
as does "doc". Those directories are put into "share"
by a Unix-style install, but left at top level for an
in-place install.

Packages in installation scope are put in "share" instead
of "lib", and the top-level Makefile puts development links
in "share/devel-pkgs".

The `configure' script now supports `--docdir' and `--collectsdir'.

Changed the version to 5.90.0.1.

original commit: 67a9889ef7
2013-07-19 11:52:02 -06:00
Matthew Flatt
47148430d2 enable compilation of tests formerly in "racket-test"; reorganize
A package like "gui" does not depend on a package like "gui-test",
which means that you have to specifically ask for a test package if
you want the tests. A new "main-distribution-test" package
aggregates the tests for packages that are in "main-distribution".

The "plt-services" package, meanwhile, depends on the
"main-distribution-test" package, which means that all tests are
compiled by default for an in-place build.

original commit: d50d0f8bca
2013-07-16 18:45:05 -06:00
Sam Tobin-Hochstadt
5a758b6ecc Use #lang info instead of #lang setup/infotab.
original commit: 5a7ca7ebb5
2013-07-04 16:46:32 -04:00
Matthew Flatt
b63d902657 make packages single-collection by default
The `single-collection' "info.rkt" definition is no longer supported.

original commit: aabbfdc3d5
2013-07-03 19:49:06 -06:00
Sam Tobin-Hochstadt
4ebcdce773 Move most of the compiler collection to compiler-lib.
original commit: 3ad009070e
2013-07-01 12:08:42 -04:00
Sam Tobin-Hochstadt
1c93e0f023 Remove most uses of mzscheme in the core.
Remaining are:
 - parts of unit200 that Matthew plans to remove.
 - the `mzscheme` implementation itself.

The implementation of `mzscheme` has been moved
to the `mzscheme` collection (from the `racket` and
`scheme` collections). The `scheme/mzscheme`
language, which was undocumented, has been removed.

This is slightly backwards-incompatible, because
the `xform` handling of precompiled headers now
evaluates code in a `racket/base`-like namespace,
instead of in a `mzscheme`-like namespace.

original commit: d54c1e4e49
2013-07-01 12:08:42 -04:00
Matthew Flatt
3ef406b5c6 auto-fix dependencies in "pkgs"
Left one dependency broken: "drracket" currently depends on "htdp" for
a test. That needs to be fixed by removing the dependency (moving the
test to "htdp?), instead of changing the declared dependencies.

original commit: 51290fd2a9
2013-06-29 06:51:19 -06:00
Matthew Flatt
04efdd405d raco setup: add package-dependency checking
The new `--no-pkg-deps' or `-K' flag skips the check.

If a module in package X refers to a module in package Y, check that
package X declares a dependency on Y.  Note that package X must
specifically depend on Y --- not another package that at the moment
happens to declare a dependency on Y.

A new "base" package represents the content of the core (so that, if
the core shrinks, a new "base2" can represent the smaller core).
Most every package now needs a dependency on "base".

Sometimes, it makes sense for X to access Y when X declares a
dependency on Z, because Z promises to always depend on Y.  For
example, the "gui" package is defined to combne "gui-lib" and
"gui-doc", so it's appropriate to use the modules of "gui-lib" when
depending on "gui". A package's "info.rkt" can therefore define
`implies' as a subset of the dependencies listed in `deps', which
means that depending on the package implies a dependency on the listed
packages. (It's even possible for packages to mutually imply each
other, which is why the dependency checking code ends up with a
union-find.)

Dependency checking distinguishes between run-time dependencies and
build-time dependencies: anything listed in a ".dep" file is a build
dependency, at least. To imply a run-time dependency, a reference must
appear in a bytecode file's imports, and not in a subdirectory or
submodule that would be pruned for a binary package.

The `--fix-pkg-deps' flag attempts to automatically fix package
dependency declarations (i.e., modify a package's "info.rkt" file)
based on inferred dependencies.

original commit: 04d5d9bd55
2013-06-29 06:51:18 -06:00
Sam Tobin-Hochstadt
986ec9297b Move much of mzlib to compatibility-lib package.
original commit: 7917f32d0c
2013-06-27 13:53:52 -04:00
Matthew Flatt
f2627708e9 a step toward single-collection packages as default
A package's "info.rkt" file should define `collection' as a
string to name a single-collection package's collection, or as
the symbol 'multi to declare the package as multi-collection.
If `collection' is 'same-as-pkg, then the package name is used
as the collection name.

The default for `collection' is 'multi for now, but the intent
is to change the default to 'same-as-pkg after a conversion
period. Also, support for a `single-collection' definition remains
in place, but it wil be removed.

original commit: c738a6aa3e
2013-06-25 22:46:23 +02:00
Matthew Flatt
e828d319f8 reorganize into core plus packages
The "racket" directory contains a pared-back version of the
repository, roughly.

The "pkgs" directory everything else in the repository, but
organized into packages.

original commit: b2ebb0a28b
2013-06-19 09:01:37 -06:00