Переглянути джерело

Adding Java 7 patch, support running tests on Java 7

tags/light-jdk8u5+36
Ivan Dubrov 10 роки тому
джерело
коміт
070f0932b7
59 змінених файлів з 10152 додано та 17 видалено
  1. 9
    13
      build.gradle
  2. 0
    0
      dcevm/src/main/java/org/dcevm/ClassRedefinitionPolicy.java
  3. 0
    0
      dcevm/src/main/java/org/dcevm/HotSwapTool.java
  4. 0
    0
      dcevm/src/main/java/org/dcevm/InstrumentationRedefiner.java
  5. 0
    0
      dcevm/src/main/java/org/dcevm/JDIRedefiner.java
  6. 0
    0
      dcevm/src/main/java/org/dcevm/Redefiner.java
  7. 0
    0
      dcevm/src/main/java/org/dcevm/TestClassAdapter.java
  8. 0
    0
      dcevm/src/test/java/org/dcevm/test/LightTestSuite.java
  9. 0
    0
      dcevm/src/test/java/org/dcevm/test/TestUtil.java
  10. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/ArrayTest.java
  11. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/BodyTestSuite.java
  12. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/ClassRenamingTestCase.java
  13. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/EMCPTest.java
  14. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/FacTest.java
  15. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/FibTest.java
  16. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/MultipleThreadsTest.java
  17. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/OldActivationTest.java
  18. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/RedefinePrivateMethodTest.java
  19. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/RefactorActiveMethodTest.java
  20. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/SimpleStaticTest.java
  21. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/StaticTest.java
  22. 0
    0
      dcevm/src/test/java/org/dcevm/test/body/StressTest.java
  23. 0
    0
      dcevm/src/test/java/org/dcevm/test/eval/AddingInterfaceTest.java
  24. 0
    0
      dcevm/src/test/java/org/dcevm/test/eval/EvalTestSuite.java
  25. 0
    0
      dcevm/src/test/java/org/dcevm/test/eval/FractionTest.java
  26. 0
    0
      dcevm/src/test/java/org/dcevm/test/eval/GeometryScenario.java
  27. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/ComplexFieldTest.java
  28. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/EnumTest.java
  29. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/FieldAlignmentTest.java
  30. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/FieldChangedOrderTest.java
  31. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/FieldModificationTest.java
  32. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/FieldsTestSuite.java
  33. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/ObjectStressTest.java
  34. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/RedefinePrivateFieldTest.java
  35. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/StringFieldTest.java
  36. 0
    0
      dcevm/src/test/java/org/dcevm/test/fields/YieldTest.java
  37. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/AddMethodTest.java
  38. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/AnnotationTest.java
  39. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/ClassObjectHashcodeTest.java
  40. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/ClassObjectSynchronizationTest.java
  41. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/ClassReflectionTest.java
  42. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/DeleteActiveMethodTest.java
  43. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/MethodReflectionTest.java
  44. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/MethodsTestSuite.java
  45. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/OverrideMethodTest.java
  46. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/SingleClassReflectionTest.java
  47. 0
    0
      dcevm/src/test/java/org/dcevm/test/methods/SingleClassTest.java
  48. 0
    0
      dcevm/src/test/java/org/dcevm/test/structural/AnonymousClassInMethodTest.java
  49. 0
    0
      dcevm/src/test/java/org/dcevm/test/structural/InterfaceTest.java
  50. 0
    0
      dcevm/src/test/java/org/dcevm/test/structural/RedefineClassClassTest.java
  51. 2
    2
      dcevm/src/test/java/org/dcevm/test/structural/RedefineObjectClassTest.java
  52. 0
    0
      dcevm/src/test/java/org/dcevm/test/structural/StructuralTestSuite.java
  53. 0
    0
      dcevm/src/test/java/org/dcevm/test/structural/ThisTypeChange.java
  54. 0
    0
      dcevm/src/test/java/org/dcevm/test/util/HotSwapTestHelper.java
  55. 0
    0
      dcevm/src/test/java8/org/dcevm/test/methods/DefaultMethodsTest.java
  56. 0
    0
      dcevm/src/test/java8/org/dcevm/test/util/HotSwapTestHelper.java
  57. 2
    1
      gradle.properties
  58. 10138
    0
      patches/dcevm-jdk7u51-b13.patch
  59. 1
    1
      settings.gradle

+ 9
- 13
build.gradle Переглянути файл

@@ -108,7 +108,7 @@ def setup(prjs, closure) {
}
}

