diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bca7c0b1b..5f0e8c311 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,9 +8,12 @@ jobs: JDK_ARCH: x64 JDK_VERSION: 8u192 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + with: + fetch-depth: 1 + show-progress: false - name: Cache JDK - uses: actions/cache@v2 + uses: actions/cache@v3 id: cache-jdk with: path: ~/.java diff --git a/Dockerfile b/Dockerfile index bddc53908..42343870e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,12 +13,12 @@ RUN \ apt-get install -y openjdk-8-jdk \ git \ build-essential \ - subversion \ - perl \ - curl \ - unzip \ - cpanminus \ - make \ + subversion \ + perl \ + curl \ + unzip \ + cpanminus \ + make \ && \ rm -rf /var/lib/apt/lists/* diff --git a/README.md b/README.md index 9030fec24..7dc39143e 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,8 @@ Steps to set up Defects4J 3. Add Defects4J's executables to your PATH: - `export PATH=$PATH:"path2defects4j"/framework/bin` + ("path2defects4j" points to the directory to which you cloned Defects4J; it + looks like "/user/yourComputerUserName/desktop/defects4j".) 4. Check installation: - `defects4j info -p Lang` diff --git a/framework/bug-mining/Patch-Minimization-Guide.md b/framework/bug-mining/Patch-Minimization-Guide.md index b72aa1fdd..e7e2e316e 100644 --- a/framework/bug-mining/Patch-Minimization-Guide.md +++ b/framework/bug-mining/Patch-Minimization-Guide.md @@ -261,7 +261,7 @@ Code refactoring may consist of one or more of the following: ### 2. Compiler directives and annotations -1. __Changes made to import statements that are not relevant to the bug fix should be removed__ +1. __Changes made to import statements that are not relevant to the bug fix should be removed__ Although removing changes involving import statements might create new warnings of `unused import statements`, import statements would not communicate anything about the bug or the bug fix since they would only be necessary to support functions. It is also worth noting that these import statements could be completely removed by using the fully qualified function names. 2. __Changes made to @override statements can be removed under some circumstances__ diff --git a/framework/bug-mining/initialize-project-and-collect-issues.pl b/framework/bug-mining/initialize-project-and-collect-issues.pl index a18351498..681b993a9 100755 --- a/framework/bug-mining/initialize-project-and-collect-issues.pl +++ b/framework/bug-mining/initialize-project-and-collect-issues.pl @@ -189,9 +189,6 @@ =head1 OPTIONS system("tail -n +2 $PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE | cut -f 2- -d',' > $COMMIT_DB_FILE.orig"); # Find all versions that have not been mined system("grep -vFf $COMMIT_DB_FILE.orig $COMMIT_DB_FILE > $COMMIT_DB_FILE.filter && mv $COMMIT_DB_FILE.filter $COMMIT_DB_FILE"); - # Print header to the active bugs csv - my $active_header = $BUGS_CSV_BUGID.",".$BUGS_CSV_COMMIT_BUGGY.",".$BUGS_CSV_COMMIT_FIXED.",".$BUGS_CSV_ISSUE_ID.",".$BUGS_CSV_ISSUE_URL; - system("echo $active_header > $COMMIT_DB_FILE.new && cat $COMMIT_DB_FILE >> $COMMIT_DB_FILE.new && mv $COMMIT_DB_FILE.new $COMMIT_DB_FILE"); } print("Project $PID has been successfully initialized!\n"); diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index 99e2ed8c3..ccb069e80 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -223,6 +223,21 @@ The directory name of the local gradle repository (I<.gradle_local_home>). our $GRADLE_LOCAL_HOME_DIR = ($ENV{'GRADLE_LOCAL_HOME_DIR'} // ".gradle_local_home"); +# +# Check if we have the correct version of Java +# +# Run the 'java -version' command and capture its output +my $java_version_output = `java -version 2>&1`; + +# Extract the imajor version number using regular expressions +if ($java_version_output =~ 'version "?(?:1\.)?(\K\d+)') { + if ($1 != 8) { + die ("Java 8 is required!\n\n"); + } +} else { + die ("Failed to parse Java version! Is Java installed/on the execution path?\n\n"); +} + # # Check whether Defects4J has been properly initialized: # - Project repos available? diff --git a/framework/core/Project.pm b/framework/core/Project.pm index cebd99f15..30f320188 100644 --- a/framework/core/Project.pm +++ b/framework/core/Project.pm @@ -740,17 +740,48 @@ sub monitor_test { my @log = `cat $log_file`; foreach (@log) { chomp; - s/\[Loaded ([^\$]*)(\$\S*)? from.*/$1/; + # Try to find the correspondent .java file of a given loaded class X. + # + # X could be + # - A system class, e.g., java.io.ObjectInput, which is ignored by the following + # procedure as it does not belong to the project under test. + # - A "normal" class for which there is indeed a correspondent X.java file. + # - A "normal" class named with one or more $ symbols, e.g., com.google.gson.internal.$Gson$Types + # from Gson-{14,16,18}. + # + s/\[Loaded (.*) from.*/$1/; + my $found = 0; if (defined $src->{$_}) { + $found = 1; push(@{$classes->{src}}, $_); # Delete already loaded classes to avoid duplicates in the result delete($src->{$_}); } if (defined $test->{$_}) { + $found = 1; push(@{$classes->{test}}, $_); # Delete already loaded classes to avoid duplicates in the result delete($test->{$_}); } + if ($found == 0) { + # The correspondent .java file of a given loaded class X has not been found. + # + # It might be that X is, for example, an inner class or anonymous class for which + # there is no correspondent .java file, e.g., org.apache.commons.math3.util.MathArrays$OrderDirection + # from Math-25. Thus, try to find the correspondent .java file of X's parent class. + # + s/([^\$]*)(\$\S*)?/$1/; + if (defined $src->{$_}) { + push(@{$classes->{src}}, $_); + # Delete already loaded classes to avoid duplicates in the result + delete($src->{$_}); + } + if (defined $test->{$_}) { + push(@{$classes->{test}}, $_); + # Delete already loaded classes to avoid duplicates in the result + delete($test->{$_}); + } + } } return $classes; } diff --git a/framework/core/Project/JacksonDatabind.pm b/framework/core/Project/JacksonDatabind.pm index 037b1ec2b..f98b92f34 100644 --- a/framework/core/Project/JacksonDatabind.pm +++ b/framework/core/Project/JacksonDatabind.pm @@ -63,6 +63,21 @@ sub new { # sub _post_checkout { my ($self, $rev_id, $work_dir) = @_; + my $vid = $self->{_vcs}->lookup_vid($rev_id); + + # Fix compilation errors if necessary + my $compile_errors = "$PROJECTS_DIR/$self->{pid}/compile-errors/"; + opendir(DIR, $compile_errors) or die "Could not find compile-errors directory."; + my @entries = readdir(DIR); + closedir(DIR); + foreach my $file (@entries) { + if ($file =~ /-(\d+)-(\d+).diff/) { + if ($vid >= $1 && $vid <= $2) { + $self->apply_patch($work_dir, "$compile_errors/$file") + or confess("Couldn't apply patch ($file): $!"); + } + } + } my $project_dir = "$PROJECTS_DIR/$self->{pid}"; # Check whether ant build file exists diff --git a/framework/core/Utils.pm b/framework/core/Utils.pm index ae2a5bb06..6e7403922 100644 --- a/framework/core/Utils.pm +++ b/framework/core/Utils.pm @@ -534,11 +534,11 @@ sub ensure_valid_bid { my $project_dir = "$PROJECTS_DIR/$pid"; if ( ! -e "${project_dir}" ) { - confess("Error: ${pid} is a non-existent project\n"); + confess("Error: ${pid} is not a project id; for a list, see https://github.com/rjust/defects4j#the-projects\n"); } if ( ! -e "${project_dir}/trigger_tests/${bid}" ) { - confess("Error: ${pid}-${bid} is a non-existent bug\n"); + confess("Error: ${pid}-${bid} is a not a bug id; for a list, see ${project_dir}/trigger_tests\n"); } # Instantiate the project and get the list of all active bug ids diff --git a/framework/lib/test_generation/bin/evosuite.sh b/framework/lib/test_generation/bin/evosuite.sh index f83d57228..e44d3b048 100755 --- a/framework/lib/test_generation/bin/evosuite.sh +++ b/framework/lib/test_generation/bin/evosuite.sh @@ -39,6 +39,13 @@ if [ $D4J_TEST_MODE != "regression" ]; then die "Unsupported test mode: $D4J_TEST_MODE" fi +# Confirm D4J_FILE_TARGET_CLASSES ends in a newline character. Not ending with a +# newline will lead to the below call to `wc -l` not counting the final line. +# This is very likely a mistake. +if [[ $(tail -c1 "$D4J_FILE_TARGET_CLASSES" | wc -l) -eq 0 ]]; then + die "File did not end in newline: $D4J_FILE_TARGET_CLASSES" +fi + # Compute the budget per target class; evenly split the time for search and assertions num_classes=$(cat $D4J_FILE_TARGET_CLASSES | wc -l) budget=$(echo "$D4J_TOTAL_BUDGET/2/$num_classes" | bc) diff --git a/framework/projects/Chart/patches/10.test.patch b/framework/projects/Chart/patches/10.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Chart/patches/13.test.patch b/framework/projects/Chart/patches/13.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Chart/patches/26.test.patch b/framework/projects/Chart/patches/26.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Chart/patches/4.test.patch b/framework/projects/Chart/patches/4.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Chart/patches/7.test.patch b/framework/projects/Chart/patches/7.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Chart/patches/8.test.patch b/framework/projects/Chart/patches/8.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Chart/patches/9.test.patch b/framework/projects/Chart/patches/9.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Cli/patches/3.src.patch b/framework/projects/Cli/patches/3.src.patch index bce663cc6..f2bf9234e 100644 --- a/framework/projects/Cli/patches/3.src.patch +++ b/framework/projects/Cli/patches/3.src.patch @@ -1,16 +1,8 @@ diff --git a/src/java/org/apache/commons/cli/TypeHandler.java b/src/java/org/apache/commons/cli/TypeHandler.java -index 0a0aa72..1ddde5b 100644 +index 0a0aa72..addf90b 100644 --- a/src/java/org/apache/commons/cli/TypeHandler.java +++ b/src/java/org/apache/commons/cli/TypeHandler.java -@@ -22,6 +22,7 @@ import java.net.URL; - - import java.util.Date; - -+import org.apache.commons.lang.math.NumberUtils; - /** - * This is a temporary implementation. TypeHandler will handle the - * pluggableness of OptionTypes and it will direct all of these types -@@ -158,17 +159,7 @@ public class TypeHandler { +@@ -158,17 +158,7 @@ public class TypeHandler { { try { @@ -25,7 +17,7 @@ index 0a0aa72..1ddde5b 100644 - return Long.valueOf(str); - } - } -+ return NumberUtils.createNumber(str); ++ return org.apache.commons.lang.math.NumberUtils.createNumber(str); } catch (NumberFormatException nfe) { diff --git a/framework/projects/Cli/patches/36.src.patch b/framework/projects/Cli/patches/36.src.patch index 5f8ce1435..10a5b3078 100644 --- a/framework/projects/Cli/patches/36.src.patch +++ b/framework/projects/Cli/patches/36.src.patch @@ -22,23 +22,15 @@ index dc6d5db..322053f 100644 /** the name of the selected option */ private String selected; diff --git a/src/main/java/org/apache/commons/cli/Options.java b/src/main/java/org/apache/commons/cli/Options.java -index 796fe5c..0ee4eea 100644 +index 796fe5c..721baaf 100644 --- a/src/main/java/org/apache/commons/cli/Options.java +++ b/src/main/java/org/apache/commons/cli/Options.java -@@ -21,6 +21,7 @@ import java.io.Serializable; - import java.util.ArrayList; - import java.util.Collection; - import java.util.Collections; -+import java.util.HashMap; - import java.util.HashSet; - import java.util.LinkedHashMap; - import java.util.List; -@@ -57,7 +58,7 @@ public class Options implements Serializable +@@ -57,7 +57,7 @@ public class Options implements Serializable private final List requiredOpts = new ArrayList(); /** a map of the option groups */ - private final Map optionGroups = new LinkedHashMap(); -+ private final Map optionGroups = new HashMap(); ++ private final Map optionGroups = new java.util.HashMap(); /** * Add the specified option group. diff --git a/framework/projects/Closure/patches/153.src.patch b/framework/projects/Closure/patches/153.src.patch index 51f1287cd..c78f008da 100644 --- a/framework/projects/Closure/patches/153.src.patch +++ b/framework/projects/Closure/patches/153.src.patch @@ -1,5 +1,5 @@ diff --git a/src/com/google/javascript/jscomp/Normalize.java b/src/com/google/javascript/jscomp/Normalize.java -index c14ac8f1..4c99858e 100644 +index c14ac8f..4c99858 100644 --- a/src/com/google/javascript/jscomp/Normalize.java +++ b/src/com/google/javascript/jscomp/Normalize.java @@ -628,7 +628,6 @@ class Normalize implements CompilerPass { @@ -54,18 +54,10 @@ index c14ac8f1..4c99858e 100644 } diff --git a/src/com/google/javascript/jscomp/SyntacticScopeCreator.java b/src/com/google/javascript/jscomp/SyntacticScopeCreator.java -index eb6e1eab..04bafcf0 100644 +index eb6e1ea..9494792 100644 --- a/src/com/google/javascript/jscomp/SyntacticScopeCreator.java +++ b/src/com/google/javascript/jscomp/SyntacticScopeCreator.java -@@ -20,6 +20,7 @@ import com.google.common.base.Preconditions; - import com.google.javascript.rhino.JSDocInfo; - import com.google.javascript.rhino.Node; - import com.google.javascript.rhino.Token; -+import com.google.javascript.rhino.jstype.JSType; - - - /** -@@ -91,7 +92,7 @@ class SyntacticScopeCreator implements ScopeCreator { +@@ -91,7 +91,7 @@ class SyntacticScopeCreator implements ScopeCreator { // been declared in the outer scope. String fnName = fnNameNode.getString(); if (!fnName.isEmpty() && NodeUtil.isFunctionExpression(n)) { @@ -74,7 +66,7 @@ index eb6e1eab..04bafcf0 100644 } // Args: Declare function variables -@@ -99,7 +100,7 @@ class SyntacticScopeCreator implements ScopeCreator { +@@ -99,7 +99,7 @@ class SyntacticScopeCreator implements ScopeCreator { for (Node a = args.getFirstChild(); a != null; a = a.getNext()) { Preconditions.checkState(a.getType() == Token.NAME); @@ -83,7 +75,7 @@ index eb6e1eab..04bafcf0 100644 } // Body -@@ -121,7 +122,9 @@ class SyntacticScopeCreator implements ScopeCreator { +@@ -121,7 +121,9 @@ class SyntacticScopeCreator implements ScopeCreator { for (Node child = n.getFirstChild(); child != null;) { Node next = child.getNext(); @@ -94,7 +86,7 @@ index eb6e1eab..04bafcf0 100644 child = next; } return; -@@ -136,7 +139,7 @@ class SyntacticScopeCreator implements ScopeCreator { +@@ -136,7 +138,7 @@ class SyntacticScopeCreator implements ScopeCreator { // This is invalid, but allow it so the checks can catch it. return; } @@ -103,7 +95,7 @@ index eb6e1eab..04bafcf0 100644 return; // should not examine function's children case Token.CATCH: -@@ -148,7 +151,7 @@ class SyntacticScopeCreator implements ScopeCreator { +@@ -148,7 +150,7 @@ class SyntacticScopeCreator implements ScopeCreator { final Node var = n.getFirstChild(); final Node block = var.getNext(); @@ -112,7 +104,7 @@ index eb6e1eab..04bafcf0 100644 scanVars(block, n); return; // only one child to scan -@@ -174,7 +177,8 @@ class SyntacticScopeCreator implements ScopeCreator { +@@ -174,7 +176,8 @@ class SyntacticScopeCreator implements ScopeCreator { */ interface RedeclarationHandler { void onRedeclaration( @@ -122,7 +114,7 @@ index eb6e1eab..04bafcf0 100644 } /** -@@ -182,8 +186,8 @@ class SyntacticScopeCreator implements ScopeCreator { +@@ -182,8 +185,8 @@ class SyntacticScopeCreator implements ScopeCreator { */ private class DefaultRedeclarationHandler implements RedeclarationHandler { public void onRedeclaration( @@ -133,14 +125,14 @@ index eb6e1eab..04bafcf0 100644 // Don't allow multiple variables to be declared at the top level scope if (scope.isGlobal()) { -@@ -228,17 +232,16 @@ class SyntacticScopeCreator implements ScopeCreator { +@@ -228,17 +231,16 @@ class SyntacticScopeCreator implements ScopeCreator { * @param n The node corresponding to the variable name. * @param declaredType The variable's type, according to JSDoc */ - private void declareVar(Node n) { - Preconditions.checkState(n.getType() == Token.NAME); + private void declareVar(String name, Node n, Node parent, -+ Node gramps, JSType declaredType, ++ Node gramps, com.google.javascript.rhino.jstype.JSType declaredType, + Node nodeWithLineNumber) { - CompilerInput input = compiler.getInput(sourceName); diff --git a/framework/projects/Closure/patches/158.src.patch b/framework/projects/Closure/patches/158.src.patch index 5560eca46..6c2209952 100644 --- a/framework/projects/Closure/patches/158.src.patch +++ b/framework/projects/Closure/patches/158.src.patch @@ -1,5 +1,5 @@ diff --git a/src/com/google/javascript/jscomp/AbstractCommandLineRunner.java b/src/com/google/javascript/jscomp/AbstractCommandLineRunner.java -index e2e102c6..3a7f427f 100644 +index e2e102c..3a7f427 100644 --- a/src/com/google/javascript/jscomp/AbstractCommandLineRunner.java +++ b/src/com/google/javascript/jscomp/AbstractCommandLineRunner.java @@ -194,11 +194,12 @@ abstract class AbstractCommandLineRunner diagnosticGroups, CheckLevel level) { ++ java.util.List diagnosticGroups, CheckLevel level) { + for (String name : diagnosticGroups) { DiagnosticGroup group = forName(name); Preconditions.checkNotNull(group, "No warning class for name: " + name); diff --git a/framework/projects/Gson/loaded_classes/10.src b/framework/projects/Gson/loaded_classes/10.src index 59d583335..7db6508dd 100644 --- a/framework/projects/Gson/loaded_classes/10.src +++ b/framework/projects/Gson/loaded_classes/10.src @@ -3,6 +3,8 @@ com.google.gson.annotations.SerializedName com.google.gson.FieldNamingPolicy com.google.gson.FieldNamingStrategy com.google.gson.Gson +com.google.gson.internal.$Gson$Preconditions +com.google.gson.internal.$Gson$Types com.google.gson.internal.bind.ArrayTypeAdapter com.google.gson.internal.bind.CollectionTypeAdapterFactory com.google.gson.internal.bind.DateTypeAdapter diff --git a/framework/projects/Gson/loaded_classes/11.src b/framework/projects/Gson/loaded_classes/11.src index ea3c36838..e80937c05 100644 --- a/framework/projects/Gson/loaded_classes/11.src +++ b/framework/projects/Gson/loaded_classes/11.src @@ -1,6 +1,8 @@ com.google.gson.FieldNamingPolicy com.google.gson.FieldNamingStrategy com.google.gson.Gson +com.google.gson.internal.$Gson$Preconditions +com.google.gson.internal.$Gson$Types com.google.gson.internal.bind.ArrayTypeAdapter com.google.gson.internal.bind.CollectionTypeAdapterFactory com.google.gson.internal.bind.DateTypeAdapter diff --git a/framework/projects/Gson/loaded_classes/12.src b/framework/projects/Gson/loaded_classes/12.src index 296c1b954..9a0240f49 100644 --- a/framework/projects/Gson/loaded_classes/12.src +++ b/framework/projects/Gson/loaded_classes/12.src @@ -1,3 +1,4 @@ +com.google.gson.internal.$Gson$Preconditions com.google.gson.internal.bind.JsonTreeReader com.google.gson.internal.JsonReaderInternalAccess com.google.gson.internal.LazilyParsedNumber diff --git a/framework/projects/Gson/loaded_classes/14.src b/framework/projects/Gson/loaded_classes/14.src index 63869268e..b293f0462 100644 --- a/framework/projects/Gson/loaded_classes/14.src +++ b/framework/projects/Gson/loaded_classes/14.src @@ -3,6 +3,8 @@ com.google.gson.annotations.SerializedName com.google.gson.FieldNamingPolicy com.google.gson.FieldNamingStrategy com.google.gson.Gson +com.google.gson.internal.$Gson$Preconditions +com.google.gson.internal.$Gson$Types com.google.gson.internal.bind.ArrayTypeAdapter com.google.gson.internal.bind.CollectionTypeAdapterFactory com.google.gson.internal.bind.DateTypeAdapter diff --git a/framework/projects/Gson/loaded_classes/16.src b/framework/projects/Gson/loaded_classes/16.src index d6abd2252..45229e605 100644 --- a/framework/projects/Gson/loaded_classes/16.src +++ b/framework/projects/Gson/loaded_classes/16.src @@ -3,6 +3,8 @@ com.google.gson.annotations.SerializedName com.google.gson.FieldNamingPolicy com.google.gson.FieldNamingStrategy com.google.gson.Gson +com.google.gson.internal.$Gson$Preconditions +com.google.gson.internal.$Gson$Types com.google.gson.internal.bind.ArrayTypeAdapter com.google.gson.internal.bind.CollectionTypeAdapterFactory com.google.gson.internal.bind.DateTypeAdapter diff --git a/framework/projects/Gson/loaded_classes/18.src b/framework/projects/Gson/loaded_classes/18.src index e2e8d355a..66c25b89d 100644 --- a/framework/projects/Gson/loaded_classes/18.src +++ b/framework/projects/Gson/loaded_classes/18.src @@ -3,6 +3,8 @@ com.google.gson.annotations.SerializedName com.google.gson.FieldNamingPolicy com.google.gson.FieldNamingStrategy com.google.gson.Gson +com.google.gson.internal.$Gson$Preconditions +com.google.gson.internal.$Gson$Types com.google.gson.internal.bind.ArrayTypeAdapter com.google.gson.internal.bind.CollectionTypeAdapterFactory com.google.gson.internal.bind.DateTypeAdapter diff --git a/framework/projects/Gson/loaded_classes/2.src b/framework/projects/Gson/loaded_classes/2.src index 1bc258ad7..e533b9da9 100644 --- a/framework/projects/Gson/loaded_classes/2.src +++ b/framework/projects/Gson/loaded_classes/2.src @@ -1,6 +1,8 @@ com.google.gson.FieldNamingPolicy com.google.gson.FieldNamingStrategy com.google.gson.Gson +com.google.gson.internal.$Gson$Preconditions +com.google.gson.internal.$Gson$Types com.google.gson.internal.bind.ArrayTypeAdapter com.google.gson.internal.bind.CollectionTypeAdapterFactory com.google.gson.internal.bind.DateTypeAdapter diff --git a/framework/projects/Gson/loaded_classes/3.src b/framework/projects/Gson/loaded_classes/3.src index e66017bc7..47b91b955 100644 --- a/framework/projects/Gson/loaded_classes/3.src +++ b/framework/projects/Gson/loaded_classes/3.src @@ -1,6 +1,8 @@ com.google.gson.FieldNamingPolicy com.google.gson.FieldNamingStrategy com.google.gson.Gson +com.google.gson.internal.$Gson$Preconditions +com.google.gson.internal.$Gson$Types com.google.gson.internal.bind.ArrayTypeAdapter com.google.gson.internal.bind.CollectionTypeAdapterFactory com.google.gson.internal.bind.DateTypeAdapter diff --git a/framework/projects/Gson/loaded_classes/5.src b/framework/projects/Gson/loaded_classes/5.src index 099560503..b9d549f3e 100644 --- a/framework/projects/Gson/loaded_classes/5.src +++ b/framework/projects/Gson/loaded_classes/5.src @@ -1,4 +1,5 @@ com.google.gson.DefaultDateTypeAdapter +com.google.gson.internal.$Gson$Preconditions com.google.gson.internal.bind.util.ISO8601Utils com.google.gson.internal.LazilyParsedNumber com.google.gson.JsonDeserializer diff --git a/framework/projects/Gson/loaded_classes/6.src b/framework/projects/Gson/loaded_classes/6.src index cc928768c..087f26de1 100644 --- a/framework/projects/Gson/loaded_classes/6.src +++ b/framework/projects/Gson/loaded_classes/6.src @@ -3,6 +3,8 @@ com.google.gson.annotations.SerializedName com.google.gson.FieldNamingPolicy com.google.gson.FieldNamingStrategy com.google.gson.Gson +com.google.gson.internal.$Gson$Preconditions +com.google.gson.internal.$Gson$Types com.google.gson.internal.bind.ArrayTypeAdapter com.google.gson.internal.bind.CollectionTypeAdapterFactory com.google.gson.internal.bind.DateTypeAdapter diff --git a/framework/projects/Gson/loaded_classes/7.src b/framework/projects/Gson/loaded_classes/7.src index 1bc258ad7..e533b9da9 100644 --- a/framework/projects/Gson/loaded_classes/7.src +++ b/framework/projects/Gson/loaded_classes/7.src @@ -1,6 +1,8 @@ com.google.gson.FieldNamingPolicy com.google.gson.FieldNamingStrategy com.google.gson.Gson +com.google.gson.internal.$Gson$Preconditions +com.google.gson.internal.$Gson$Types com.google.gson.internal.bind.ArrayTypeAdapter com.google.gson.internal.bind.CollectionTypeAdapterFactory com.google.gson.internal.bind.DateTypeAdapter diff --git a/framework/projects/Gson/relevant_tests/14 b/framework/projects/Gson/relevant_tests/14 index 91f06c55e..1498e028f 100644 --- a/framework/projects/Gson/relevant_tests/14 +++ b/framework/projects/Gson/relevant_tests/14 @@ -1 +1,73 @@ +com.google.gson.CommentsTest +com.google.gson.DefaultInetAddressTypeAdapterTest +com.google.gson.DefaultMapJsonSerializerTest +com.google.gson.FieldAttributesTest +com.google.gson.GenericArrayTypeTest +com.google.gson.GsonBuilderTest +com.google.gson.GsonTest +com.google.gson.GsonTypeAdapterTest +com.google.gson.JavaSerializationTest +com.google.gson.JsonObjectTest +com.google.gson.JsonParserTest +com.google.gson.LongSerializationPolicyTest +com.google.gson.MixedStreamTest +com.google.gson.ObjectTypeAdapterTest +com.google.gson.OverrideCoreTypeAdaptersTest +com.google.gson.ParameterizedTypeTest +com.google.gson.functional.ArrayTest +com.google.gson.functional.CircularReferenceTest +com.google.gson.functional.CollectionTest +com.google.gson.functional.ConcurrencyTest +com.google.gson.functional.CustomDeserializerTest +com.google.gson.functional.CustomSerializerTest +com.google.gson.functional.CustomTypeAdaptersTest +com.google.gson.functional.DefaultTypeAdaptersTest +com.google.gson.functional.DelegateTypeAdapterTest +com.google.gson.functional.EnumTest +com.google.gson.functional.EscapingTest +com.google.gson.functional.ExclusionStrategyFunctionalTest +com.google.gson.functional.ExposeFieldsTest +com.google.gson.functional.FieldExclusionTest +com.google.gson.functional.FieldNamingTest +com.google.gson.functional.InheritanceTest +com.google.gson.functional.InstanceCreatorTest +com.google.gson.functional.InterfaceTest +com.google.gson.functional.InternationalizationTest +com.google.gson.functional.JavaUtilConcurrentAtomicTest +com.google.gson.functional.JavaUtilTest +com.google.gson.functional.JsonAdapterAnnotationOnClassesTest +com.google.gson.functional.JsonAdapterAnnotationOnFieldsTest +com.google.gson.functional.JsonAdapterSerializerDeserializerTest +com.google.gson.functional.JsonParserTest +com.google.gson.functional.JsonTreeTest +com.google.gson.functional.LeniencyTest +com.google.gson.functional.MapAsArrayTypeAdapterTest +com.google.gson.functional.MapTest +com.google.gson.functional.MoreSpecificTypeSerializationTest +com.google.gson.functional.NamingPolicyTest +com.google.gson.functional.NullObjectAndFieldTest +com.google.gson.functional.ObjectTest +com.google.gson.functional.ParameterizedTypesTest +com.google.gson.functional.PrettyPrintingTest +com.google.gson.functional.PrimitiveCharacterTest +com.google.gson.functional.PrimitiveTest +com.google.gson.functional.PrintFormattingTest +com.google.gson.functional.RawSerializationTest +com.google.gson.functional.ReadersWritersTest +com.google.gson.functional.RuntimeTypeAdapterFactoryFunctionalTest +com.google.gson.functional.SecurityTest +com.google.gson.functional.SerializedNameTest +com.google.gson.functional.StreamingTypeAdaptersTest +com.google.gson.functional.StringTest +com.google.gson.functional.ThrowableFunctionalTest +com.google.gson.functional.TreeTypeAdaptersTest +com.google.gson.functional.TypeAdapterPrecedenceTest +com.google.gson.functional.TypeHierarchyAdapterTest +com.google.gson.functional.TypeVariableTest +com.google.gson.functional.UncategorizedTest +com.google.gson.functional.VersioningTest +com.google.gson.internal.GsonTypesTest com.google.gson.internal.bind.RecursiveTypesResolveTest +com.google.gson.metrics.PerformanceTest +com.google.gson.reflect.TypeTokenTest +com.google.gson.regression.JsonAdapterNullSafeTest diff --git a/framework/projects/Gson/relevant_tests/16 b/framework/projects/Gson/relevant_tests/16 index 91f06c55e..1498e028f 100644 --- a/framework/projects/Gson/relevant_tests/16 +++ b/framework/projects/Gson/relevant_tests/16 @@ -1 +1,73 @@ +com.google.gson.CommentsTest +com.google.gson.DefaultInetAddressTypeAdapterTest +com.google.gson.DefaultMapJsonSerializerTest +com.google.gson.FieldAttributesTest +com.google.gson.GenericArrayTypeTest +com.google.gson.GsonBuilderTest +com.google.gson.GsonTest +com.google.gson.GsonTypeAdapterTest +com.google.gson.JavaSerializationTest +com.google.gson.JsonObjectTest +com.google.gson.JsonParserTest +com.google.gson.LongSerializationPolicyTest +com.google.gson.MixedStreamTest +com.google.gson.ObjectTypeAdapterTest +com.google.gson.OverrideCoreTypeAdaptersTest +com.google.gson.ParameterizedTypeTest +com.google.gson.functional.ArrayTest +com.google.gson.functional.CircularReferenceTest +com.google.gson.functional.CollectionTest +com.google.gson.functional.ConcurrencyTest +com.google.gson.functional.CustomDeserializerTest +com.google.gson.functional.CustomSerializerTest +com.google.gson.functional.CustomTypeAdaptersTest +com.google.gson.functional.DefaultTypeAdaptersTest +com.google.gson.functional.DelegateTypeAdapterTest +com.google.gson.functional.EnumTest +com.google.gson.functional.EscapingTest +com.google.gson.functional.ExclusionStrategyFunctionalTest +com.google.gson.functional.ExposeFieldsTest +com.google.gson.functional.FieldExclusionTest +com.google.gson.functional.FieldNamingTest +com.google.gson.functional.InheritanceTest +com.google.gson.functional.InstanceCreatorTest +com.google.gson.functional.InterfaceTest +com.google.gson.functional.InternationalizationTest +com.google.gson.functional.JavaUtilConcurrentAtomicTest +com.google.gson.functional.JavaUtilTest +com.google.gson.functional.JsonAdapterAnnotationOnClassesTest +com.google.gson.functional.JsonAdapterAnnotationOnFieldsTest +com.google.gson.functional.JsonAdapterSerializerDeserializerTest +com.google.gson.functional.JsonParserTest +com.google.gson.functional.JsonTreeTest +com.google.gson.functional.LeniencyTest +com.google.gson.functional.MapAsArrayTypeAdapterTest +com.google.gson.functional.MapTest +com.google.gson.functional.MoreSpecificTypeSerializationTest +com.google.gson.functional.NamingPolicyTest +com.google.gson.functional.NullObjectAndFieldTest +com.google.gson.functional.ObjectTest +com.google.gson.functional.ParameterizedTypesTest +com.google.gson.functional.PrettyPrintingTest +com.google.gson.functional.PrimitiveCharacterTest +com.google.gson.functional.PrimitiveTest +com.google.gson.functional.PrintFormattingTest +com.google.gson.functional.RawSerializationTest +com.google.gson.functional.ReadersWritersTest +com.google.gson.functional.RuntimeTypeAdapterFactoryFunctionalTest +com.google.gson.functional.SecurityTest +com.google.gson.functional.SerializedNameTest +com.google.gson.functional.StreamingTypeAdaptersTest +com.google.gson.functional.StringTest +com.google.gson.functional.ThrowableFunctionalTest +com.google.gson.functional.TreeTypeAdaptersTest +com.google.gson.functional.TypeAdapterPrecedenceTest +com.google.gson.functional.TypeHierarchyAdapterTest +com.google.gson.functional.TypeVariableTest +com.google.gson.functional.UncategorizedTest +com.google.gson.functional.VersioningTest +com.google.gson.internal.GsonTypesTest com.google.gson.internal.bind.RecursiveTypesResolveTest +com.google.gson.metrics.PerformanceTest +com.google.gson.reflect.TypeTokenTest +com.google.gson.regression.JsonAdapterNullSafeTest diff --git a/framework/projects/Gson/relevant_tests/18 b/framework/projects/Gson/relevant_tests/18 index 16ac6a20e..1498e028f 100644 --- a/framework/projects/Gson/relevant_tests/18 +++ b/framework/projects/Gson/relevant_tests/18 @@ -1 +1,73 @@ +com.google.gson.CommentsTest +com.google.gson.DefaultInetAddressTypeAdapterTest +com.google.gson.DefaultMapJsonSerializerTest +com.google.gson.FieldAttributesTest +com.google.gson.GenericArrayTypeTest +com.google.gson.GsonBuilderTest +com.google.gson.GsonTest +com.google.gson.GsonTypeAdapterTest +com.google.gson.JavaSerializationTest +com.google.gson.JsonObjectTest +com.google.gson.JsonParserTest +com.google.gson.LongSerializationPolicyTest +com.google.gson.MixedStreamTest +com.google.gson.ObjectTypeAdapterTest +com.google.gson.OverrideCoreTypeAdaptersTest +com.google.gson.ParameterizedTypeTest +com.google.gson.functional.ArrayTest +com.google.gson.functional.CircularReferenceTest com.google.gson.functional.CollectionTest +com.google.gson.functional.ConcurrencyTest +com.google.gson.functional.CustomDeserializerTest +com.google.gson.functional.CustomSerializerTest +com.google.gson.functional.CustomTypeAdaptersTest +com.google.gson.functional.DefaultTypeAdaptersTest +com.google.gson.functional.DelegateTypeAdapterTest +com.google.gson.functional.EnumTest +com.google.gson.functional.EscapingTest +com.google.gson.functional.ExclusionStrategyFunctionalTest +com.google.gson.functional.ExposeFieldsTest +com.google.gson.functional.FieldExclusionTest +com.google.gson.functional.FieldNamingTest +com.google.gson.functional.InheritanceTest +com.google.gson.functional.InstanceCreatorTest +com.google.gson.functional.InterfaceTest +com.google.gson.functional.InternationalizationTest +com.google.gson.functional.JavaUtilConcurrentAtomicTest +com.google.gson.functional.JavaUtilTest +com.google.gson.functional.JsonAdapterAnnotationOnClassesTest +com.google.gson.functional.JsonAdapterAnnotationOnFieldsTest +com.google.gson.functional.JsonAdapterSerializerDeserializerTest +com.google.gson.functional.JsonParserTest +com.google.gson.functional.JsonTreeTest +com.google.gson.functional.LeniencyTest +com.google.gson.functional.MapAsArrayTypeAdapterTest +com.google.gson.functional.MapTest +com.google.gson.functional.MoreSpecificTypeSerializationTest +com.google.gson.functional.NamingPolicyTest +com.google.gson.functional.NullObjectAndFieldTest +com.google.gson.functional.ObjectTest +com.google.gson.functional.ParameterizedTypesTest +com.google.gson.functional.PrettyPrintingTest +com.google.gson.functional.PrimitiveCharacterTest +com.google.gson.functional.PrimitiveTest +com.google.gson.functional.PrintFormattingTest +com.google.gson.functional.RawSerializationTest +com.google.gson.functional.ReadersWritersTest +com.google.gson.functional.RuntimeTypeAdapterFactoryFunctionalTest +com.google.gson.functional.SecurityTest +com.google.gson.functional.SerializedNameTest +com.google.gson.functional.StreamingTypeAdaptersTest +com.google.gson.functional.StringTest +com.google.gson.functional.ThrowableFunctionalTest +com.google.gson.functional.TreeTypeAdaptersTest +com.google.gson.functional.TypeAdapterPrecedenceTest +com.google.gson.functional.TypeHierarchyAdapterTest +com.google.gson.functional.TypeVariableTest +com.google.gson.functional.UncategorizedTest +com.google.gson.functional.VersioningTest +com.google.gson.internal.GsonTypesTest +com.google.gson.internal.bind.RecursiveTypesResolveTest +com.google.gson.metrics.PerformanceTest +com.google.gson.reflect.TypeTokenTest +com.google.gson.regression.JsonAdapterNullSafeTest diff --git a/framework/projects/JacksonDatabind/compile-errors/test-111-112.diff b/framework/projects/JacksonDatabind/compile-errors/test-111-112.diff new file mode 100644 index 000000000..f35630aa9 --- /dev/null +++ b/framework/projects/JacksonDatabind/compile-errors/test-111-112.diff @@ -0,0 +1,13 @@ +diff --git a/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java b/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java +index f7d1517ed..0fc5e357d 100644 +--- a/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java ++++ b/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java +@@ -80,7 +80,7 @@ public class IllegalTypesCheckTest extends BaseMapTest + public void testJDKTypes1855() throws Exception + { + // apparently included by JDK? +- _testIllegalType("com.sun.org.apache.bcel.internal.util.ClassLoader"); ++// _testIllegalType("com.sun.org.apache.bcel.internal.util.ClassLoader"); + + // also: we can try some form of testing, even if bit contrived... + _testIllegalType(BogusPointcutAdvisor.class); diff --git a/framework/projects/JacksonDatabind/compile-errors/test-93-97.diff b/framework/projects/JacksonDatabind/compile-errors/test-93-97.diff new file mode 100644 index 000000000..f35630aa9 --- /dev/null +++ b/framework/projects/JacksonDatabind/compile-errors/test-93-97.diff @@ -0,0 +1,13 @@ +diff --git a/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java b/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java +index f7d1517ed..0fc5e357d 100644 +--- a/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java ++++ b/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java +@@ -80,7 +80,7 @@ public class IllegalTypesCheckTest extends BaseMapTest + public void testJDKTypes1855() throws Exception + { + // apparently included by JDK? +- _testIllegalType("com.sun.org.apache.bcel.internal.util.ClassLoader"); ++// _testIllegalType("com.sun.org.apache.bcel.internal.util.ClassLoader"); + + // also: we can try some form of testing, even if bit contrived... + _testIllegalType(BogusPointcutAdvisor.class); diff --git a/framework/projects/JacksonDatabind/compile-errors/test-99-109.diff b/framework/projects/JacksonDatabind/compile-errors/test-99-109.diff new file mode 100644 index 000000000..f35630aa9 --- /dev/null +++ b/framework/projects/JacksonDatabind/compile-errors/test-99-109.diff @@ -0,0 +1,13 @@ +diff --git a/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java b/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java +index f7d1517ed..0fc5e357d 100644 +--- a/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java ++++ b/src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java +@@ -80,7 +80,7 @@ public class IllegalTypesCheckTest extends BaseMapTest + public void testJDKTypes1855() throws Exception + { + // apparently included by JDK? +- _testIllegalType("com.sun.org.apache.bcel.internal.util.ClassLoader"); ++// _testIllegalType("com.sun.org.apache.bcel.internal.util.ClassLoader"); + + // also: we can try some form of testing, even if bit contrived... + _testIllegalType(BogusPointcutAdvisor.class); diff --git a/framework/projects/JacksonDatabind/patches/63.src.patch b/framework/projects/JacksonDatabind/patches/63.src.patch index f31b8f91a..e43a10516 100644 --- a/framework/projects/JacksonDatabind/patches/63.src.patch +++ b/framework/projects/JacksonDatabind/patches/63.src.patch @@ -1,16 +1,8 @@ diff --git a/src/main/java/com/fasterxml/jackson/databind/JsonMappingException.java b/src/main/java/com/fasterxml/jackson/databind/JsonMappingException.java -index 00896eab5..e8bd1e268 100644 +index 00896ea..482622b 100644 --- a/src/main/java/com/fasterxml/jackson/databind/JsonMappingException.java +++ b/src/main/java/com/fasterxml/jackson/databind/JsonMappingException.java -@@ -7,6 +7,7 @@ import java.util.*; - - import com.fasterxml.jackson.annotation.JsonIgnore; - import com.fasterxml.jackson.core.*; -+import com.fasterxml.jackson.databind.util.ClassUtil; - - /** - * Checked exception used to signal fatal problems with mapping of -@@ -127,22 +128,12 @@ public class JsonMappingException +@@ -127,22 +127,12 @@ public class JsonMappingException // butt-ugly for arrays. // 06-Oct-2016, tatu: as per [databind#1403], `getSimpleName()` not so good // as it drops enclosing class. So let's try bit different approach @@ -24,7 +16,8 @@ index 00896eab5..e8bd1e268 100644 - sb.append("[]"); - } - /* was: - String pkgName = ClassUtil.getPackageName(cls); +- String pkgName = ClassUtil.getPackageName(cls); ++ String pkgName = com.fasterxml.jackson.databind.util.ClassUtil.getPackageName(cls); if (pkgName != null) { sb.append(pkgName); sb.append('.'); diff --git a/framework/projects/JxPath/patches/7.src.patch b/framework/projects/JxPath/patches/7.src.patch index 31e809ced..8a7290e9b 100644 --- a/framework/projects/JxPath/patches/7.src.patch +++ b/framework/projects/JxPath/patches/7.src.patch @@ -1,103 +1,67 @@ diff --git a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationGreaterThan.java b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationGreaterThan.java -index 4d8c2c4..af667db 100644 +index 4d8c2c4..3a053d4 100644 --- a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationGreaterThan.java +++ b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationGreaterThan.java -@@ -16,6 +16,8 @@ - */ - package org.apache.commons.jxpath.ri.compiler; - -+import org.apache.commons.jxpath.ri.EvalContext; -+import org.apache.commons.jxpath.ri.InfoSetUtil; - /** - * Implementation of Expression for the operation ">". - * -@@ -28,8 +30,10 @@ public class CoreOperationGreaterThan extends CoreOperationRelationalExpression +@@ -28,8 +28,10 @@ public class CoreOperationGreaterThan extends CoreOperationRelationalExpression super(new Expression[] { arg1, arg2 }); } - protected boolean evaluateCompare(int compare) { - return compare > 0; -+ public Object computeValue(EvalContext context) { -+ double l = InfoSetUtil.doubleValue(args[0].computeValue(context)); -+ double r = InfoSetUtil.doubleValue(args[1].computeValue(context)); ++ public Object computeValue(org.apache.commons.jxpath.ri.EvalContext context) { ++ double l = org.apache.commons.jxpath.ri.InfoSetUtil.doubleValue(args[0].computeValue(context)); ++ double r = org.apache.commons.jxpath.ri.InfoSetUtil.doubleValue(args[1].computeValue(context)); + return l > r ? Boolean.TRUE : Boolean.FALSE; } public String getSymbol() { diff --git a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationGreaterThanOrEqual.java b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationGreaterThanOrEqual.java -index c3d5720..42b4ec2 100644 +index c3d5720..b9f156c 100644 --- a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationGreaterThanOrEqual.java +++ b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationGreaterThanOrEqual.java -@@ -16,6 +16,8 @@ - */ - package org.apache.commons.jxpath.ri.compiler; - -+import org.apache.commons.jxpath.ri.EvalContext; -+import org.apache.commons.jxpath.ri.InfoSetUtil; - /** - * Implementation of Expression for the operation ">=". - * -@@ -29,8 +31,10 @@ public class CoreOperationGreaterThanOrEqual extends +@@ -29,8 +29,10 @@ public class CoreOperationGreaterThanOrEqual extends super(new Expression[] { arg1, arg2 }); } - protected boolean evaluateCompare(int compare) { - return compare >= 0; -+ public Object computeValue(EvalContext context) { -+ double l = InfoSetUtil.doubleValue(args[0].computeValue(context)); -+ double r = InfoSetUtil.doubleValue(args[1].computeValue(context)); ++ public Object computeValue(org.apache.commons.jxpath.ri.EvalContext context) { ++ double l = org.apache.commons.jxpath.ri.InfoSetUtil.doubleValue(args[0].computeValue(context)); ++ double r = org.apache.commons.jxpath.ri.InfoSetUtil.doubleValue(args[1].computeValue(context)); + return l >= r ? Boolean.TRUE : Boolean.FALSE; } public String getSymbol() { diff --git a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationLessThan.java b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationLessThan.java -index 4c0d9ce..e0da347 100644 +index 4c0d9ce..374f772 100644 --- a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationLessThan.java +++ b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationLessThan.java -@@ -16,6 +16,8 @@ - */ - package org.apache.commons.jxpath.ri.compiler; - -+import org.apache.commons.jxpath.ri.EvalContext; -+import org.apache.commons.jxpath.ri.InfoSetUtil; - /** - * Implementation of Expression for the operation "<". - * -@@ -28,8 +30,10 @@ public class CoreOperationLessThan extends CoreOperationRelationalExpression { +@@ -28,8 +28,10 @@ public class CoreOperationLessThan extends CoreOperationRelationalExpression { super(new Expression[] { arg1, arg2 }); } - protected boolean evaluateCompare(int compare) { - return compare < 0; -+ public Object computeValue(EvalContext context) { -+ double l = InfoSetUtil.doubleValue(args[0].computeValue(context)); -+ double r = InfoSetUtil.doubleValue(args[1].computeValue(context)); ++ public Object computeValue(org.apache.commons.jxpath.ri.EvalContext context) { ++ double l = org.apache.commons.jxpath.ri.InfoSetUtil.doubleValue(args[0].computeValue(context)); ++ double r = org.apache.commons.jxpath.ri.InfoSetUtil.doubleValue(args[1].computeValue(context)); + return l < r ? Boolean.TRUE : Boolean.FALSE; } public String getSymbol() { diff --git a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationLessThanOrEqual.java b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationLessThanOrEqual.java -index 7940ecb..becf2e7 100644 +index 7940ecb..db562d8 100644 --- a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationLessThanOrEqual.java +++ b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationLessThanOrEqual.java -@@ -16,6 +16,8 @@ - */ - package org.apache.commons.jxpath.ri.compiler; - -+import org.apache.commons.jxpath.ri.EvalContext; -+import org.apache.commons.jxpath.ri.InfoSetUtil; - /** - * Implementation of Expression for the operation "<=". - * -@@ -29,8 +31,10 @@ public class CoreOperationLessThanOrEqual extends +@@ -29,8 +29,10 @@ public class CoreOperationLessThanOrEqual extends super(new Expression[] { arg1, arg2 }); } - protected boolean evaluateCompare(int compare) { - return compare <= 0; -+ public Object computeValue(EvalContext context) { -+ double l = InfoSetUtil.doubleValue(args[0].computeValue(context)); -+ double r = InfoSetUtil.doubleValue(args[1].computeValue(context)); ++ public Object computeValue(org.apache.commons.jxpath.ri.EvalContext context) { ++ double l = org.apache.commons.jxpath.ri.InfoSetUtil.doubleValue(args[0].computeValue(context)); ++ double r = org.apache.commons.jxpath.ri.InfoSetUtil.doubleValue(args[1].computeValue(context)); + return l <= r ? Boolean.TRUE : Boolean.FALSE; } diff --git a/framework/projects/JxPath/patches/9.src.patch b/framework/projects/JxPath/patches/9.src.patch index 231c83ab1..fb2354c9e 100644 --- a/framework/projects/JxPath/patches/9.src.patch +++ b/framework/projects/JxPath/patches/9.src.patch @@ -75,40 +75,24 @@ index e083ab3..26875b8 100644 } diff --git a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationEqual.java b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationEqual.java -index 801e7fb..26da44c 100644 +index 801e7fb..baca531 100644 --- a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationEqual.java +++ b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationEqual.java -@@ -16,6 +16,7 @@ - */ - package org.apache.commons.jxpath.ri.compiler; - -+import org.apache.commons.jxpath.ri.EvalContext; - /** - * Implementation of Expression for the operation "=". - * -@@ -28,6 +29,9 @@ public class CoreOperationEqual extends CoreOperationCompare { +@@ -28,6 +28,9 @@ public class CoreOperationEqual extends CoreOperationCompare { super(arg1, arg2); } -+ public Object computeValue(EvalContext context) { ++ public Object computeValue(org.apache.commons.jxpath.ri.EvalContext context) { + return equal(context, args[0], args[1]) ? Boolean.TRUE : Boolean.FALSE; + } public String getSymbol() { return "="; } diff --git a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationNotEqual.java b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationNotEqual.java -index aad3f5f..dac71f2 100644 +index aad3f5f..6754f46 100644 --- a/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationNotEqual.java +++ b/src/java/org/apache/commons/jxpath/ri/compiler/CoreOperationNotEqual.java -@@ -16,6 +16,7 @@ - */ - package org.apache.commons.jxpath.ri.compiler; - -+import org.apache.commons.jxpath.ri.EvalContext; - /** - * Implementation of Expression for the operation "!=". - * -@@ -25,9 +26,12 @@ package org.apache.commons.jxpath.ri.compiler; +@@ -25,9 +25,12 @@ package org.apache.commons.jxpath.ri.compiler; public class CoreOperationNotEqual extends CoreOperationCompare { public CoreOperationNotEqual(Expression arg1, Expression arg2) { @@ -116,7 +100,7 @@ index aad3f5f..dac71f2 100644 + super(arg1, arg2); } -+ public Object computeValue(EvalContext context) { ++ public Object computeValue(org.apache.commons.jxpath.ri.EvalContext context) { + return equal(context, args[0], args[1]) ? Boolean.FALSE : Boolean.TRUE; + } public String getSymbol() { diff --git a/framework/projects/Lang/patches/15.test.patch b/framework/projects/Lang/patches/15.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Lang/patches/25.test.patch b/framework/projects/Lang/patches/25.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Lang/patches/49.test.patch b/framework/projects/Lang/patches/49.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Mockito/patches/1.test.patch b/framework/projects/Mockito/patches/1.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Mockito/patches/20.test.patch b/framework/projects/Mockito/patches/20.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Mockito/patches/3.test.patch b/framework/projects/Mockito/patches/3.test.patch new file mode 100644 index 000000000..e69de29bb diff --git a/framework/projects/Time/loaded_classes/5.src b/framework/projects/Time/loaded_classes/5.src index 9e7c31d7d..c2e37cab5 100644 --- a/framework/projects/Time/loaded_classes/5.src +++ b/framework/projects/Time/loaded_classes/5.src @@ -1,18 +1,59 @@ -org.joda.time.tz.Provider -org.joda.time.chrono.ISOChronology -org.joda.time.DateTimeZone -org.joda.time.DateTimeUtils +org.joda.time.base.AbstractPeriod +org.joda.time.base.BasePeriod org.joda.time.chrono.AssembledChronology -org.joda.time.ReadablePeriod org.joda.time.chrono.BaseChronology -org.joda.time.tz.ZoneInfoProvider -org.joda.time.tz.NameProvider -org.joda.time.tz.DateTimeZoneBuilder +org.joda.time.chrono.BasicChronology +org.joda.time.chrono.BasicDayOfMonthDateTimeField +org.joda.time.chrono.BasicDayOfYearDateTimeField +org.joda.time.chrono.BasicGJChronology +org.joda.time.chrono.BasicMonthOfYearDateTimeField +org.joda.time.chrono.BasicWeekOfWeekyearDateTimeField +org.joda.time.chrono.BasicWeekyearDateTimeField +org.joda.time.chrono.BasicYearDateTimeField +org.joda.time.chrono.GJDayOfWeekDateTimeField +org.joda.time.chrono.GJEraDateTimeField +org.joda.time.chrono.GJMonthOfYearDateTimeField +org.joda.time.chrono.GJYearOfEraDateTimeField +org.joda.time.chrono.GregorianChronology +org.joda.time.chrono.ISOChronology +org.joda.time.chrono.ISOYearOfEraDateTimeField +org.joda.time.chrono.ZonedChronology org.joda.time.Chronology -org.joda.time.JodaTimePermission -org.joda.time.tz.CachedDateTimeZone +org.joda.time.DateTimeField +org.joda.time.DateTimeFieldType +org.joda.time.DateTimeUtils +org.joda.time.DateTimeZone +org.joda.time.DurationField +org.joda.time.DurationFieldType +org.joda.time.field.BaseDateTimeField +org.joda.time.field.BaseDurationField +org.joda.time.field.DecoratedDateTimeField +org.joda.time.field.DecoratedDurationField +org.joda.time.field.DividedDateTimeField +org.joda.time.field.FieldUtils +org.joda.time.field.ImpreciseDateTimeField +org.joda.time.field.MillisDurationField +org.joda.time.field.OffsetDateTimeField +org.joda.time.field.PreciseDateTimeField +org.joda.time.field.PreciseDurationDateTimeField +org.joda.time.field.PreciseDurationField +org.joda.time.field.RemainderDateTimeField +org.joda.time.field.ScaledDurationField +org.joda.time.field.UnsupportedDateTimeField +org.joda.time.field.UnsupportedDurationField +org.joda.time.field.ZeroIsMaxDateTimeField +org.joda.time.IllegalFieldValueException org.joda.time.IllegalInstantException +org.joda.time.JodaTimePermission +org.joda.time.Period +org.joda.time.PeriodType org.joda.time.ReadableInstant org.joda.time.ReadableInterval -org.joda.time.tz.FixedDateTimeZone +org.joda.time.ReadablePeriod +org.joda.time.tz.CachedDateTimeZone +org.joda.time.tz.DateTimeZoneBuilder org.joda.time.tz.DefaultNameProvider +org.joda.time.tz.FixedDateTimeZone +org.joda.time.tz.NameProvider +org.joda.time.tz.Provider +org.joda.time.tz.ZoneInfoProvider diff --git a/framework/projects/Time/patches/1.test.patch b/framework/projects/Time/patches/1.test.patch new file mode 100644 index 000000000..e69de29bb