| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding some Sets/Maps to perRunCaches, and eliminating ambiguously named
imports.
Did a tour of the compiler adding a few longer-lived mutable structures
to the per-run cache clearing mechanism. Some of these were not a big
threat, but there is (almost) literally no cost to tracking them and the
fewer mutable structures which are created "lone wolf style" the easier
it is to spot the one playing by his own rules.
While I was at it I followed through on long held ambition to eliminate
the importing of highly ambiguous names like "Map" and "HashSet" from
the mutable and immutable packages. I didn't quite manage elimination
but it's pretty close. Something potentially as pernicious which I
didn't do much about is this import:
import scala.collection._
Imagine coming across that one on lines 407 and 474 of a 1271 file.
That's not cool. Some poor future programmer will be on line 1100 and
use "Map[A, B]" in some function and only after the product has shipped
will it be discovered that the signature is wrong and the rocket will
now be crashing into the mountainside straightaway. No review.
|
|
|
|
|
|
| |
Restored partest behavior of keeping output directories when run with
debugging enabled. No review.
|
| |
|
|
|
|
|
|
|
|
|
| |
More batched performance improvements for io.{ File, Classpath } and
others in the neighborhood. Avoids calling the expensive
getCanonicalPath in favor of getAbsolutePath: I note that because
it has the potential to change compiler behavior at the borders.
No review.
|
|
|
|
|
|
|
|
|
| |
Tweaks repl tests to enforce -Yrepl-sync and other setup on all clients.
Also includes some more why-do-tests-hang bosons for the particle
accelerator in case that doesn't wrap it up. I think it will though,
because now constrained-types is the only one which failed and it's also
the only one which overrides Settings. No review.
|
|
|
|
|
|
|
|
| |
A somewhat more realistic attempt to fix the build, no review. This
introduces a repl command line option -Yrepl-sync to inhibit the
asynchronous path which makes repl startup seem so snappy. And then it
uses it in the repl tests.
|
|
|
|
|
| |
Reverting the rest of it until I can look with clear eyes, no review.
|
|
|
|
|
|
| |
(e.g. getCanonicalFile) especially if it's running at startup. No
review.
|
|
|
|
|
|
|
| |
Be silent when compiling the repl extraction object to suppress spurious
warnings. Also corrected the busted logic for spotting repl wrappers.
Closes #4542, no review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I wrote a warning when nullary methods return Unit. I wimped out of
including it in this patch because we had about 200 of them, and that's
what is fixed in this patch. I will add the warning to some kind of
"-Xlint" feature after 2.9.
This is motivated at least partly by the resolution of #4506, which
indicates the distinction between "def foo()" and "def foo" will
continue to jab its pointy stick into our eyes, so I believe we have a
minimal duty of at least following our own advice about what they mean
and not making a semirandom choice as to whether a method has parens or
not. Review by community.
|
|
|
|
|
|
|
| |
Fixed a failure output regression I introduced working around a process
bug. Unrolled the code I'd put in to work around the now-fixed process
bug. No review.
|
|
|
|
|
|
|
|
|
|
| |
Enhancing the repl-testing code by turning it into a transcript
producing machine. "Here's some code." "Here's a transcript!" "Good day
to you, sir!" "No, good day to YOU!"
These changes are awesome. Look at the checkfile diffs for god's sake,
they'll make you weep with joy. No review.
|
|
|
|
|
|
| |
Fixing the scalap test rig to work like other test types so it doesn't
break the distribution build. No review.
|
|
|
|
|
|
| |
Spiced up the signature test infrastructure a bunch, wrote some more
tests, restored the tests in pending. No review.
|
|
|
|
|
|
|
|
|
|
| |
Not yet learned my lesson about partest and empty directories. Rather
than reapply that bandaid, went after partest. Attempts to make partest
ignore empty directories. Discover directory tests aren't run when the
command line tool is used, make them run like everyone else. Find more
tests which due to misplacement are silently ignored, move them into
tested locations. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[I'm laptop only so there's some chance this will incur temporary
breakage, but it needs committing.]
Heading off gratuitous complications which haven't yet shipped, I
eliminated the -jar startup option in favor of doing what we already do,
figuring it out. So now all these things work.
scala foo/bar.scala // if file is a script or has one main method
scala foo.Bar // if it has a legal main method scala foo.jar // if it
has a legal MainClass attribute
Also changed "-savecompiled" to "-save" and given scala source called
foo.scala, generate foo.jar rather than foo.scala.jar. Cleaned up a
bunch of related code and further polished the scala startup message.
And unbroke choice settings and improved that error too, which closes
#3849.
While trying to write a test for the choice setting, was reminded that
partest just discards invalid flags files. Made it fail instead, which
closes #3712. Fixed the new failures that revealed. No review.
|
|
|
|
|
|
|
|
|
| |
Always forget that checking system properties causes exceptions in
applets and such. Made the system property wrapper wrap its access
checks in some more wrapping. I spent a long time trying to write a
test for the security manager but it's hopeless without knowing all the
details of the test environment. Closes #4346, no review.
|
|
|
|
|
|
|
|
|
|
|
| |
warnings due to my changing a map from mutable to immutable (which
ought to be the good direction) because "def update" still lingers on
immutable maps. I counted the days elapsed since it was marked for death
(before 2.8.0) and added in the bugliness of what I was looking at and
bid it farewell.
Now removed: def update on immutable maps. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Almost all view classes now list parents like
trait Appended[B >: A] extends super.Appended[B] with Transformed[B]
instead of the former
trait Appended[B >: A] extends Transformed[B] with super.Appended[B]
because as it was, the implementation of foreach in
TraversableViewLike#Transformed was repeatedly trumping overrides found
in e.g. IterableLike. This change was not without its own consequences,
and much of the rest of the patch is dealing with that. A more general
issue is clearly revealed here: there is no straightforward way to deal
with trait composition and overrides when some methods should prefer B
over A and some the reverse. (It's more like A through Z in this case.)
That closes #4279, with some views being five orders of magnitude slower
than necessary. There is a test that confirms they'll stay performance
neighbors.
In the view classes (Zipped, Mapped, etc.) I attended to them with
comb and brush until they were reasonably consistent. I only use
"override" where necessary and throw in some "final" in the interests
of trying to anchor the composition outcome. I also switched the
newSliced, newZipped, etc. methods to use early init syntax since a
number have abstract vals and I found at least one bug originating with
uninitialized access.
There was a piece of a parallel collections scalacheck test failing,
which
I disabled out of expedience - am emailing prokopec.
There is plenty of work left to do but paulp must get back to other 2.9
issues. This is the Zurich->SF airplane patch. No review.
|
|
|
|
|
|
| |
More signature work arising from actually looking at the signatures.
Slightly improved the coverage of the tests. No review.
|
|
|
|
|
|
|
| |
Break 9 tests, fix 9 tests, realize you broke the test you checked in
between +9 and -9. Fix that and generalize the repl tests a little. I
think we're all the way there. No review.
|
|
|
|
|
|
|
|
| |
Added new setting -Ygen-javap, which takes a directory as an argument
and generates javap output for every generated classfile. There is still
a lot of noise in a diff: still todo is postprocessing the output to
remove diff-noise-generating numbers and such. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I chased a lot of ghosts before finding the real culprit for why partest
failures have been unfailing.
Process(Seq("bash", "-c", "exit 42")) ! // 42 Process(Seq("bash",
"-c", "exit 42")) #> logFile ! // 0
That behavior is not yet fixed, but I altered partest not to use #> and
fixed the test which should have been failing but wasn't. Closes #4227,
no review.
|
|
|
|
|
|
|
|
|
|
|
|
| |
partest --grep has never worked quite right (at least not in the
"sideported" version.) Now it looks harder for matching tests: the check
file or any java or scala source file can match. And directory based
tests will be properly included. Try it out:
test/partest --grep java
No review.
|
| |
|
|
|
|
|
| |
things which used it to use sys.process. No review.
|
|
|
|
|
| |
Made partest update a checkfile even if it doesn't exist. No review.
|
| |
|
| |
|
|
|
|
|
| |
multiple-reporting-of-failures bug. No review.
|
| |
|
|
|
|
|
|
| |
One element of the partest situation: Reporting and recovering correctly
when the compiler crashes. No review.
|
|
|
|
|
|
|
|
| |
Added specialized test to ant build, and ported old specialized 'run'
tests to check the number of boxings.
No review.
|
|
|
|
|
|
|
|
|
|
| |
Added a new test group - specialized.
Modified partest to add a jar with instrumented classes to classpath when compiling and running tests.
Added a primary version of the instrumented BoxesRuntime, and a script to produce a jar for it.
Added the 'speclib' folder to partest files, which contains the jar with the instrumented classes.
Review by dragos.
|
|
|
|
|
|
|
|
| |
prejudice and puts the new process code to work instead. There are still
a couple bugs on my short term partest list. If this commit causes some
weird issue which only arises on virtualized windows you can expect to
hear from me next by postcard from st. lucia. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Imported sbt.Process into trunk, in the guise of package
scala.sys.process. It is largely indistinguishable from the version in
sbt, at least from the outside.
Also, I renamed package system to sys. I wanted to do that from the
beginning and the desire has only grown since then. Sometimes a short
identifier is just critical to usability: with a function like error("")
called from hundreds of places, the difference between system.error and
sys.error is too big. sys.error and sys.exit have good vibes (at least
as good as the vibes can be for functions which error and exit.)
Note: this is just the first cut. I need to check this in to finish
fixing partest. I will be going over it with a comb and writing
documentation which will leave you enchanted, as well as removing other
bits which are now redundant or inferior. No review.
|
| |
|
| |
|
|
|
|
|
|
| |
StreamAppender is the leader among suspicious things which look like
they freeze things, so I started ripping it out. Again. No review.
|
|
|
|
|
|
|
|
|
|
| |
down the long and freezy road once again. With this patch you can send a
SIGHUP to partest and it will spew a bunch of internal state. It is also
possible I fixed the underlying issue by cleaning up the super fragile
dependence on counters never getting the least bit off track. If fixed,
it'll still be fun to send signals. If not, this will be coming in handy
reeeeeal soon. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mopping up after the deprecation of exit and error. It is decidedly
non-trivial (at least for the IDE-impaired) to be completely sure of
which error function was being called when there were about twenty with
the same signature in trunk and they are being variously inherited,
imported, shadowed, etc. So although I was careful, the possibility
exists that something is now calling a different "error" function than
before. Caveat programmer.
(And let's all make it our policy not to name anything "error" or "exit"
from here on out....) No review.
|
|
|
|
|
|
|
| |
You shall not pass the testing stage when abort crashes the resident
compiler. previously it succeeded even though the error message was
printed. Review by phaller
|
|
|
|
|
|
| |
(apparently) the bug which has had me chasing concurrency ghosts
throughout the haunted castle. No review.
|
|
|
|
|
|
| |
partest sets javaccmd system property when running tests. Review by
dragos.
|
| |
|
|
|
|
|
|
|
|
| |
Ported --update-check from partest-alternative to partest actual. Once
again all can daily demonstrate their amazing resolve by not mass
updating checkfiles by the hundreds with whatever the current output
happens to be. No review.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Some exception handling fixes in parallel collections. Fixed some
regressions. Fixed some tests.
No review.
|
|
|
|
|
|
| |
One more partest fix where output was redirected using a global
variable, causing errors with multiple actors. Review by plocinic
|