Skip to content

Merge 2.12.x to 2.13.x [ci: last-only]#6451

Merged
lrytz merged 17 commits intoscala:2.13.xfrom
retronym:merge/2.12.x-to-2.13.x-20180321
Mar 21, 2018
Merged

Merge 2.12.x to 2.13.x [ci: last-only]#6451
lrytz merged 17 commits intoscala:2.13.xfrom
retronym:merge/2.12.x-to-2.13.x-20180321

Conversation

@retronym
Copy link
Copy Markdown
Member

Partest speedups the motivation.

% git co -b merge/2.12.x-to-2.13.x-20180321
Switched to a new branch 'merge/2.12.x-to-2.13.x-20180321'

% export PS1="
→ % "

% export MB=$(git merge-base origin/2.13.x origin/2.12.x)

% git log --graph --oneline --decorate $MB..origin..2.12.x | tail -r
fatal: ambiguous argument '005dcf91ab6b86bae10f2cc2619642972e0db5bc..origin..2.12.x': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

% git log --graph --oneline --decorate $MB..origin/2.12.x | tail -r
* 6b3146bb98 (retronym/topic/scalacheck-classpath, origin/pr/6440) Avoid using STARR on the scalacheck classpath
* 0f7f359f5f Merge pull request #6440 from retronym/topic/scalacheck-classpath
| * e00d10652b Support forthcominng unforked mode of partest
| * 6f21f2a4fe Remove resource hungry tests
| * 21ada8801f Update to partest 1.1.7
| * 94030c28d5 [backport] Elide prefixes in printed types uniformly in runtime reflection
| * 3d78c35c4d Use new mode of partest to execute in process
| * f6859f28bb Limit exposure to ConcurrentModificationException when sys props are replaced or mutated
| * 7adc0d0cdb [backport] Add a custom test listener for usable JUnit XML reports
| * 8c5930ac5d Update custom test listener to avoid CCE after framework internal error
| * 77d866620b (retronym/topic/partest-apace-2.12.x, origin/pr/6413, topic/partest-apace-2.12.x) Windows friendliness for classpath construction
|\
*   df4a883c5e (origin/2.12.x) Merge pull request #6413 from retronym/topic/partest-apace-2.12.x

% git merge 21ada8801f
Auto-merging versions.properties
CONFLICT (content): Merge conflict in versions.properties
Removing test/files/run/t6969.scala
Removing test/files/run/t6969.check
Removing test/files/run/t6853.scala
Removing test/files/presentation/memory-leaks/MemoryLeaksTest.scala
Removing test/files/presentation/memory-leaks.check
Removing test/files/pos/t9181.scala
Removing test/files/pos/t9181.flags
Removing test/files/pos/t10387.scala
Removing test/files/pos/t10387.flags
Removing test/files/neg/patmatexhaust-huge.scala
Removing test/files/neg/patmatexhaust-huge.flags
Removing test/files/neg/patmatexhaust-huge.check
Auto-merging src/partest-extras/scala/tools/partest/ReplTest.scala
Automatic merge failed; fix conflicts and then commit the result.

% git commit
[merge/2.12.x-to-2.13.x-20180321 083f454868] Merge commit '21ada8801f' into merge/2.12.x-to-2.13.x-20180321

% git merge -sours 94030c28d5
Merge made by the 'ours' strategy.

% git merge f6859f28bb
Auto-merging src/compiler/scala/tools/util/PathResolver.scala
CONFLICT (content): Merge conflict in src/compiler/scala/tools/util/PathResolver.scala
Auto-merging build.sbt
Automatic merge failed; fix conflicts and then commit the result.

% git status
On branch merge/2.12.x-to-2.13.x-20180321
All conflicts fixed but you are still merging.

Changes to be committed:
	modified:   build.sbt
	modified:   src/compiler/scala/tools/util/PathResolver.scala

% git commit
[merge/2.12.x-to-2.13.x-20180321 10aeda8760] Merge commit 'f6859f28bb' into merge/2.12.x-to-2.13.x-20180321

% git merge -sours 7adc0d0cdb
Merge made by the 'ours' strategy.

% git merge df4a883c5e
Auto-merging src/partest-extras/scala/tools/partest/ReplTest.scala
Auto-merging build.sbt
CONFLICT (content): Merge conflict in build.sbt
Automatic merge failed; fix conflicts and then commit the result.

% git commit
[merge/2.12.x-to-2.13.x-20180321 35177c74de] Merge commit 'df4a883c5e' into merge/2.12.x-to-2.13.x-20180321

retronym added 17 commits March 12, 2018 22:32
 - Explicitly add test output path to the compiler classpath
   Rather than assuming its in the application classpath.
 - Ensure tests cleanup threads
 - Fork tests that inherently require it or ones that I can't
   figure out how to make work without it
Tests that take 30+ seconds to compile and/or execute
really add up to a productivity loss for contributors.

These tests served a purpose to show that the corresponding
changes were correct. But if we want them to serve an ongoing
purpose of guarding against regressions, they need to be
maintained to do so more quicky or be moved into a test suite
that is run less frequently.
…ction

The logic that decides to print `Function`, rather than `scala.Function`
did not account for the multiplicity of symbols for a given package
in the JavaMirrors universe.
  - Update to partest that emits more detailed TestEvents
  - Group partest JUnit XML reports in, e.g, test.files.pos.xml
  - workaround Jenkins dislike of the work "run"
Requires a new version of partest to provide some missing metadata.

Sample files generated:

```
> ;partest --srcpath scaladoc --grep t7876; partest --grep default
...
```

```
⚡ (cd target/test/test-reports/partest && find . )
.
./test.files.jvm.xml
./test.files.neg.xml
./test.files.pos.xml
./test.files.presentation.xml
./test.files.run_.xml
./test.files.scalap.xml
./test.files.specialized.xml
./test.scaladoc.run_.xml
```
Integrating Scalacheck into our SBT build is all frying pans
and fires. We disabled forking to get test failure reporting
working, but didn't realise that this put STARR on the classpath
of the tests.

This commits switches back to forking, but only after customizing
the framework to get early access to what hopefully will be part
of the next scalacheck release: typelevel/scalacheck#388
Avoid using STARR on the scalacheck classpath
@scala-jenkins scala-jenkins added this to the 2.13.0-M4 milestone Mar 21, 2018
@retronym retronym changed the title Merge 2.12.x to 2.13.x Merge 2.12.x to 2.13.x [ci: last-only] Mar 21, 2018
@retronym retronym requested a review from lrytz March 21, 2018 13:06
@retronym retronym mentioned this pull request Mar 21, 2018
@lrytz lrytz merged commit 15a8fba into scala:2.13.x Mar 21, 2018
@milessabin
Copy link
Copy Markdown
Contributor

Awesome stuff! partest pos neg run goes from 2113s to 489s on my machine 😺

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants