Skip to content

Commit 8e69fa9

Browse files
dwijnandlrytz
authored andcommitted
Clarify which compiler/library testing uses
1 parent 392a100 commit 8e69fa9

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

CONTRIBUTING.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@ root> junit/testQuick
7979

8080
It might take a few minutes the first time you run `junit/testQuick`, but from the second time onwards
8181
sbt will only run the tests that is affected by the code change since the last run.
82-
See `test/junit/` for the examples of JUnit tests.
82+
See `test/junit/` for examples of JUnit tests.
83+
84+
JUnit tests will be compiled with the `starr` compiler, and run against the `quick` library. Some JUnit tests (search for `BytecodeTest`) invoke the compiler programmatically and test its behavior or output, these tests use the `quick` compiler.
85+
86+
`starr` is the Scala release used to build the compiler and library, usually the last release. `quick` is the result of that compilation. See also ["Build Setup"](https://github.com/scala/scala#build-setup) in the README.
8387

8488
#### ScalaCheck
8589

@@ -147,8 +151,11 @@ See `--help` for more info:
147151
root> partest --help
148152
```
149153

150-
If you're fixing a bug in the compiler, you would typically start with Partest;
151-
If you're fixing a bug or implementing new features in the library, consider using JUnit and/or ScalaCheck.
154+
Partests are compiled by the `quick` compiler (and `run` partests executed with the `quick` library),
155+
and therefore:
156+
157+
* if you're working in the compiler, you must write a partest, or a `BytecodeTest` JUnit test which invokes the compiler programmatically; however
158+
* if you're working in the library, a JUnit and/or ScalaCheck is better.
152159

153160
#### exploring with REPL
154161

0 commit comments

Comments
 (0)