summaryrefslogtreecommitdiff
path: root/src/partest
Commit message (Collapse)AuthorAgeFilesLines
* Adding the Actor Migration Kit.Vojin Jovanovic2012-05-188-4/+29
| | | | | | | | | | | | Kit consists of: 1) The StashingActor which adopts an interface similar to Akka. 2) Props mockup for creating Akka like code 3) Pattern mockup 4) Test cases for every step in the migration. 5) MigrationSystem which will paired on the Akka side. Review of the code : @phaller Review of the build: @jsuereth
* Fixed partest so it can run in SBT.Josh Suereth2012-05-101-8/+10
|
* Updated Symbol to record classfile origin.Paul Phillips2012-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change should be transparent to anything using sourceFile, unless it was drinking from the inheritance well too deeply. Rather than squander the already allocated field for every ClassSymbol not being compiled from source, I'm now populating it with the file representing the class. This will make a broad range of things easier, like debugging, issuing useful error messages, symbol invalidation, signature verification, you name it. def sourceFile - still returns only source code files def binaryFile - returns only class files def associatedFile - returns whatever is there, if anything Performance: I may be mistaken, but I believe this is a zero-impact change. No new fields are allocated; fields which were null now hold a useful reference. The reference is to a file instance which was already being allocated and already long-lived. Compare error messages: // Version 1 % scalac a.scala error: type _$1 is defined twice // Version 2 % scalac a.scala error: type _$1 is defined twice conflicting symbols both originated in file './foo/package.class' Note: this may be due to a bug in the compiler involving wildcards in package objects one error found Bonus for people who read commit logs. Try this in the repl after starting power mode. ListClass.info.members groupBy (_.associatedFile) foreach { case (k, vs) => println("%s\n %s\n".format(k, vs map (_.defString) mkString "\n ")) }
* Reluctant surgery on partest.Paul Phillips2012-05-042-112/+57
| | | | | | | Now neg tests are treated like all the other tests in terms of grouping, so if you have a negative test which requires more than one pass (like the one enclosed with the next commit) you can actually test it.
* migrates stdlib and compiler to tagsEugene Burmako2012-04-232-17/+18
| | | | | * all usages of ClassManifest and Manifest are replaced with tags * all manifest tests are replaced with tag tests
* Scaladoc's tests should work with test/partestKato Kazuyoshi2012-04-231-1/+6
| | | | Fix SI-5083.
* Scaladoc feature that shows implicit conversionsVlad Ureche2012-04-131-28/+50
| | | | | | | See https://github.com/VladUreche/scala/tree/feature/doc-implicits for the history. See https://scala-webapps.epfl.ch/jenkins/view/scaladoc/job/scaladoc-implicits-nightly/ for nightlies. Many thanks fly out to Adriaan for his help with implicit search!
* Next generation of macrosEugene Burmako2012-04-123-5/+16
| | | | | | | | | | | | | | | | | | | | | | Implements SIP 16: Self-cleaning macros: http://bit.ly/wjjXTZ Features: * Macro defs * Reification * Type tags * Manifests aliased to type tags * Extended reflection API * Several hundred tests * 1111 changed files Not yet implemented: * Reification of refined types * Expr.value splicing * Named and default macro expansions * Intricacies of interaction between macros and implicits * Emission of debug information for macros (compliant with JSR-45) Dedicated to Yuri Alekseyevich Gagarin
* Less laborious type application.Paul Phillips2012-04-091-1/+1
| | | | | And eliminating redundancy. Reduced gratuitous usage of typeConstructor on symbols which don't have type parameters.
* Fixes SI-5373Vlad Ureche2012-03-271-0/+124
| | | | | And adds basic support for scaladoc model tests (class partest.ScaladocModelTest)
* Separating Scala Actors from the Scala Library.Vojin Jovanovic2012-03-198-6/+34
| | | | | | | | | Scala actors are now in scala-actors.jar. Changes that were done are: - Fixed partest to include actors library for various test usages - Created the entry for the new jar in build.xml - Added maven entries for scala actors Review by: @jsuereth
* Testing compiler asSeenFrom directly.Paul Phillips2012-03-162-2/+35
| | | | | | | It's more of a "dump what it says to a file so we'll know if any of this ever changes" than a "test" per se. It could use some wheat/chaff/nonsense/sense sorting. Still, it would be great to have more stuff like this.
* Whitespace commit.Paul Phillips2012-02-293-3/+3
| | | | | | | Removed all the trailing whitespace to make eugene happier. Will try to keep it that way by protecting at the merge level. Left the tabs in place because they can't be uniformly changed to spaces, some are 2, some are 4, some are 8, whee.
* Make partest not fail over code.jar's placement.Paul Phillips2012-02-231-3/+5
|
* Existential printing, plus more compiler testing infrastructure.Paul Phillips2012-02-132-4/+55
| | | | | | | | | | | | | | Direct compiler internals testing. It's really easy, you should probably use it about 1000 times each. Look at the test: run/existentials-in-compiler.scala The checkfile contains the (string representations of the) actual existentials from the compiler to make sure they correspond properly to the ones in the source. Existentials were being printed with wildcards too freely; this has been tightened up.
* Replaced LiftCode with a function in MacroContextEugene Burmako2012-02-057-45/+33
| | | | | | | | | | | | | | Major cleanup of reification: * LiftCode phase has been removed * Code has been deprecated and will be removed as we roll a new starr * Logic related to type-directed lifting has been purged scala.reflect.macro.Context#reify now provides the same services as LiftCode provided (except that it returns Tree, not Code). For testing purposes, I've retained the oh-so-convenient automagic lift. test/files/codelib/code.jar now hosts Code.lift reimplemented in a macro, so that the tests can continue working as if nothing has happened.
* Miscellaneous fixes to reificationEugene Burmako2012-02-021-2/+8
| | | | | | | | More specifically: * Importers now preserve wasEmpty and original * ToolBoxes no longer auto-evaluate nullary functions returned by runExpr * All local symbols from previous typechecks are now correctly erased by ResetAttrs * Originals are now reified
* Changed partest to use UTF-8.Paul Phillips2012-01-271-1/+1
| | | | | | | Finally had a concrete motivation to change partest's inexplicable ISO-8859-1 encoding to UTF-8. My test case would cause it to barf "illegal character". Is this going to break on windows or something? If so, it's time to fix the broken place which can't handle UTF-8.
* Made partest fully support locker-based distribsEugene Burmako2012-01-249-19/+69
| | | | | | | | | | | | This patch brings support for specialized and scalacheck tests, and finally makes it possible to run partest for locker. To do that, you need to write your own partest script: http://bit.ly/wl9HaH, and keep another clone of your repository that would provide the classes for running partest. That clone should then be build normally (ant build), and be used to transplant the stuff that isn't built by locker, namely: partest, actors, scalacheck, forkjoin, fjbg, msil and jline. For more information take a look at my scavenger: http://bit.ly/AjMiud.
* Fixes a bug that messed up --classpath in partestEugene Burmako2012-01-201-4/+11
|
* Symbol creation followup.Paul Phillips2012-01-161-5/+4
| | | | | | Changed most symbol creations to be consistent with all the others. Opportunistically streamlined various call sites. Moved some phase-specific methods out of Symbol to somewhere more appropriate (like that phase.)
* Fixed instrumented.jar and scalacheck.jar locationSzabolcs Berecz2012-01-141-2/+5
| | | | | | | | Depending on the file order in the directory, PathSettings.srcSpecLib could end up as "instrumented.jar.desired.sha1" instead of "instrumented.jar" which would cause all the specialized tests to fail. The same goes for scalacheck.jar
* Merge branch 'master' into xsbtJosh Suereth2011-12-181-1/+2
|\
| * Fixed "Definition Classes" in bug #5287Vlad Ureche2011-12-161-1/+2
| |
* | Port of SBT 0.11.x build. Things appear to be working well.Josh Suereth2011-12-011-8/+57
|/
* fixed logic error in ant testsmichelou2011-11-271-2/+2
|
* added support for ant tests to partestmichelou2011-11-276-106/+196
|
* Make partest work with spaces in the path (from...Stefan Zeiger2011-11-226-22/+35
| | | | | | | | | | | | | | Make partest work with spaces in the path (from batch script and ant task). - The 'partest' ant task gets a new 'compilerargs' element for scalac - options (like in scalacfork and javac). Fixed argument list handling - in partest task. Further improvements to argument list handling for - all ant tasks. Fixed argument list handling in DirectTest (used by - partest shell scripts) Fixed path handling in several test cases. Closes SI-622. Review by phaller.
* Always build command lines in partest as Seq[St...Stefan Zeiger2011-11-211-11/+4
| | | | | | | | | | | Always build command lines in partest as Seq[String] instead of space-separated command. Closes SI-1510 which is actually caused by a bad command line string when the path to Java contains a space, and not by long path names per se. References SI-622 since this commit fixes the specific error described there (not closing because follow-up bugs remain).
* Reverted changeset r26024.Philipp Haller2011-11-181-11/+40
|
* Removed some obsolete javacmd, javaccmd etc.Philipp Haller2011-11-162-33/+13
|
* Working on the runners.Paul Phillips2011-11-131-17/+23
| | | | | | | | | | | | | | | | | | | | | | Removed assumption that bash is in /bin. Removed --posix option to bash. Modernized shell constructs: $() instead of ``, [[ ]] instead of [ ]. Added -debug option for all runners which will show you the exact java command line being run before running it. Added -usebootcp to complement -nobootcp, and made regular classpath the default on cygwin. Quoted more things to give us a fighting chance against spaces and parens in paths. I took the waste-half-a-day step of installing vmware fusion so I could install windows so I could install cygwin so I could install scala under cygwin so I could see if it still worked. Seems to. We still desperately need some way of testing not only everything I'm attempting to address in this pile of patches but everything which is most likely now regressing. :javap now sort of works on windows (not for repl-defined classes as yet) if JAVA_HOME is set such that I can find tools.jar. Closes SI-4959. (Risks breaking and) references SI-2092. References SI-622 since that shouldn't be hard to get working.
* A couple bits of r25957 lost under time pressure.Paul Phillips2011-11-071-1/+1
| | | | | No review.
* Another round of pleasing the gods of init order.Paul Phillips2011-11-072-5/+13
| | | | | | | Moved all the eagerly evaluated bits to the top of the file so I can see them all at once. Let a dozen vals unroll up front so initialization is more predictable. No review.
* ScalaClassLoader changes.Paul Phillips2011-11-031-2/+2
| | | | | Lots of fiddling in the interests of a better classloading future.
* Fixed paths for 'neg' tests.Hubert Plociniczak2011-11-011-0/+1
|
* Revert r25648 by michelou, it brakes partestHubert Plociniczak2011-10-314-105/+51
|
* First end-to-end implementation of a runtime re...Martin Odersky2011-10-241-3/+7
| | | | | | First end-to-end implementation of a runtime reflexive compiler that generates and loads bytecodes. Review by szeiger.
* Towards runtime code generation. No review.Martin Odersky2011-10-211-1/+4
|
* Partest now correctly parses -Yrangepos (previo...Hubert Plociniczak2011-10-041-1/+5
| | | | | | | Partest now correctly parses -Yrangepos (previously no effect). Fixed some issues with range positions. partest now passes with -Yrangepos on. review by odersky (mostly done already).
* Removed special comments on Martin's requestmichelou2011-09-291-40/+1
|
* Oops, can't even revert right.Paul Phillips2011-09-281-1/+1
| | | | | No review.
* Put back the XXX line in partest.Paul Phillips2011-09-281-1/+2
| | | | | | Classpaths and partest, soon to be jointly responsible for one or more tragedies. No review.
* Fix for classpaths.Paul Phillips2011-09-281-1/+1
| | | | | Not sys.props("CLASSPATH"), sys.env("CLASSPATH"). No review.
* More fixes to reflection and code lifting.Martin Odersky2011-09-261-0/+28
|
* Improved getFiles/getDirs in PartestTask; did s...michelou2011-09-124-51/+144
| | | | | Improved getFiles/getDirs in PartestTask; did some cleanup.
* Recent icode checking tests were leaving a bit ...Paul Phillips2011-08-252-3/+7
| | | | | | | Recent icode checking tests were leaving a bit of a mess in the filesystem. Taught them to clean up after themselves. I knew I'd pick up a few useful tricks from my kids. No review.
* Some 11th hour modifications with the dual purp...Paul Phillips2011-08-231-1/+0
| | | | | | | | | | | | | | | | | | Some 11th hour modifications with the dual purpose of a smooth console life for sbt and so the repl can be used on google app engine. Although this patch may look largish to be entering at RC4, there isn't a lot going on. It's trying to make these dangerous things: - property and environment variable accesses - thread creation - signal handler installation happpen in a sufficiently uniform way that people who don't want them and places who don't allow them are not left with an unfixable situation where things blow up inside private methods. Also, the (ahem) lower than usual elegance levels are due to it being intended for 2.9.x as well. Review by harrah.
* Created infrastructure for testing icode + sett...Paul Phillips2011-08-226-29/+143
| | | | | | | | | | | | | | | | Created infrastructure for testing icode + settings/partest yak shaving. See enclosed test files/run/inline-ex-handlers.scala. To compare optimized and unoptimized icode after a given phase, all you need in a partest source file is this: import scala.tools.partest.IcodeTest object Test extends IcodeTest { override def printIcodeAfterPhase = "inlineExceptionHandlers" } Other things can be done, see IcodeTest.scala. Review by ureche.
* Set the partest encoding to UTF-8.Paul Phillips2011-08-211-0/+1
|