setup(['agent', 'framework', 'tests-java7', 'tests-java8'], {
setup(['agent', 'dcevm'], {
apply plugin: 'java'
apply plugin: 'idea'

@@ -125,25 +125,21 @@ project('agent') {
}
}

project('framework') {
project('dcevm') {
dependencies {
compile project(':agent')
compile group: 'asm', name: 'asm-all', version: '3.3.+'
compile files(System.getProperty("java.home") + '/../lib/tools.jar')
}
}

project('tests-java8') {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}

setup(['tests-java7', 'tests-java8'], {
dependencies {
compile project(':framework')
testCompile group: 'junit', name: 'junit', version: '4.11'
}

def m = System.getProperty('java.version') =~ /^1\.([0-9]+)\.*/
def major = m[0][1].toInteger()
if (major >= 7) {
sourceSets.test.java.srcDirs += 'src/test/java8'
}

test {
executable new File(targetJreFile, 'bin/java')

@@ -160,7 +156,7 @@ setup(['tests-java7', 'tests-java8'], {
}

test.dependsOn project(':hotspot').tasks[kind == 'fastdebug' ? 'installFastdebug' : 'installProduct']
})
}


enum Arch {

framework/src/main/java/org/dcevm/ClassRedefinitionPolicy.java → dcevm/src/main/java/org/dcevm/ClassRedefinitionPolicy.java Переглянути файл


framework/src/main/java/org/dcevm/HotSwapTool.java → dcevm/src/main/java/org/dcevm/HotSwapTool.java Переглянути файл


framework/src/main/java/org/dcevm/InstrumentationRedefiner.java → dcevm/src/main/java/org/dcevm/InstrumentationRedefiner.java Переглянути файл


framework/src/main/java/org/dcevm/JDIRedefiner.java → dcevm/src/main/java/org/dcevm/JDIRedefiner.java Переглянути файл


framework/src/main/java/org/dcevm/Redefiner.java → dcevm/src/main/java/org/dcevm/Redefiner.java Переглянути файл


framework/src/main/java/org/dcevm/TestClassAdapter.java → dcevm/src/main/java/org/dcevm/TestClassAdapter.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/LightTestSuite.java → dcevm/src/test/java/org/dcevm/test/LightTestSuite.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/TestUtil.java → dcevm/src/test/java/org/dcevm/test/TestUtil.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/ArrayTest.java → dcevm/src/test/java/org/dcevm/test/body/ArrayTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/BodyTestSuite.java → dcevm/src/test/java/org/dcevm/test/body/BodyTestSuite.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/ClassRenamingTestCase.java → dcevm/src/test/java/org/dcevm/test/body/ClassRenamingTestCase.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/EMCPTest.java → dcevm/src/test/java/org/dcevm/test/body/EMCPTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/FacTest.java → dcevm/src/test/java/org/dcevm/test/body/FacTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/FibTest.java → dcevm/src/test/java/org/dcevm/test/body/FibTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/MultipleThreadsTest.java → dcevm/src/test/java/org/dcevm/test/body/MultipleThreadsTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/OldActivationTest.java → dcevm/src/test/java/org/dcevm/test/body/OldActivationTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/RedefinePrivateMethodTest.java → dcevm/src/test/java/org/dcevm/test/body/RedefinePrivateMethodTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/RefactorActiveMethodTest.java → dcevm/src/test/java/org/dcevm/test/body/RefactorActiveMethodTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/SimpleStaticTest.java → dcevm/src/test/java/org/dcevm/test/body/SimpleStaticTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/StaticTest.java → dcevm/src/test/java/org/dcevm/test/body/StaticTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/body/StressTest.java → dcevm/src/test/java/org/dcevm/test/body/StressTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/eval/AddingInterfaceTest.java → dcevm/src/test/java/org/dcevm/test/eval/AddingInterfaceTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/eval/EvalTestSuite.java → dcevm/src/test/java/org/dcevm/test/eval/EvalTestSuite.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/eval/FractionTest.java → dcevm/src/test/java/org/dcevm/test/eval/FractionTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/eval/GeometryScenario.java → dcevm/src/test/java/org/dcevm/test/eval/GeometryScenario.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/ComplexFieldTest.java → dcevm/src/test/java/org/dcevm/test/fields/ComplexFieldTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/EnumTest.java → dcevm/src/test/java/org/dcevm/test/fields/EnumTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/FieldAlignmentTest.java → dcevm/src/test/java/org/dcevm/test/fields/FieldAlignmentTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/FieldChangedOrderTest.java → dcevm/src/test/java/org/dcevm/test/fields/FieldChangedOrderTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/FieldModificationTest.java → dcevm/src/test/java/org/dcevm/test/fields/FieldModificationTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/FieldsTestSuite.java → dcevm/src/test/java/org/dcevm/test/fields/FieldsTestSuite.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/ObjectStressTest.java → dcevm/src/test/java/org/dcevm/test/fields/ObjectStressTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/RedefinePrivateFieldTest.java → dcevm/src/test/java/org/dcevm/test/fields/RedefinePrivateFieldTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/StringFieldTest.java → dcevm/src/test/java/org/dcevm/test/fields/StringFieldTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/fields/YieldTest.java → dcevm/src/test/java/org/dcevm/test/fields/YieldTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/AddMethodTest.java → dcevm/src/test/java/org/dcevm/test/methods/AddMethodTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/AnnotationTest.java → dcevm/src/test/java/org/dcevm/test/methods/AnnotationTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/ClassObjectHashcodeTest.java → dcevm/src/test/java/org/dcevm/test/methods/ClassObjectHashcodeTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/ClassObjectSynchronizationTest.java → dcevm/src/test/java/org/dcevm/test/methods/ClassObjectSynchronizationTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/ClassReflectionTest.java → dcevm/src/test/java/org/dcevm/test/methods/ClassReflectionTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/DeleteActiveMethodTest.java → dcevm/src/test/java/org/dcevm/test/methods/DeleteActiveMethodTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/MethodReflectionTest.java → dcevm/src/test/java/org/dcevm/test/methods/MethodReflectionTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/MethodsTestSuite.java → dcevm/src/test/java/org/dcevm/test/methods/MethodsTestSuite.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/OverrideMethodTest.java → dcevm/src/test/java/org/dcevm/test/methods/OverrideMethodTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/SingleClassReflectionTest.java → dcevm/src/test/java/org/dcevm/test/methods/SingleClassReflectionTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/methods/SingleClassTest.java → dcevm/src/test/java/org/dcevm/test/methods/SingleClassTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/structural/AnonymousClassInMethodTest.java → dcevm/src/test/java/org/dcevm/test/structural/AnonymousClassInMethodTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/structural/InterfaceTest.java → dcevm/src/test/java/org/dcevm/test/structural/InterfaceTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/structural/RedefineClassClassTest.java → dcevm/src/test/java/org/dcevm/test/structural/RedefineClassClassTest.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/structural/RedefineObjectClassTest.java → dcevm/src/test/java/org/dcevm/test/structural/RedefineObjectClassTest.java Переглянути файл

@@ -85,7 +85,7 @@ public class RedefineObjectClassTest {
}

public final String myTestFunction___() {
return "test";
return "org/dcevm/test";
}

public final native void notify___();
@@ -141,7 +141,7 @@ public class RedefineObjectClassTest {


//assertEquals("test", o.toString());
assertEquals("test", Helper.access(o));
assertEquals("org/dcevm/test", Helper.access(o));
__toVersion__(0);
__toVersion__(1);
__toVersion__(0);

tests-java7/src/test/java/org/dcevm/test/structural/StructuralTestSuite.java → dcevm/src/test/java/org/dcevm/test/structural/StructuralTestSuite.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/structural/ThisTypeChange.java → dcevm/src/test/java/org/dcevm/test/structural/ThisTypeChange.java Переглянути файл


tests-java7/src/test/java/org/dcevm/test/util/HotSwapTestHelper.java → dcevm/src/test/java/org/dcevm/test/util/HotSwapTestHelper.java Переглянути файл


tests-java8/src/test/java/org/dcevm/test/methods/DefaultMethodsTest.java → dcevm/src/test/java8/org/dcevm/test/methods/DefaultMethodsTest.java Переглянути файл


tests-java8/src/test/java/org/dcevm/test/util/HotSwapTestHelper.java → dcevm/src/test/java8/org/dcevm/test/util/HotSwapTestHelper.java Переглянути файл


+ 2
- 1
gradle.properties Переглянути файл

@@ -22,7 +22,8 @@ targetJre=build/jre

# Tag to base DCEVM on
hotspotTag=jdk8u5-b13
#hotspotTag=jdk7u51-b13

# Repository to clone hotspot from
hotspotRepository=http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot
#hotspotRepository=http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot
#hotspotRepository=http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot

+ 10138
- 0
patches/dcevm-jdk7u51-b13.patch
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 1
- 1
settings.gradle Переглянути файл

@@ -1 +1 @@
include 'agent', 'framework', 'tests-java7', 'tests-java8', 'hotspot'
include 'agent', 'dcevm', 'hotspot'

Завантаження…
Відмінити
Зберегти