diff --git a/.gitignore b/.gitignore index 893e169b..45463dcb 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,6 @@ # Maven target/ # Eclipse -.classpath -.project .settings/ bin/ -*.versionsBackup \ No newline at end of file +*.versionsBackup diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml new file mode 100644 index 00000000..effae898 --- /dev/null +++ b/.mvn/extensions.xml @@ -0,0 +1,9 @@ + + + + + org.eclipse.tycho.extras + tycho-pomless + 1.2.0 + + \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 23623d55..8a3af238 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: java jdk: - - openjdk6 + - openjdk8 -script: cd guava-bundle && mvn install && cd ../pitest-bundles && mvn install && cd ../pitrunner && mvn install && cd ../pitclipse-plugin && mvn install +script: mvn verify diff --git a/bundles/org.pitest.pitclipse.core/.classpath b/bundles/org.pitest.pitclipse.core/.classpath new file mode 100644 index 00000000..eca7bdba --- /dev/null +++ b/bundles/org.pitest.pitclipse.core/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/bundles/org.pitest.pitclipse.core/.project b/bundles/org.pitest.pitclipse.core/.project new file mode 100644 index 00000000..d70e2961 --- /dev/null +++ b/bundles/org.pitest.pitclipse.core/.project @@ -0,0 +1,34 @@ + + + org.pitest.pitclipse.core + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + net.sf.eclipsecs.core.CheckstyleBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + net.sf.eclipsecs.core.CheckstyleNature + + diff --git a/bundles/org.pitest.pitclipse.core/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.core/META-INF/MANIFEST.MF index 4faf2068..6b84410a 100644 --- a/bundles/org.pitest.pitclipse.core/META-INF/MANIFEST.MF +++ b/bundles/org.pitest.pitclipse.core/META-INF/MANIFEST.MF @@ -2,25 +2,24 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Pitclipse Core Bundle-SymbolicName: org.pitest.pitclipse.core;singleton:=true -Bundle-Version: 1.1.7.201805090619 +Bundle-Version: 2.0.0.qualifier Bundle-Activator: org.pitest.pitclipse.core.PitCoreActivator -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.core.resources, - org.eclipse.jdt.core;bundle-version="3.8.3", - org.eclipse.debug.ui;bundle-version="3.8.2", - org.eclipse.jdt.debug.ui;bundle-version="3.6.100", - org.eclipse.jdt.launching;bundle-version="3.6.101", - org.eclipse.jdt.ui;bundle-version="3.8.2", - org.pitest.pitrunner;bundle-version="1.1.7", - org.pitest.osgi;bundle-version="1.1.9", - org.pitest.command-line-osgi;bundle-version="1.1.9", - org.pitest.html-report-osgi;bundle-version="1.1.9", - org.pitest.guava-shade-osgi;bundle-version="18.0.0" +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)", + org.eclipse.jdt.core;bundle-version="[3.11.2,4.0.0)", + org.pitest.pitclipse.runner;bundle-version="[2.0.0,3.0.0)", + com.google.guava;bundle-version="21.0.0", + org.pitest;bundle-version="1.4.6", + org.eclipse.core.resources;bundle-version="[3.10.1,4.0.0)", + org.eclipse.ui;bundle-version="[3.107.0,4.0.0)" Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-Vendor: Pitest.org Bundle-ClassPath: . Export-Package: org.pitest.pitclipse.core, org.pitest.pitclipse.core.extension.handler, - org.pitest.pitclipse.core.extension.point + org.pitest.pitclipse.core.extension.point, + org.pitest.pitclipse.core.launch, + org.pitest.pitclipse.core.preferences +Automatic-Module-Name: org.pitest.pitclipse.core +Import-Package: org.eclipse.jface.preference, + org.eclipse.ui.preferences diff --git a/bundles/org.pitest.pitclipse.core/build.properties b/bundles/org.pitest.pitclipse.core/build.properties index d60e38cc..d3f1f000 100644 --- a/bundles/org.pitest.pitclipse.core/build.properties +++ b/bundles/org.pitest.pitclipse.core/build.properties @@ -1,6 +1,5 @@ source.. = src/ bin.includes = plugin.xml,\ META-INF/,\ - .,\ - icons/ + . jars.compile.order = . diff --git a/bundles/org.pitest.pitclipse.core/plugin.xml b/bundles/org.pitest.pitclipse.core/plugin.xml index 853c5e84..74823e42 100644 --- a/bundles/org.pitest.pitclipse.core/plugin.xml +++ b/bundles/org.pitest.pitclipse.core/plugin.xml @@ -4,64 +4,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/PitCoreActivator.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/PitCoreActivator.java index c1a9bd21..ea0359aa 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/PitCoreActivator.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/PitCoreActivator.java @@ -1,54 +1,56 @@ package org.pitest.pitclipse.core; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; + import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Plugin; import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.ui.preferences.ScopedPreferenceStore; import org.osgi.framework.BundleContext; -import org.pitest.pitclipse.pitrunner.config.PitConfiguration; -import org.pitest.pitclipse.pitrunner.config.PitExecutionMode; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.runner.config.PitConfiguration; +import org.pitest.pitclipse.runner.config.PitExecutionMode; import java.io.File; import java.io.IOException; import java.math.BigDecimal; import java.util.List; +import static com.google.common.collect.ImmutableList.copyOf; +import static com.google.common.collect.ImmutableList.of; +import static com.google.common.io.Files.createParentDirs; +import static com.google.common.io.Files.createTempDir; import static org.eclipse.core.runtime.FileLocator.getBundleFile; -import static org.pitest.pitclipse.core.preferences.PitMutatorsPreferencePage.PIT_MUTATORS; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.AVOID_CALLS_TO; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.EXCLUDED_CLASSES; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.EXCLUDED_METHODS; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.INCREMENTAL_ANALYSIS; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.PIT_EXECUTION_MODE; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.RUN_IN_PARALLEL; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.TIMEOUT; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.TIMEOUT_FACTOR; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.of; -import static org.pitest.pitclipse.reloc.guava.io.Files.createParentDirs; -import static org.pitest.pitclipse.reloc.guava.io.Files.createTempDir; +import static org.pitest.pitclipse.core.preferences.PitPreferences.AVOID_CALLS_TO; +import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_CLASSES; +import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_METHODS; +import static org.pitest.pitclipse.core.preferences.PitPreferences.INCREMENTAL_ANALYSIS; +import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_EXECUTION_MODE; +import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_MUTATORS; +import static org.pitest.pitclipse.core.preferences.PitPreferences.RUN_IN_PARALLEL; +import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT; +import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT_FACTOR; /** * The activator class controls the plug-in life cycle */ -public class PitCoreActivator extends AbstractUIPlugin { +public class PitCoreActivator extends Plugin { private static final String HTML_RESULTS_DIR = "html_results"; private static final String HTML_FILE = "index.html"; private static final String STATE_FILE = "state-1.1.0.out"; private static final String HISTORY_DIR = "history"; - + // The plug-in ID public static final String PLUGIN_ID = "org.pitest.pitclipse.core"; //$NON-NLS-1$ // The shared instance private static PitCoreActivator plugin; + + private IPreferenceStore preferences; private ImmutableList pitClasspath = of(); @@ -63,6 +65,13 @@ public List getPitClasspath() { private void setPitClasspath(List classpath) { pitClasspath = copyOf(classpath); } + + public IPreferenceStore getPreferenceStore() { + if (preferences == null) { + preferences = new ScopedPreferenceStore(InstanceScope.INSTANCE, PLUGIN_ID); + } + return preferences; + } /* * (non-Javadoc) @@ -76,21 +85,38 @@ public void start(BundleContext context) throws Exception { // NOPMD - Base // class defines // signature super.start(context); + plugin = this; +// this.context = context; setActivator(this); setupStateDirectories(); - ImmutableList.Builder builder = ImmutableList.builder(); - builder.add(getBundleFile(Platform.getBundle("org.pitest.command-line-osgi")).getCanonicalPath()); - builder.add(getBundleFile(Platform.getBundle("org.pitest.html-report-osgi")).getCanonicalPath()); - builder.add(getBundleFile(Platform.getBundle("org.pitest.osgi")).getCanonicalPath()); - builder.add(getBundleFile(Platform.getBundle("org.pitest.pitrunner")).getCanonicalPath()); - builder.add(getBundleFile(Platform.getBundle("org.pitest.guava-shade-osgi")).getCanonicalPath()); - setPitClasspath(builder.build()); + + ImmutableList pitestClasspath = ImmutableList.of( + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath(), + getBundleFile(Platform.getBundle("org.pitest.pitclipse.runner")).getCanonicalPath(), + getBundleFile(Platform.getBundle("org.pitest.pitclipse.runner")).getCanonicalPath() + File.separator + "bin", + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-1.4.6.jar", + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-entry-1.4.6.jar", + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-command-line-1.4.6.jar", + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-html-report-1.4.6.jar", + getBundleFile(Platform.getBundle("com.google.guava")).getCanonicalPath() + ); + Builder pitclipseClasspath = ImmutableList.builder().addAll(pitestClasspath); + + if (Platform.getBundle("org.pitest.pitclipse.listeners") != null) { + pitclipseClasspath.add(getBundleFile(Platform.getBundle("org.pitest.pitclipse.listeners")).getCanonicalPath()); + pitclipseClasspath.add(getBundleFile(Platform.getBundle("org.pitest.pitclipse.listeners")).getCanonicalPath() + File.separator + "bin"); + } + setPitClasspath(pitclipseClasspath.build()); } private void setupStateDirectories() { setupResultDir(); setupHistoryFile(); } + +// private static IPath getStateLocation() { +// return Platform.getStateLocation(context.getBundle()); +// } private void setupHistoryFile() { IPath pluginLocation = getStateLocation(); @@ -149,17 +175,17 @@ public static PitCoreActivator getDefault() { return plugin; } - /** - * Returns an image descriptor for the image file at the given plug-in - * relative path - * - * @param path - * the path - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - return imageDescriptorFromPlugin(PLUGIN_ID, path); - } +// /** +// * Returns an image descriptor for the image file at the given plug-in +// * relative path +// * +// * @param path +// * the path +// * @return the image descriptor +// */ +// public static ImageDescriptor getImageDescriptor(String path) { +// return imageDescriptorFromPlugin(PLUGIN_ID, path); +// } public static void log(String msg) { log(Status.INFO, msg, null); @@ -177,30 +203,6 @@ public static void warn(String msg, Throwable t) { log(Status.WARNING, msg, t); } - public static Shell getActiveWorkbenchShell() { - IWorkbenchWindow workBenchWindow = getActiveWorkbenchWindow(); - if (workBenchWindow == null) { - return null; - } - return workBenchWindow.getShell(); - } - - /** - * Returns the active workbench window - * - * @return the active workbench window - */ - public static IWorkbenchWindow getActiveWorkbenchWindow() { - if (plugin == null) { - return null; - } - IWorkbench workBench = plugin.getWorkbench(); - if (workBench == null) { - return null; - } - return workBench.getActiveWorkbenchWindow(); - } - public File emptyResultDir() { recursiveClean(resultDir); return resultDir; diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/ExtensionPointHandler.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/ExtensionPointHandler.java index 69feb128..415b4270 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/ExtensionPointHandler.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/ExtensionPointHandler.java @@ -9,6 +9,10 @@ import static org.pitest.pitclipse.core.PitCoreActivator.warn; +/** + * + * @param + */ public class ExtensionPointHandler { private final String extensionPointId; diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/NotifierRunnable.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/NotifierRunnable.java index c57c73e1..699f0463 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/NotifierRunnable.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/NotifierRunnable.java @@ -2,6 +2,11 @@ import org.pitest.pitclipse.core.extension.point.ResultNotifier; +/** + * A runnable that calls {@link ResultNotifier#handleResults(Object)}. + * + * @param the type of results handled by the notifier. + */ public final class NotifierRunnable implements Runnable { private final U results; private final ResultNotifier notifier; diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/PitRuntimeOptions.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/PitRuntimeOptions.java index bd8c1877..6a1b581a 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/PitRuntimeOptions.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/PitRuntimeOptions.java @@ -1,7 +1,8 @@ package org.pitest.pitclipse.core.extension.point; -import org.pitest.pitclipse.pitrunner.PitOptions; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import com.google.common.collect.ImmutableList; + +import org.pitest.pitclipse.runner.PitOptions; import java.util.List; diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/ResultNotifier.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/ResultNotifier.java index 672496fc..1c51a4dd 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/ResultNotifier.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/ResultNotifier.java @@ -1,5 +1,18 @@ package org.pitest.pitclipse.core.extension.point; +/** + * An object able to process some results. + * + * @param the type of expected results + */ public interface ResultNotifier { + + /** + * Processes given results. + * + * @param results + * The results to process. + */ void handleResults(T results); + } diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/ExtensionPointResultHandler.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/ExtensionPointResultHandler.java index 08d33a6a..dc5e9846 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/ExtensionPointResultHandler.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/ExtensionPointResultHandler.java @@ -1,13 +1,18 @@ package org.pitest.pitclipse.core.launch; -import org.eclipse.swt.widgets.Display; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.client.PitResultHandler; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.client.PitResultHandler; public class ExtensionPointResultHandler implements PitResultHandler { public void handle(PitResults results) { - Display.getDefault().asyncExec(new UpdateExtensions(results)); + Job.create("Reporting Pit results", monitor -> { + new UpdateExtensions(results).run(); + return new Status(IStatus.OK, "org.pitest.pitclipse.core.launch", "ok"); + }).schedule(); } } diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/PitExecutionNotifier.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/PitExecutionNotifier.java index 8a18e4cf..66736b24 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/PitExecutionNotifier.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/PitExecutionNotifier.java @@ -2,13 +2,13 @@ import org.pitest.pitclipse.core.extension.point.PitRuntimeOptions; import org.pitest.pitclipse.core.extension.point.ResultNotifier; -import org.pitest.pitclipse.pitrunner.PitRequest; -import org.pitest.pitclipse.pitrunner.client.PitCommunicator; -import org.pitest.pitclipse.pitrunner.client.PitResultHandler; -import org.pitest.pitclipse.pitrunner.server.PitServer; +import org.pitest.pitclipse.runner.PitRequest; +import org.pitest.pitclipse.runner.client.PitCommunicator; +import org.pitest.pitclipse.runner.client.PitResultHandler; +import org.pitest.pitclipse.runner.server.PitServer; -import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; public class PitExecutionNotifier implements ResultNotifier { private static final ExecutorService executorService = Executors.newCachedThreadPool(); diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateExtensions.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateExtensions.java index ffd2d01b..95c0ddb6 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateExtensions.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateExtensions.java @@ -3,7 +3,7 @@ import org.eclipse.core.runtime.IExtensionRegistry; import org.eclipse.core.runtime.Platform; import org.pitest.pitclipse.core.extension.handler.ExtensionPointHandler; -import org.pitest.pitclipse.pitrunner.PitResults; +import org.pitest.pitclipse.runner.PitResults; public class UpdateExtensions implements Runnable { private static final String EXTENSION_POINT_ID = "org.pitest.pitclipse.core.results"; diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateMutations.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateMutations.java index a680336e..e0b6686a 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateMutations.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateMutations.java @@ -3,7 +3,7 @@ import org.eclipse.core.runtime.IExtensionRegistry; import org.eclipse.core.runtime.Platform; import org.pitest.pitclipse.core.extension.handler.ExtensionPointHandler; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; +import org.pitest.pitclipse.runner.model.MutationsModel; public class UpdateMutations implements Runnable { private static final String EXTENSION_POINT_ID = "org.pitest.pitclipse.core.mutations.results"; diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PitPreferences.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PitPreferences.java new file mode 100644 index 00000000..72cf9541 --- /dev/null +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PitPreferences.java @@ -0,0 +1,23 @@ +package org.pitest.pitclipse.core.preferences; + +public class PitPreferences { + + public static final String PIT_MUTATORS = "pitMutators"; + + public static final String USE_INCREMENTAL_ANALYSIS = "Use &incremental analysis"; + public static final String EXCLUDE_CLASSES_FROM_PIT = "E&xcluded classes (e.g.*IntTest)"; + public static final String MUTATION_TESTS_RUN_IN_PARALLEL = "Mutation tests run in para&llel"; + public static final String EXCLUDE_METHODS_FROM_PIT = "Excluded &methods (e.g.*toString*)"; + public static final String AVOID_CALLS_FROM_PIT = "&Avoid calls to"; + public static final String PIT_TIMEOUT = "Pit Ti&meout"; + public static final String PIT_TIMEOUT_FACTOR = "Timeout &Factor"; + public static final String EXCLUDED_METHODS = "excludedMethods"; + public static final String AVOID_CALLS_TO = "avoidCallsTo"; + public static final String EXCLUDED_CLASSES = "excludedClasses"; + public static final String INCREMENTAL_ANALYSIS = "incrementalAnalysis"; + public static final String PIT_EXECUTION_MODE = "pitExecutionMode"; + public static final String RUN_IN_PARALLEL = "runInParallel"; + public static final String TIMEOUT = "pitTimeout"; + public static final String TIMEOUT_FACTOR = "pitTimeoutFactor"; + +} diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PreferenceInitializer.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PreferenceInitializer.java index e65e8c6a..061c6b93 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PreferenceInitializer.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PreferenceInitializer.java @@ -4,16 +4,17 @@ import org.eclipse.jface.preference.IPreferenceStore; import org.pitest.pitclipse.core.PitCoreActivator; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.AVOID_CALLS_TO; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.INCREMENTAL_ANALYSIS; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.PIT_EXECUTION_MODE; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.RUN_IN_PARALLEL; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.TIMEOUT; -import static org.pitest.pitclipse.core.preferences.PitPreferencePage.TIMEOUT_FACTOR; -import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST; -import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_MUTATORS; -import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_TIMEOUT; -import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_TIMEOUT_FACTOR; +import static org.pitest.pitclipse.core.preferences.PitPreferences.AVOID_CALLS_TO; +import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_CLASSES; +import static org.pitest.pitclipse.core.preferences.PitPreferences.INCREMENTAL_ANALYSIS; +import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_EXECUTION_MODE; +import static org.pitest.pitclipse.core.preferences.PitPreferences.RUN_IN_PARALLEL; +import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT; +import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT_FACTOR; +import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST; +import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_MUTATORS; +import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_TIMEOUT; +import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_TIMEOUT_FACTOR; /** * Class used to initialize default preference values. diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/JdtStructureService.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/JdtStructureService.java index 7dbb9b16..8692d083 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/JdtStructureService.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/JdtStructureService.java @@ -10,7 +10,7 @@ import org.eclipse.jdt.core.JavaModelException; import org.pitest.pitclipse.core.launch.MutatedClassNotFoundException; import org.pitest.pitclipse.core.launch.ProjectNotFoundException; -import org.pitest.pitclipse.pitrunner.model.ProjectStructureService; +import org.pitest.pitclipse.runner.model.ProjectStructureService; public enum JdtStructureService implements ProjectStructureService { diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/MutationsModelNotifier.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/MutationsModelNotifier.java index e51cd7f4..acac9e99 100644 --- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/MutationsModelNotifier.java +++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/MutationsModelNotifier.java @@ -1,11 +1,13 @@ package org.pitest.pitclipse.core.result; -import org.eclipse.swt.widgets.Display; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; import org.pitest.pitclipse.core.extension.point.ResultNotifier; import org.pitest.pitclipse.core.launch.UpdateMutations; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.model.ModelBuilder; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.model.ModelBuilder; +import org.pitest.pitclipse.runner.model.MutationsModel; public class MutationsModelNotifier implements ResultNotifier { @@ -14,6 +16,9 @@ public class MutationsModelNotifier implements ResultNotifier { @Override public void handleResults(PitResults results) { MutationsModel mutationModel = MODEL_BUILDER.buildFrom(results); - Display.getDefault().asyncExec(new UpdateMutations(mutationModel)); + Job.create("Reporting detected mutations", monitor -> { + new UpdateMutations(mutationModel).run(); + return new Status(IStatus.OK, "org.pitest.pitclipse.core", "ok"); + }).schedule(); } } diff --git a/bundles/org.pitest.pitclipse.launch.ui/.classpath b/bundles/org.pitest.pitclipse.launch.ui/.classpath new file mode 100644 index 00000000..eca7bdba --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch.ui/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/bundles/org.pitest.pitclipse.launch.ui/.project b/bundles/org.pitest.pitclipse.launch.ui/.project new file mode 100644 index 00000000..d06e6312 --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch.ui/.project @@ -0,0 +1,28 @@ + + + org.pitest.pitclipse.launch.ui + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/bundles/org.pitest.pitclipse.launch.ui/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.launch.ui/META-INF/MANIFEST.MF new file mode 100644 index 00000000..4e94e9a4 --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch.ui/META-INF/MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Pitclipse Launch Configurations UI +Bundle-SymbolicName: org.pitest.pitclipse.launch.ui;singleton:=true +Bundle-Version: 2.0.0.qualifier +Bundle-Vendor: Pitest.org +Automatic-Module-Name: org.pitest.pitclipse.launch.ui +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)", + org.eclipse.debug.ui;bundle-version="[3.11.101,4.0.0)", + org.eclipse.jdt.core;bundle-version="[3.11.2,4.0.0)", + org.pitest.pitclipse.core, + org.pitest.pitclipse.runner, + org.eclipse.jdt.launching;bundle-version="[3.8.0,4.0.0)", + org.eclipse.jdt.ui;bundle-version="[3.11.2,4.0.0)", + org.pitest.pitclipse.launch, + org.eclipse.jface;bundle-version="[3.11.1,4.0.0)", + com.google.guava;bundle-version="[21.0.0,22.0.0)", + org.eclipse.ui.workbench;bundle-version="[3.107.1,4.0.0)", + org.eclipse.jdt.debug.ui;bundle-version="[3.7.101,4.0.0)" diff --git a/bundles/org.pitest.pitclipse.launch.ui/build.properties b/bundles/org.pitest.pitclipse.launch.ui/build.properties new file mode 100644 index 00000000..6c480f39 --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch.ui/build.properties @@ -0,0 +1,6 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + icons/ diff --git a/bundles/org.pitest.pitclipse.launch.ui/icons/pit.gif b/bundles/org.pitest.pitclipse.launch.ui/icons/pit.gif new file mode 100644 index 00000000..d40430cd Binary files /dev/null and b/bundles/org.pitest.pitclipse.launch.ui/icons/pit.gif differ diff --git a/bundles/org.pitest.pitclipse.launch.ui/plugin.xml b/bundles/org.pitest.pitclipse.launch.ui/plugin.xml new file mode 100644 index 00000000..b35eda19 --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch.ui/plugin.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.pitest.pitclipse.launch.ui/src/org/pitest/pitclipse/launch/ui/LaunchShortcut.java b/bundles/org.pitest.pitclipse.launch.ui/src/org/pitest/pitclipse/launch/ui/LaunchShortcut.java index 5df9d394..f9c7f43a 100644 --- a/bundles/org.pitest.pitclipse.launch.ui/src/org/pitest/pitclipse/launch/ui/LaunchShortcut.java +++ b/bundles/org.pitest.pitclipse.launch.ui/src/org/pitest/pitclipse/launch/ui/LaunchShortcut.java @@ -1,4 +1,8 @@ -package org.pitest.pitclipse.core.launch; +package org.pitest.pitclipse.launch.ui; + +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.IAdaptable; @@ -7,15 +11,12 @@ import org.eclipse.jdt.core.ITypeRoot; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.ui.IEditorInput; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.Optional; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; import java.util.List; import static org.eclipse.jdt.ui.JavaUI.getEditorInputTypeRoot; -class LaunchShortcut { +final class LaunchShortcut { static Optional forEditorInputDo(IEditorInput i, Function> onFound, Function> notFound) { Optional element = Optional.fromNullable(getEditorInputTypeRoot(i)); @@ -71,5 +72,6 @@ static ILaunchConfiguration[] toArrayOfILaunchConfiguration(List + + + + + + diff --git a/bundles/org.pitest.pitclipse.launch/.project b/bundles/org.pitest.pitclipse.launch/.project new file mode 100644 index 00000000..e50fc371 --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch/.project @@ -0,0 +1,28 @@ + + + org.pitest.pitclipse.launch + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/bundles/org.pitest.pitclipse.launch/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.launch/META-INF/MANIFEST.MF new file mode 100644 index 00000000..f9666738 --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Pitclipse Launch Configurations +Bundle-SymbolicName: org.pitest.pitclipse.launch;singleton:=true +Bundle-Version: 2.0.0.qualifier +Bundle-Vendor: Pitest.org +Automatic-Module-Name: org.pitest.pitclipse.launch +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: com.google.guava;bundle-version="[21.0.0,22.0.0)", + org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)", + org.eclipse.debug.core;bundle-version="[3.10.0,4.0.0)", + org.eclipse.jdt.launching;bundle-version="[3.8.0,4.0.0)", + org.pitest.pitclipse.core, + org.pitest.pitclipse.runner, + org.eclipse.jdt.core;bundle-version="[3.11.2,4.0.0)" +Export-Package: org.pitest.pitclipse.launch, + org.pitest.pitclipse.launch.config diff --git a/bundles/org.pitest.pitclipse.launch/build.properties b/bundles/org.pitest.pitclipse.launch/build.properties new file mode 100644 index 00000000..e9863e28 --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch/build.properties @@ -0,0 +1,5 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml diff --git a/bundles/org.pitest.pitclipse.launch/plugin.xml b/bundles/org.pitest.pitclipse.launch/plugin.xml new file mode 100644 index 00000000..9624726d --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch/plugin.xml @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/AbstractPitLaunchDelegate.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/AbstractPitLaunchDelegate.java index 03376be0..18511d04 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/AbstractPitLaunchDelegate.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/AbstractPitLaunchDelegate.java @@ -1,4 +1,6 @@ -package org.pitest.pitclipse.core.launch; +package org.pitest.pitclipse.launch; + +import com.google.common.collect.ImmutableList; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IExtensionRegistry; @@ -9,16 +11,15 @@ import org.eclipse.jdt.launching.JavaLaunchDelegate; import org.pitest.pitclipse.core.extension.handler.ExtensionPointHandler; import org.pitest.pitclipse.core.extension.point.PitRuntimeOptions; -import org.pitest.pitclipse.core.launch.config.ClassFinder; -import org.pitest.pitclipse.core.launch.config.LaunchConfigurationWrapper; -import org.pitest.pitclipse.core.launch.config.PackageFinder; -import org.pitest.pitclipse.core.launch.config.ProjectFinder; -import org.pitest.pitclipse.core.launch.config.SourceDirFinder; -import org.pitest.pitclipse.pitrunner.PitOptions; -import org.pitest.pitclipse.pitrunner.PitRunner; -import org.pitest.pitclipse.pitrunner.config.PitConfiguration; -import org.pitest.pitclipse.pitrunner.io.SocketProvider; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.launch.config.ClassFinder; +import org.pitest.pitclipse.launch.config.LaunchConfigurationWrapper; +import org.pitest.pitclipse.launch.config.PackageFinder; +import org.pitest.pitclipse.launch.config.ProjectFinder; +import org.pitest.pitclipse.launch.config.SourceDirFinder; +import org.pitest.pitclipse.runner.PitOptions; +import org.pitest.pitclipse.runner.PitRunner; +import org.pitest.pitclipse.runner.config.PitConfiguration; +import org.pitest.pitclipse.runner.io.SocketProvider; import java.util.List; @@ -87,4 +88,4 @@ public void launch(ILaunchConfiguration configuration, String mode, ILaunch laun protected abstract ClassFinder getClassFinder(); -} \ No newline at end of file +} diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchArgumentsConstants.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchArgumentsConstants.java new file mode 100644 index 00000000..04909048 --- /dev/null +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchArgumentsConstants.java @@ -0,0 +1,11 @@ +package org.pitest.pitclipse.launch; + +public final class PitLaunchArgumentsConstants { + + public static final String ATTR_TEST_CONTAINER = "org.pitest.pitclipse.core.test.container"; + + private PitLaunchArgumentsConstants() { + // utility class should not be instantiated + } + +} diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchConfigurationDelegate.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchConfigurationDelegate.java index 8015beaf..cbfd2890 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchConfigurationDelegate.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchConfigurationDelegate.java @@ -1,12 +1,12 @@ -package org.pitest.pitclipse.core.launch; +package org.pitest.pitclipse.launch; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate; -import org.pitest.pitclipse.pitrunner.config.PitConfiguration; -import org.pitest.pitclipse.pitrunner.config.PitExecutionMode; +import org.pitest.pitclipse.runner.config.PitConfiguration; +import org.pitest.pitclipse.runner.config.PitExecutionMode; import static org.pitest.pitclipse.core.PitCoreActivator.getDefault; diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchVisitor.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchVisitor.java index 4421f01e..6e60a6dd 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchVisitor.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchVisitor.java @@ -1,11 +1,11 @@ -package org.pitest.pitclipse.core.launch; +package org.pitest.pitclipse.launch; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfiguration; -import org.pitest.pitclipse.pitrunner.config.PitConfiguration; -import org.pitest.pitclipse.pitrunner.config.PitExecutionModeVisitor; +import org.pitest.pitclipse.runner.config.PitConfiguration; +import org.pitest.pitclipse.runner.config.PitExecutionModeVisitor; import static org.eclipse.debug.core.ILaunchManager.RUN_MODE; diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/ProjectLevelLaunchDelegate.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/ProjectLevelLaunchDelegate.java index 9c765b37..47ef1398 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/ProjectLevelLaunchDelegate.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/ProjectLevelLaunchDelegate.java @@ -1,13 +1,13 @@ -package org.pitest.pitclipse.core.launch; - -import org.pitest.pitclipse.core.launch.config.ClassFinder; -import org.pitest.pitclipse.core.launch.config.PackageFinder; -import org.pitest.pitclipse.core.launch.config.ProjectFinder; -import org.pitest.pitclipse.core.launch.config.ProjectLevelClassFinder; -import org.pitest.pitclipse.core.launch.config.ProjectLevelProjectFinder; -import org.pitest.pitclipse.core.launch.config.ProjectLevelSourceDirFinder; -import org.pitest.pitclipse.core.launch.config.SourceDirFinder; -import org.pitest.pitclipse.pitrunner.config.PitConfiguration; +package org.pitest.pitclipse.launch; + +import org.pitest.pitclipse.launch.config.ClassFinder; +import org.pitest.pitclipse.launch.config.PackageFinder; +import org.pitest.pitclipse.launch.config.ProjectFinder; +import org.pitest.pitclipse.launch.config.ProjectLevelClassFinder; +import org.pitest.pitclipse.launch.config.ProjectLevelProjectFinder; +import org.pitest.pitclipse.launch.config.ProjectLevelSourceDirFinder; +import org.pitest.pitclipse.launch.config.SourceDirFinder; +import org.pitest.pitclipse.runner.config.PitConfiguration; public class ProjectLevelLaunchDelegate extends AbstractPitLaunchDelegate { diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/WorkspaceLevelLaunchDelegate.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/WorkspaceLevelLaunchDelegate.java index b0f450a5..94971db0 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/WorkspaceLevelLaunchDelegate.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/WorkspaceLevelLaunchDelegate.java @@ -1,13 +1,13 @@ -package org.pitest.pitclipse.core.launch; - -import org.pitest.pitclipse.core.launch.config.ClassFinder; -import org.pitest.pitclipse.core.launch.config.PackageFinder; -import org.pitest.pitclipse.core.launch.config.ProjectFinder; -import org.pitest.pitclipse.core.launch.config.SourceDirFinder; -import org.pitest.pitclipse.core.launch.config.WorkspaceLevelClassFinder; -import org.pitest.pitclipse.core.launch.config.WorkspaceLevelProjectFinder; -import org.pitest.pitclipse.core.launch.config.WorkspaceLevelSourceDirFinder; -import org.pitest.pitclipse.pitrunner.config.PitConfiguration; +package org.pitest.pitclipse.launch; + +import org.pitest.pitclipse.launch.config.ClassFinder; +import org.pitest.pitclipse.launch.config.PackageFinder; +import org.pitest.pitclipse.launch.config.ProjectFinder; +import org.pitest.pitclipse.launch.config.SourceDirFinder; +import org.pitest.pitclipse.launch.config.WorkspaceLevelClassFinder; +import org.pitest.pitclipse.launch.config.WorkspaceLevelProjectFinder; +import org.pitest.pitclipse.launch.config.WorkspaceLevelSourceDirFinder; +import org.pitest.pitclipse.runner.config.PitConfiguration; public class WorkspaceLevelLaunchDelegate extends AbstractPitLaunchDelegate { diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ClassFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ClassFinder.java index ee68aa4b..85e1bd4e 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ClassFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ClassFinder.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; import org.eclipse.core.runtime.CoreException; diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/LaunchConfigurationWrapper.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/LaunchConfigurationWrapper.java index 63cefe08..f3201f24 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/LaunchConfigurationWrapper.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/LaunchConfigurationWrapper.java @@ -1,4 +1,7 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; + +import com.google.common.base.Splitter; +import com.google.common.collect.ImmutableList; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; @@ -12,11 +15,9 @@ import org.pitest.pitclipse.core.launch.ProjectClosedException; import org.pitest.pitclipse.core.launch.ProjectNotFoundException; import org.pitest.pitclipse.core.launch.TestClassNotFoundException; -import org.pitest.pitclipse.pitrunner.config.PitConfiguration; -import org.pitest.pitclipse.pitrunner.PitOptions.PitOptionsBuilder; -import org.pitest.pitclipse.pitrunner.PitOptions; -import org.pitest.pitclipse.reloc.guava.base.Splitter; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.runner.PitOptions; +import org.pitest.pitclipse.runner.PitOptions.PitOptionsBuilder; +import org.pitest.pitclipse.runner.config.PitConfiguration; import java.io.File; import java.math.BigDecimal; diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/PackageFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/PackageFinder.java index fcd2f0a9..b642d3fd 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/PackageFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/PackageFinder.java @@ -1,4 +1,7 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSet.Builder; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceProxy; @@ -11,19 +14,17 @@ import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jdt.core.IType; import org.eclipse.jdt.core.JavaCore; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder; import java.util.List; import java.util.Set; +import static com.google.common.collect.ImmutableList.copyOf; import static org.eclipse.core.resources.IResource.FOLDER; import static org.eclipse.core.resources.IResource.NONE; import static org.eclipse.core.resources.IResource.PROJECT; import static org.eclipse.jdt.core.IJavaElement.PACKAGE_FRAGMENT; import static org.eclipse.jdt.core.IJavaElement.PACKAGE_FRAGMENT_ROOT; import static org.eclipse.jdt.core.IPackageFragment.DEFAULT_PACKAGE_NAME; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf; public class PackageFinder { diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectFinder.java index d6ede1e6..c71e3a32 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectFinder.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; import org.eclipse.core.runtime.CoreException; diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelClassFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelClassFinder.java index 2c82b4b2..93a78827 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelClassFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelClassFinder.java @@ -1,4 +1,7 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSet.Builder; import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.core.ICompilationUnit; @@ -8,14 +11,12 @@ import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jdt.core.IType; import org.eclipse.jdt.core.JavaModelException; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder; import java.util.List; import java.util.Set; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.builder; +import static com.google.common.collect.ImmutableList.copyOf; +import static com.google.common.collect.ImmutableSet.builder; public class ProjectLevelClassFinder implements ClassFinder { diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelProjectFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelProjectFinder.java index ead9c71e..764b291d 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelProjectFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelProjectFinder.java @@ -1,8 +1,9 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; + +import com.google.common.collect.ImmutableList; import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.core.IJavaProject; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; import java.util.List; diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelSourceDirFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelSourceDirFinder.java index 4f95dbb7..7cedc3f7 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelSourceDirFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelSourceDirFinder.java @@ -1,13 +1,14 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSet.Builder; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IPackageFragmentRoot; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder; import java.io.File; import java.net.URI; diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectUtils.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectUtils.java index e3651bbc..b5855ab8 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectUtils.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectUtils.java @@ -1,4 +1,6 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; + +import com.google.common.collect.ImmutableList; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; @@ -6,7 +8,6 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.JavaCore; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; import java.util.List; diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/SourceDirFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/SourceDirFinder.java index aa3b9719..2e155cb3 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/SourceDirFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/SourceDirFinder.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; import org.eclipse.core.runtime.CoreException; diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelClassFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelClassFinder.java index f49541df..451238d2 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelClassFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelClassFinder.java @@ -1,4 +1,7 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet.Builder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; @@ -6,14 +9,12 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.JavaCore; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder; import java.util.List; -import static org.pitest.pitclipse.core.launch.config.ProjectLevelClassFinder.getClassesFromProject; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.builder; +import static com.google.common.collect.ImmutableList.copyOf; +import static com.google.common.collect.ImmutableSet.builder; +import static org.pitest.pitclipse.launch.config.ProjectLevelClassFinder.getClassesFromProject; public class WorkspaceLevelClassFinder implements ClassFinder { diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelProjectFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelProjectFinder.java index ffa7f67b..5dcbfef0 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelProjectFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelProjectFinder.java @@ -1,15 +1,16 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.core.IJavaProject; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder; import java.util.List; -import static org.pitest.pitclipse.core.launch.config.ProjectUtils.getOpenJavaProjects; -import static org.pitest.pitclipse.core.launch.config.ProjectUtils.onClassPathOf; -import static org.pitest.pitclipse.core.launch.config.ProjectUtils.sameProject; +import static org.pitest.pitclipse.launch.config.ProjectUtils.getOpenJavaProjects; +import static org.pitest.pitclipse.launch.config.ProjectUtils.onClassPathOf; +import static org.pitest.pitclipse.launch.config.ProjectUtils.sameProject; public class WorkspaceLevelProjectFinder implements ProjectFinder { @Override diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelSourceDirFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelSourceDirFinder.java index 8d42a3e0..807880dd 100644 --- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelSourceDirFinder.java +++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelSourceDirFinder.java @@ -1,22 +1,23 @@ -package org.pitest.pitclipse.core.launch.config; +package org.pitest.pitclipse.launch.config; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSet.Builder; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IPackageFragmentRoot; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder; import java.io.File; import java.net.URI; import java.util.List; import java.util.Set; -import static org.pitest.pitclipse.core.launch.config.ProjectUtils.getOpenJavaProjects; -import static org.pitest.pitclipse.core.launch.config.ProjectUtils.onClassPathOf; -import static org.pitest.pitclipse.core.launch.config.ProjectUtils.sameProject; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf; +import static com.google.common.collect.ImmutableList.copyOf; +import static org.pitest.pitclipse.launch.config.ProjectUtils.getOpenJavaProjects; +import static org.pitest.pitclipse.launch.config.ProjectUtils.onClassPathOf; +import static org.pitest.pitclipse.launch.config.ProjectUtils.sameProject; public class WorkspaceLevelSourceDirFinder implements SourceDirFinder { diff --git a/bundles/org.pitest.pitclipse.listeners/.classpath b/bundles/org.pitest.pitclipse.listeners/.classpath new file mode 100644 index 00000000..eca7bdba --- /dev/null +++ b/bundles/org.pitest.pitclipse.listeners/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/bundles/org.pitest.pitclipse.listeners/.project b/bundles/org.pitest.pitclipse.listeners/.project new file mode 100644 index 00000000..bfc67746 --- /dev/null +++ b/bundles/org.pitest.pitclipse.listeners/.project @@ -0,0 +1,28 @@ + + + org.pitest.pitclipse.listeners + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/bundles/org.pitest.pitclipse.listeners/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.listeners/META-INF/MANIFEST.MF new file mode 100644 index 00000000..12397cc0 --- /dev/null +++ b/bundles/org.pitest.pitclipse.listeners/META-INF/MANIFEST.MF @@ -0,0 +1,13 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Pitclipse's Pitest Listeners +Bundle-SymbolicName: org.pitest.pitclipse.listeners +Bundle-Version: 2.0.0.qualifier +Fragment-Host: org.pitest;bundle-version="1.4.6" +Automatic-Module-Name: org.pitest.pitclipse.listeners +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.pitest.pitclipse.runner;bundle-version="2.0.0" +Bundle-ClassPath: ., + META-INF/services/, + src/ +Bundle-Vendor: Pitest.org diff --git a/bundles/org.pitest.pitclipse.listeners/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory b/bundles/org.pitest.pitclipse.listeners/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory new file mode 100644 index 00000000..d119f7ca --- /dev/null +++ b/bundles/org.pitest.pitclipse.listeners/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory @@ -0,0 +1,2 @@ +org.pitest.pitclipse.runner.results.mutations.MutationsResultListenerFactory2 +org.pitest.pitclipse.runner.results.summary.SummaryResultListenerFactory2 \ No newline at end of file diff --git a/bundles/org.pitest.pitclipse.listeners/build.properties b/bundles/org.pitest.pitclipse.listeners/build.properties new file mode 100644 index 00000000..3e10ca4b --- /dev/null +++ b/bundles/org.pitest.pitclipse.listeners/build.properties @@ -0,0 +1,6 @@ +source.. = src/ +output.. = bin/ +bin.includes = .,\ + src/,\ + META-INF/services/,\ + META-INF/ diff --git a/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory2.java b/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory2.java new file mode 100644 index 00000000..16723dfd --- /dev/null +++ b/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory2.java @@ -0,0 +1,5 @@ +package org.pitest.pitclipse.runner.results.mutations; + +public class MutationsResultListenerFactory2 extends MutationsResultListenerFactory { + +} diff --git a/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory2.java b/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory2.java new file mode 100644 index 00000000..185bef53 --- /dev/null +++ b/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory2.java @@ -0,0 +1,5 @@ +package org.pitest.pitclipse.runner.results.summary; + +public class SummaryResultListenerFactory2 extends SummaryResultListenerFactory { + +} diff --git a/bundles/org.pitest.pitclipse.preferences.ui/.classpath b/bundles/org.pitest.pitclipse.preferences.ui/.classpath new file mode 100644 index 00000000..eca7bdba --- /dev/null +++ b/bundles/org.pitest.pitclipse.preferences.ui/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/bundles/org.pitest.pitclipse.preferences.ui/.project b/bundles/org.pitest.pitclipse.preferences.ui/.project new file mode 100644 index 00000000..42afda28 --- /dev/null +++ b/bundles/org.pitest.pitclipse.preferences.ui/.project @@ -0,0 +1,28 @@ + + + org.pitest.pitclipse.preferences.ui + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/bundles/org.pitest.pitclipse.preferences.ui/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.preferences.ui/META-INF/MANIFEST.MF new file mode 100644 index 00000000..0fe55895 --- /dev/null +++ b/bundles/org.pitest.pitclipse.preferences.ui/META-INF/MANIFEST.MF @@ -0,0 +1,12 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Pitclipse Preferences UI +Bundle-SymbolicName: org.pitest.pitclipse.preferences.ui;singleton:=true +Bundle-Version: 2.0.0.qualifier +Bundle-Vendor: Pitest.org +Automatic-Module-Name: org.pitest.pitclipse.preferences.ui +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.jface;bundle-version="[3.11.1,4.0.0)", + org.eclipse.ui.workbench;bundle-version="[3.107.1,4.0.0)", + org.pitest.pitclipse.core, + org.pitest.pitclipse.runner diff --git a/bundles/org.pitest.pitclipse.preferences.ui/build.properties b/bundles/org.pitest.pitclipse.preferences.ui/build.properties new file mode 100644 index 00000000..e9863e28 --- /dev/null +++ b/bundles/org.pitest.pitclipse.preferences.ui/build.properties @@ -0,0 +1,5 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml diff --git a/bundles/org.pitest.pitclipse.preferences.ui/plugin.xml b/bundles/org.pitest.pitclipse.preferences.ui/plugin.xml new file mode 100644 index 00000000..616de40c --- /dev/null +++ b/bundles/org.pitest.pitclipse.preferences.ui/plugin.xml @@ -0,0 +1,18 @@ + + + + + + + + + + diff --git a/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitMutatorsPreferencePage.java b/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitMutatorsPreferencePage.java index 73d5203c..479a33af 100644 --- a/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitMutatorsPreferencePage.java +++ b/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitMutatorsPreferencePage.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.core.preferences; +package org.pitest.pitclipse.preferences.ui; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.RadioGroupFieldEditor; @@ -7,9 +7,9 @@ import org.pitest.pitclipse.core.PitCoreActivator; import org.pitest.pitclipse.core.PitMutators; -public class PitMutatorsPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { +import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_MUTATORS; - public static final String PIT_MUTATORS = "pitMutators"; +public class PitMutatorsPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { public PitMutatorsPreferencePage() { super(GRID); diff --git a/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitPreferencePage.java b/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitPreferencePage.java index 88cb97c0..3cb24da0 100644 --- a/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitPreferencePage.java +++ b/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitPreferencePage.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.core.preferences; +package org.pitest.pitclipse.preferences.ui; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; @@ -7,9 +7,24 @@ import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.pitest.pitclipse.core.PitCoreActivator; -import org.pitest.pitclipse.pitrunner.config.PitExecutionMode; - -import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.values; +import org.pitest.pitclipse.runner.config.PitExecutionMode; + +import static org.pitest.pitclipse.core.preferences.PitPreferences.AVOID_CALLS_FROM_PIT; +import static org.pitest.pitclipse.core.preferences.PitPreferences.AVOID_CALLS_TO; +import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_CLASSES; +import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_METHODS; +import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDE_CLASSES_FROM_PIT; +import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDE_METHODS_FROM_PIT; +import static org.pitest.pitclipse.core.preferences.PitPreferences.INCREMENTAL_ANALYSIS; +import static org.pitest.pitclipse.core.preferences.PitPreferences.MUTATION_TESTS_RUN_IN_PARALLEL; +import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_EXECUTION_MODE; +import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_TIMEOUT; +import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_TIMEOUT_FACTOR; +import static org.pitest.pitclipse.core.preferences.PitPreferences.RUN_IN_PARALLEL; +import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT; +import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT_FACTOR; +import static org.pitest.pitclipse.core.preferences.PitPreferences.USE_INCREMENTAL_ANALYSIS; +import static org.pitest.pitclipse.runner.config.PitExecutionMode.values; /** * This class represents a preference page that is contributed to the @@ -24,22 +39,6 @@ public class PitPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - public static final String USE_INCREMENTAL_ANALYSIS = "Use &incremental analysis"; - public static final String EXCLUDE_CLASSES_FROM_PIT = "E&xcluded classes (e.g.*IntTest)"; - public static final String MUTATION_TESTS_RUN_IN_PARALLEL = "Mutation tests run in para&llel"; - public static final String EXCLUDE_METHODS_FROM_PIT = "Excluded &methods (e.g.*toString*)"; - public static final String AVOID_CALLS_FROM_PIT = "&Avoid calls to"; - public static final String PIT_TIMEOUT = "Pit Ti&meout"; - public static final String PIT_TIMEOUT_FACTOR = "Timeout &Factor"; - public static final String EXCLUDED_METHODS = "excludedMethods"; - public static final String AVOID_CALLS_TO = "avoidCallsTo"; - public static final String EXCLUDED_CLASSES = "excludedClasses"; - public static final String INCREMENTAL_ANALYSIS = "incrementalAnalysis"; - public static final String PIT_EXECUTION_MODE = "pitExecutionMode"; - public static final String RUN_IN_PARALLEL = "runInParallel"; - public static final String TIMEOUT = "pitTimeout"; - public static final String TIMEOUT_FACTOR = "pitTimeoutFactor"; - public PitPreferencePage() { super(GRID); setPreferenceStore(PitCoreActivator.getDefault().getPreferenceStore()); diff --git a/bundles/org.pitest.pitclipse.runner/.classpath b/bundles/org.pitest.pitclipse.runner/.classpath new file mode 100644 index 00000000..eca7bdba --- /dev/null +++ b/bundles/org.pitest.pitclipse.runner/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/bundles/org.pitest.pitclipse.runner/.project b/bundles/org.pitest.pitclipse.runner/.project new file mode 100644 index 00000000..05665547 --- /dev/null +++ b/bundles/org.pitest.pitclipse.runner/.project @@ -0,0 +1,34 @@ + + + org.pitest.pitclipse.runner + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + net.sf.eclipsecs.core.CheckstyleBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + net.sf.eclipsecs.core.CheckstyleNature + + diff --git a/bundles/org.pitest.pitclipse.runner/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.runner/META-INF/MANIFEST.MF new file mode 100644 index 00000000..fbe3564c --- /dev/null +++ b/bundles/org.pitest.pitclipse.runner/META-INF/MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Pitclipse Runner +Bundle-SymbolicName: org.pitest.pitclipse.runner +Bundle-Version: 2.0.0.qualifier +Bundle-Vendor: Pitest.org +Automatic-Module-Name: org.pitest.pitclipse.runner +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: com.google.guava;bundle-version="[21.0.0,22.0.0)", + org.pitest;bundle-version="1.4.6" +Export-Package: org.pitest.pitclipse.runner, + org.pitest.pitclipse.runner.client, + org.pitest.pitclipse.runner.config, + org.pitest.pitclipse.runner.io, + org.pitest.pitclipse.runner.model, + org.pitest.pitclipse.runner.results, + org.pitest.pitclipse.runner.results.mutations, + org.pitest.pitclipse.runner.results.summary, + org.pitest.pitclipse.runner.server, + org.pitest.pitclipse.runner.service diff --git a/bundles/org.pitest.pitclipse.runner/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory b/bundles/org.pitest.pitclipse.runner/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory deleted file mode 100644 index b4e22cf8..00000000 --- a/bundles/org.pitest.pitclipse.runner/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory +++ /dev/null @@ -1,2 +0,0 @@ -org.pitest.pitclipse.pitrunner.results.mutations.MutationsResultListenerFactory -org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerFactory \ No newline at end of file diff --git a/bundles/org.pitest.pitclipse.runner/build.properties b/bundles/org.pitest.pitclipse.runner/build.properties new file mode 100644 index 00000000..34d2e4d2 --- /dev/null +++ b/bundles/org.pitest.pitclipse.runner/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitCliArguments.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitCliArguments.java index fc38bb57..02e482ae 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitCliArguments.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitCliArguments.java @@ -1,8 +1,8 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder; -import org.pitest.pitclipse.reloc.guava.collect.Lists; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; +import com.google.common.collect.Lists; import java.io.File; import java.util.List; @@ -34,6 +34,10 @@ private String[] toCliArgs(PitOptions options) { builder.addAll(mutatorsFrom(options)); builder.add("--timeoutConst", Integer.toString(options.getTimeout())); builder.add("--timeoutFactor", options.getTimeoutFactor().toPlainString()); + String additionalClasspath = additionalClassPath(options); + if (!additionalClasspath.isEmpty()) { + builder.add("--classPath", additionalClasspath); + } List args = builder.build(); return args.toArray(new String[args.size()]); } @@ -119,6 +123,11 @@ private String classpath(PitOptions options) { return concat(commaSeparate(classesToMutate)); } + private String additionalClassPath(PitOptions options) { + List classPath = options.getClassPath(); + return concat(commaSeparate(classPath)); + } + private List fileAsStrings(List files) { Builder builder = ImmutableList.builder(); for (File file : files) { diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitOptions.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitOptions.java index 9039e3d4..3515aac2 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitOptions.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitOptions.java @@ -1,7 +1,7 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; -import org.pitest.pitclipse.reloc.guava.base.Splitter; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import com.google.common.base.Splitter; +import com.google.common.collect.ImmutableList; import java.io.File; import java.io.IOException; @@ -9,11 +9,11 @@ import java.math.BigDecimal; import java.util.List; -import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST; -import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_MUTATORS; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf; -import static org.pitest.pitclipse.reloc.guava.io.Files.createParentDirs; -import static org.pitest.pitclipse.reloc.guava.io.Files.createTempDir; +import static com.google.common.collect.ImmutableList.copyOf; +import static com.google.common.io.Files.createParentDirs; +import static com.google.common.io.Files.createTempDir; +import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST; +import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_MUTATORS; public final class PitOptions implements Serializable { @@ -23,6 +23,7 @@ public final class PitOptions implements Serializable { private final ImmutableList classesToMutate; private final ImmutableList sourceDirs; private final ImmutableList packages; + private final ImmutableList classPath; private final int threads; private final File historyLocation; private final ImmutableList excludedClasses; @@ -33,13 +34,14 @@ public final class PitOptions implements Serializable { private final BigDecimal timeoutFactor; private PitOptions(String classUnderTest, ImmutableList classesToMutate, ImmutableList sourceDirs, - File reportDir, ImmutableList packages, int threads, File historyLocation, + File reportDir, ImmutableList packages, ImmutableList classPath, int threads, File historyLocation, ImmutableList excludedClasses, ImmutableList excludedMethods, ImmutableList avoidCallsTo, ImmutableList mutators, int timeout, BigDecimal timeoutFactor) { this.classUnderTest = classUnderTest; this.threads = threads; this.historyLocation = historyLocation; this.packages = packages; + this.classPath = classPath; this.classesToMutate = classesToMutate; this.sourceDirs = sourceDirs; this.reportDir = reportDir; @@ -73,6 +75,7 @@ public static final class PitOptionsBuilder { private File reportDir = null; private ImmutableList sourceDirs = ImmutableList.of(); private ImmutableList packages = ImmutableList.of(); + private ImmutableList classPath = ImmutableList.of(); private int threads = 1; private File historyLocation = null; private ImmutableList excludedClasses = ImmutableList.of(); @@ -114,7 +117,7 @@ public PitOptions build() { validateTestClass(); initialiseReportDir(); initialiseHistoryLocation(); - return new PitOptions(classUnderTest, classesToMutate, sourceDirs, reportDir, packages, threads, + return new PitOptions(classUnderTest, classesToMutate, sourceDirs, reportDir, packages, classPath, threads, historyLocation, excludedClasses, excludedMethods, avoidCallsTo, mutators, timeout, timeoutFactor); } @@ -185,6 +188,11 @@ public PitOptionsBuilder withPackagesToTest(List packages) { this.packages = copyOf(packages); return this; } + + public PitOptionsBuilder withClassPath(List classPath) { + this.classPath = copyOf(classPath); + return this; + } public PitOptionsBuilder withThreads(int threads) { this.threads = threads; @@ -260,6 +268,10 @@ public List getClassesToMutate() { public List getPackages() { return packages; } + + public List getClassPath() { + return classPath; + } public List getAvoidCallsTo() { return avoidCallsTo; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRequest.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRequest.java index 63c5a42e..2b28db2d 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRequest.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRequest.java @@ -1,6 +1,6 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import com.google.common.collect.ImmutableList; import java.io.File; import java.io.Serializable; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitResults.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitResults.java index 3d24248d..a847f128 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitResults.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitResults.java @@ -1,10 +1,11 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; -import org.pitest.pitclipse.pitrunner.PitOptions.PitLaunchException; -import org.pitest.pitclipse.pitrunner.results.Mutations; -import org.pitest.pitclipse.pitrunner.results.ObjectFactory; -import org.pitest.pitclipse.pitrunner.results.summary.SummaryResult; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import com.google.common.collect.ImmutableList; + +import org.pitest.pitclipse.runner.PitOptions.PitLaunchException; +import org.pitest.pitclipse.runner.results.Mutations; +import org.pitest.pitclipse.runner.results.ObjectFactory; +import org.pitest.pitclipse.runner.results.summary.SummaryResult; import java.io.File; import java.io.Serializable; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRunner.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRunner.java index 4e875c3e..3928bcc5 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRunner.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRunner.java @@ -1,68 +1,57 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; + +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; import org.pitest.mutationtest.commandline.MutationCoverageReport; -import org.pitest.pitclipse.pitrunner.client.PitClient; -import org.pitest.pitclipse.pitrunner.results.Mutations; -import org.pitest.pitclipse.pitrunner.results.mutations.RecordingMutationsDispatcher; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.Optional; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.runner.client.PitClient; +import org.pitest.pitclipse.runner.results.Mutations; +import org.pitest.pitclipse.runner.results.mutations.RecordingMutationsDispatcher; import java.io.File; import java.io.IOException; -import static java.lang.Integer.valueOf; -import static org.pitest.pitclipse.reloc.guava.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkArgument; +import static java.lang.Integer.parseInt; public class PitRunner { public static void main(String[] args) { validateArgs(args); - int port = valueOf(args[0]); - PitClient client = new PitClient(port); - try { + int port = parseInt(args[0]); + + try (PitClient client = new PitClient(port)) { client.connect(); System.out.println("Connected"); Optional request = client.readRequest(); Optional results = request.transform(executePit()); - results.transform(sendTo(client)); - } finally { - try { - System.out.println("Closing server"); - client.close(); - } catch (IOException e) { - e.printStackTrace(); - } - System.out.println("Closed"); + results.toJavaUtil().ifPresent(client::sendResults); + System.out.println("Closing server"); + + } catch (IOException e) { + // An error occurred while closing the client + e.printStackTrace(); } - } - - private static Function sendTo(final PitClient client) { - return new Function() { - public Void apply(PitResults pitResults) { - client.sendResults(pitResults); - return null; - } - }; + System.out.println("Closed"); } public static Function executePit() { - return new Function() { - public PitResults apply(PitRequest request) { - System.out.println("Received request: " + request); - String[] cliArgs = PitCliArguments.from(request.getOptions()); - - MutationCoverageReport.main(cliArgs); - File reportDir = request.getReportDirectory(); - File htmlResultFile = findResultFile(reportDir, "index.html"); - Mutations mutations = RecordingMutationsDispatcher.INSTANCE.getDispatchedMutations(); - - PitResults results = PitResults.builder().withHtmlResults(htmlResultFile).withProjects(request.getProjects()) - .withMutations(mutations).build(); - System.out.println("Sending results: " + results); - return results; - } + return request -> { + System.out.println("Received request: " + request); + String[] cliArgs = PitCliArguments.from(request.getOptions()); + MutationCoverageReport.main(cliArgs); + File reportDir = request.getReportDirectory(); + File htmlResultFile = findResultFile(reportDir, "index.html"); + Mutations mutations = RecordingMutationsDispatcher.INSTANCE.getDispatchedMutations(); + PitResults results = PitResults.builder() + .withHtmlResults(htmlResultFile) + .withProjects(request.getProjects()) + .withMutations(mutations) + .build(); + System.out.println("Sending results: " + results); + return results; }; } diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitClient.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitClient.java index 78fbb711..e9b6e096 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitClient.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitClient.java @@ -1,12 +1,13 @@ -package org.pitest.pitclipse.pitrunner.client; +package org.pitest.pitclipse.runner.client; -import org.pitest.pitclipse.pitrunner.PitRequest; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.io.ObjectStreamSocket; -import org.pitest.pitclipse.pitrunner.io.SocketProvider; -import org.pitest.pitclipse.reloc.guava.annotations.VisibleForTesting; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.Optional; +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Function; +import com.google.common.base.Optional; + +import org.pitest.pitclipse.runner.PitRequest; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.io.ObjectStreamSocket; +import org.pitest.pitclipse.runner.io.SocketProvider; import java.io.Closeable; import java.io.IOException; @@ -27,6 +28,7 @@ public PitClient(int portNumber) { this.socketProvider = socketProvider; } + // TODO [Refactor] Consider returning a Connection object instead of mutating this public void connect() { socket = socketProvider.connectTo(portNumber); } @@ -36,24 +38,14 @@ public void sendResults(PitResults results) { } private Function write(final PitResults results) { - return new Function() { - public PitResults apply(ObjectStreamSocket objectStreamSocket) { - objectStreamSocket.write(results); - return results; - } + return objectStreamSocket -> { + objectStreamSocket.write(results); + return results; }; } public Optional readRequest() { - return socket.transform(read()); - } - - private Function read() { - return new Function() { - public PitRequest apply(ObjectStreamSocket objectStreamSocket) { - return objectStreamSocket.read(); - } - }; + return socket.transform(ObjectStreamSocket::read); } @Override diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitCommunicator.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitCommunicator.java index 0db6c9cc..45e946ed 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitCommunicator.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitCommunicator.java @@ -1,7 +1,7 @@ -package org.pitest.pitclipse.pitrunner.client; +package org.pitest.pitclipse.runner.client; -import org.pitest.pitclipse.pitrunner.PitRequest; -import org.pitest.pitclipse.pitrunner.server.PitServer; +import org.pitest.pitclipse.runner.PitRequest; +import org.pitest.pitclipse.runner.server.PitServer; public class PitCommunicator implements Runnable { @@ -17,10 +17,15 @@ public PitCommunicator(PitServer server, PitRequest request, PitResultHandler re @Override public void run() { + // TODO Enhance this to make objects immutable & use try-with-resource + // (exceptions may be swallowed her) try { server.listen(); server.sendRequest(request); resultHandler.handle(server.receiveResults()); + } catch (Exception e) { + e.printStackTrace(); + throw e; } finally { server.close(); } diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitResultHandler.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitResultHandler.java index 25c12b08..0e166ec1 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitResultHandler.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitResultHandler.java @@ -1,6 +1,6 @@ -package org.pitest.pitclipse.pitrunner.client; +package org.pitest.pitclipse.runner.client; -import org.pitest.pitclipse.pitrunner.PitResults; +import org.pitest.pitclipse.runner.PitResults; public interface PitResultHandler { void handle(PitResults results); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfiguration.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfiguration.java index f32bf15b..5b71cb28 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfiguration.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfiguration.java @@ -1,8 +1,8 @@ -package org.pitest.pitclipse.pitrunner.config; +package org.pitest.pitclipse.runner.config; import java.math.BigDecimal; -import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.PROJECT_ISOLATION; +import static org.pitest.pitclipse.runner.config.PitExecutionMode.PROJECT_ISOLATION; public class PitConfiguration { public static final String DEFAULT_AVOID_CALLS_TO_LIST = "java.util.logging, org.apache.log4j, org.slf4j, org.apache.commons.logging"; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfigurationVisitor.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfigurationVisitor.java index 37570053..d92d4858 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfigurationVisitor.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfigurationVisitor.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.config; +package org.pitest.pitclipse.runner.config; public interface PitConfigurationVisitor { void visitProjectLevelConfiguration(PitConfiguration pitConfiguration); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionMode.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionMode.java index 8ef78061..f51187b3 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionMode.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionMode.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.config; +package org.pitest.pitclipse.runner.config; public enum PitExecutionMode { PROJECT_ISOLATION("containingProject", "&Project containing test only") { diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionModeVisitor.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionModeVisitor.java index 07558dd5..44b10bf4 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionModeVisitor.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionModeVisitor.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.config; +package org.pitest.pitclipse.runner.config; public interface PitExecutionModeVisitor { T visitProjectLevelConfiguration(); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/ObjectStreamSocket.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/ObjectStreamSocket.java index e099b560..0053f782 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/ObjectStreamSocket.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/ObjectStreamSocket.java @@ -1,6 +1,6 @@ -package org.pitest.pitclipse.pitrunner.io; +package org.pitest.pitclipse.runner.io; -import org.pitest.pitclipse.reloc.guava.annotations.VisibleForTesting; +import com.google.common.annotations.VisibleForTesting; import java.io.Closeable; import java.io.IOException; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketCreationException.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketCreationException.java index 9ea9ce1e..2c03f0aa 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketCreationException.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketCreationException.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.io; +package org.pitest.pitclipse.runner.io; public final class SocketCreationException extends RuntimeException { diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketProvider.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketProvider.java index 8e02f15a..bd630f23 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketProvider.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketProvider.java @@ -1,6 +1,6 @@ -package org.pitest.pitclipse.pitrunner.io; +package org.pitest.pitclipse.runner.io; -import org.pitest.pitclipse.reloc.guava.base.Optional; +import com.google.common.base.Optional; import java.io.IOException; import java.net.InetAddress; @@ -44,7 +44,9 @@ public Optional connectTo(int portNumber) { e.printStackTrace(); } } - } while (!socket.isPresent() && (currentTime() - startInMillis < DEFAULT_TIMEOUT)); + } + while (!socket.isPresent() && (currentTime() - startInMillis < DEFAULT_TIMEOUT)); + return socket; } diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ClassMutations.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ClassMutations.java index cce67692..027ff42f 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ClassMutations.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ClassMutations.java @@ -1,15 +1,15 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects; -import org.pitest.pitclipse.reloc.guava.base.Objects; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.Ordering; +import com.google.common.base.Function; +import com.google.common.base.MoreObjects; +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Ordering; import java.util.Comparator; import java.util.List; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform; +import static com.google.common.collect.Collections2.transform; public class ClassMutations implements Visitable, Countable { private final String className; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Countable.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Countable.java index 21a4b2e8..fc791320 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Countable.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Countable.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; public interface Countable { long count(); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ModelBuilder.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ModelBuilder.java index 4ae82a31..3ce0a40f 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ModelBuilder.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ModelBuilder.java @@ -1,22 +1,23 @@ -package org.pitest.pitclipse.pitrunner.model; - -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.results.DetectionStatus; -import org.pitest.pitclipse.pitrunner.results.Mutations; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.Predicate; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.Multimap; -import org.pitest.pitclipse.reloc.guava.collect.Multimaps; -import org.pitest.pitclipse.reloc.guava.collect.Ordering; +package org.pitest.pitclipse.runner.model; + +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Multimap; +import com.google.common.collect.Multimaps; +import com.google.common.collect.Ordering; + +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.results.DetectionStatus; +import org.pitest.pitclipse.runner.results.Mutations; import java.util.Collection; import java.util.List; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.filter; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf; -import static org.pitest.pitclipse.reloc.guava.collect.Multimaps.filterKeys; -import static org.pitest.pitclipse.reloc.guava.collect.Multimaps.transformValues; +import static com.google.common.collect.Collections2.filter; +import static com.google.common.collect.ImmutableList.copyOf; +import static com.google.common.collect.Multimaps.filterKeys; +import static com.google.common.collect.Multimaps.transformValues; public class ModelBuilder { @@ -38,7 +39,7 @@ public MutationsModel buildFrom(PitResults results) { private List buildMutationModelFor(List projects, Mutations mutations) { ImmutableList.Builder builder = ImmutableList.builder(); for (DetectionStatus status : DetectionStatus.values()) { - List mutationsForStatus = selectMutationsByStatus( + List mutationsForStatus = selectMutationsByStatus( mutations, status); if (!mutationsForStatus.isEmpty()) { ImmutableList.Builder projectMutations = ImmutableList.builder(); @@ -55,13 +56,13 @@ private List buildMutationModelFor(List projects, Mutations muta return builder.build(); } - private List selectMutationsByStatus( + private List selectMutationsByStatus( Mutations mutations, final DetectionStatus status) { - List allMutations = copyOf(mutations.getMutation()); - Collection filtered = filter(allMutations, - new Predicate() { + List allMutations = copyOf(mutations.getMutation()); + Collection filtered = filter(allMutations, + new Predicate() { @Override - public boolean apply(org.pitest.pitclipse.pitrunner.results.Mutations.Mutation mutation) { + public boolean apply(org.pitest.pitclipse.runner.results.Mutations.Mutation mutation) { return status == mutation.getStatus(); } }); @@ -69,14 +70,14 @@ public boolean apply(org.pitest.pitclipse.pitrunner.results.Mutations.Mutation m } private ProjectMutations buildProjectMutation(String project, - List mutations) { + List mutations) { List packages = buildPackageMutationsFor(project, mutations); return ProjectMutations.builder().withProjectName(project) .withPackageMutations(packages).build(); } private List buildPackageMutationsFor(String project, - List mutations) { + List mutations) { List classMutations = buildClassMutationsFor(project, mutations); return packageMutationsFrom(project, classMutations); } @@ -99,15 +100,15 @@ public String apply(ClassMutations mutations) { } private List buildClassMutationsFor(final String project, - List mutations) { - Multimap mutationsByClass = Multimaps.index( - mutations, new Function() { + List mutations) { + Multimap mutationsByClass = Multimaps.index( + mutations, new Function() { @Override - public String apply(org.pitest.pitclipse.pitrunner.results.Mutations.Mutation mutation) { + public String apply(org.pitest.pitclipse.runner.results.Mutations.Mutation mutation) { return mutation.getMutatedClass(); } }); - Multimap mutationsForProject = filterKeys( + Multimap mutationsForProject = filterKeys( mutationsByClass, new Predicate() { @Override public boolean apply(String mutatedClass) { @@ -115,9 +116,9 @@ public boolean apply(String mutatedClass) { } }); Multimap transformedMutations = transformValues(mutationsForProject, - new Function() { + new Function() { @Override - public Mutation apply(org.pitest.pitclipse.pitrunner.results.Mutations.Mutation dtoMutation) { + public Mutation apply(org.pitest.pitclipse.runner.results.Mutations.Mutation dtoMutation) { return Mutation.builder().withKillingTest(dtoMutation.getKillingTest()) .withLineNumber(dtoMutation.getLineNumber().intValue()) .withMutatedMethod(dtoMutation.getMutatedMethod()) diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Mutation.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Mutation.java index 0e58c1d4..270f2535 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Mutation.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Mutation.java @@ -1,8 +1,9 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; -import org.pitest.pitclipse.pitrunner.results.DetectionStatus; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects; -import org.pitest.pitclipse.reloc.guava.base.Objects; +import com.google.common.base.MoreObjects; +import com.google.common.base.Objects; + +import org.pitest.pitclipse.runner.results.DetectionStatus; public class Mutation implements Visitable { diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationSorter.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationSorter.java index 87c80279..42d5a0b0 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationSorter.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationSorter.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; import java.util.Comparator; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsByStatus.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsByStatus.java index a0f7c398..b69b42f6 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsByStatus.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsByStatus.java @@ -1,8 +1,9 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; -import org.pitest.pitclipse.pitrunner.results.DetectionStatus; -import org.pitest.pitclipse.pitrunner.results.Mutations.Mutation; -import org.pitest.pitclipse.reloc.guava.collect.Multimap; +import com.google.common.collect.Multimap; + +import org.pitest.pitclipse.runner.results.DetectionStatus; +import org.pitest.pitclipse.runner.results.Mutations.Mutation; public interface MutationsByStatus extends Multimap { } diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModel.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModel.java index 5bec1cfe..5e5dc300 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModel.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModel.java @@ -1,25 +1,26 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; -import org.pitest.pitclipse.pitrunner.results.DetectionStatus; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects; -import org.pitest.pitclipse.reloc.guava.base.Objects; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.Ordering; +import com.google.common.base.Function; +import com.google.common.base.MoreObjects; +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Ordering; + +import org.pitest.pitclipse.runner.results.DetectionStatus; import java.util.Comparator; import java.util.List; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.KILLED; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.MEMORY_ERROR; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NO_COVERAGE; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NON_VIABLE; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NOT_STARTED; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.RUN_ERROR; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.STARTED; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.SURVIVED; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.TIMED_OUT; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform; +import static com.google.common.collect.Collections2.transform; +import static org.pitest.pitclipse.runner.results.DetectionStatus.KILLED; +import static org.pitest.pitclipse.runner.results.DetectionStatus.MEMORY_ERROR; +import static org.pitest.pitclipse.runner.results.DetectionStatus.NON_VIABLE; +import static org.pitest.pitclipse.runner.results.DetectionStatus.NOT_STARTED; +import static org.pitest.pitclipse.runner.results.DetectionStatus.NO_COVERAGE; +import static org.pitest.pitclipse.runner.results.DetectionStatus.RUN_ERROR; +import static org.pitest.pitclipse.runner.results.DetectionStatus.STARTED; +import static org.pitest.pitclipse.runner.results.DetectionStatus.SURVIVED; +import static org.pitest.pitclipse.runner.results.DetectionStatus.TIMED_OUT; public class MutationsModel implements Visitable, Countable { diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModelVisitor.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModelVisitor.java index 251aa66f..5fe2f0af 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModelVisitor.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModelVisitor.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; public interface MutationsModelVisitor { T visitModel(MutationsModel mutationsModel); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/PackageMutations.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/PackageMutations.java index c31cf16d..27037ea0 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/PackageMutations.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/PackageMutations.java @@ -1,12 +1,12 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects; -import org.pitest.pitclipse.reloc.guava.base.Objects; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.Ordering; +import com.google.common.base.Function; +import com.google.common.base.MoreObjects; +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Ordering; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform; +import static com.google.common.collect.Collections2.transform; public class PackageMutations implements Visitable, Countable { private final String packageName; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectMutations.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectMutations.java index e7f4b54d..bc95b50b 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectMutations.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectMutations.java @@ -1,14 +1,14 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects; -import org.pitest.pitclipse.reloc.guava.base.Objects; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.Ordering; +import com.google.common.base.Function; +import com.google.common.base.MoreObjects; +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Ordering; import java.util.List; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform; +import static com.google.common.collect.Collections2.transform; public class ProjectMutations implements Visitable, Countable { private final String projectName; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectStructureService.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectStructureService.java index e06d6648..bb08ca00 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectStructureService.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectStructureService.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; public interface ProjectStructureService { String packageFrom(String project, String mutatedClass); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Status.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Status.java index 363d03ca..7bfdd581 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Status.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Status.java @@ -1,14 +1,15 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; -import org.pitest.pitclipse.pitrunner.results.DetectionStatus; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.Objects; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.Ordering; +import com.google.common.base.Function; +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Ordering; + +import org.pitest.pitclipse.runner.results.DetectionStatus; import java.util.List; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform; +import static com.google.common.collect.Collections2.transform; public class Status implements Visitable, Countable { diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Visitable.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Visitable.java index 226ad931..13a1faa2 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Visitable.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Visitable.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; public interface Visitable { T accept(MutationsModelVisitor visitor); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/DetectionStatus.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/DetectionStatus.java index e9432567..a69ec777 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/DetectionStatus.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/DetectionStatus.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.results; +package org.pitest.pitclipse.runner.results; public enum DetectionStatus { diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Dispatcher.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Dispatcher.java index 3b5c0209..b2c0db78 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Dispatcher.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Dispatcher.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.results; +package org.pitest.pitclipse.runner.results; public interface Dispatcher { void dispatch(T result); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Mutations.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Mutations.java index 28f0f441..20ff1523 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Mutations.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Mutations.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.results; +package org.pitest.pitclipse.runner.results; import java.io.Serializable; import java.math.BigInteger; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/ObjectFactory.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/ObjectFactory.java index 7a802c69..27527e37 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/ObjectFactory.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/ObjectFactory.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.results; +package org.pitest.pitclipse.runner.results; public class ObjectFactory { diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsDispatcher.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsDispatcher.java index 36d8b9f6..65b3b269 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsDispatcher.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsDispatcher.java @@ -1,7 +1,7 @@ -package org.pitest.pitclipse.pitrunner.results.mutations; +package org.pitest.pitclipse.runner.results.mutations; -import org.pitest.pitclipse.pitrunner.results.Dispatcher; -import org.pitest.pitclipse.pitrunner.results.Mutations; +import org.pitest.pitclipse.runner.results.Dispatcher; +import org.pitest.pitclipse.runner.results.Mutations; public interface MutationsDispatcher extends Dispatcher { } diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory.java index 49e4264a..d31c1e4d 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.results.mutations; +package org.pitest.pitclipse.runner.results.mutations; import org.pitest.mutationtest.ListenerArguments; import org.pitest.mutationtest.MutationResultListener; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListener.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListener.java index 5d47466f..3ef5e858 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListener.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListener.java @@ -1,15 +1,15 @@ -package org.pitest.pitclipse.pitrunner.results.mutations; +package org.pitest.pitclipse.runner.results.mutations; + +import com.google.common.collect.ImmutableList; -import org.pitest.functional.SideEffect1; import org.pitest.mutationtest.ClassMutationResults; import org.pitest.mutationtest.MutationResult; import org.pitest.mutationtest.MutationResultListener; import org.pitest.mutationtest.engine.MutationDetails; -import org.pitest.pitclipse.pitrunner.results.DetectionStatus; -import org.pitest.pitclipse.pitrunner.results.Mutations; -import org.pitest.pitclipse.pitrunner.results.Mutations.Mutation; -import org.pitest.pitclipse.pitrunner.results.ObjectFactory; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.runner.results.DetectionStatus; +import org.pitest.pitclipse.runner.results.Mutations; +import org.pitest.pitclipse.runner.results.Mutations.Mutation; +import org.pitest.pitclipse.runner.results.ObjectFactory; import java.math.BigInteger; @@ -25,6 +25,7 @@ public PitclipseMutationsResultListener(MutationsDispatcher dispatcher) { @Override public void runStart() { + // nothing to do } @Override @@ -33,12 +34,7 @@ public void handleMutationResult(ClassMutationResults results) { MutationDetails details = result.getDetails(); final Mutation mutation = OBJECT_FACTORY.createMutationsMutation(); mutation.setIndex(BigInteger.valueOf(details.getFirstIndex())); - result.getKillingTest().forEach(new SideEffect1() { - @Override - public void apply(String killingTest) { - mutation.setKillingTest(killingTest); - } - }); + result.getKillingTest().ifPresent(mutation::setKillingTest); mutation.setLineNumber(BigInteger.valueOf(details.getLineNumber())); mutation.setMutatedClass(details.getClassName().asJavaName()); mutation.setMutatedMethod(details.getMethod().name()); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/RecordingMutationsDispatcher.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/RecordingMutationsDispatcher.java index cfbd337c..6d06c181 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/RecordingMutationsDispatcher.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/RecordingMutationsDispatcher.java @@ -1,7 +1,8 @@ -package org.pitest.pitclipse.pitrunner.results.mutations; +package org.pitest.pitclipse.runner.results.mutations; -import org.pitest.pitclipse.pitrunner.results.Mutations; -import org.pitest.pitclipse.reloc.guava.base.Optional; +import com.google.common.base.Optional; + +import org.pitest.pitclipse.runner.results.Mutations; public enum RecordingMutationsDispatcher implements MutationsDispatcher { INSTANCE; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/ClassSummary.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/ClassSummary.java index cf6a0c5d..709c54a2 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/ClassSummary.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/ClassSummary.java @@ -1,16 +1,17 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; + +import com.google.common.base.MoreObjects; +import com.google.common.base.Objects; +import com.google.common.base.Predicate; import org.pitest.classinfo.ClassInfo; import org.pitest.mutationtest.ClassMutationResults; import org.pitest.mutationtest.MutationResult; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects; -import org.pitest.pitclipse.reloc.guava.base.Objects; -import org.pitest.pitclipse.reloc.guava.base.Predicate; import java.io.Serializable; import java.util.Collection; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.filter; +import static com.google.common.collect.Collections2.filter; class ClassSummary implements Serializable { diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/Coverage.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/Coverage.java index 9bb35166..742f9e4b 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/Coverage.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/Coverage.java @@ -1,7 +1,7 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects; -import org.pitest.pitclipse.reloc.guava.base.Objects; +import com.google.common.base.MoreObjects; +import com.google.common.base.Objects; import java.io.Serializable; import java.math.BigDecimal; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResult.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResult.java index accdf20c..40721623 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResult.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResult.java @@ -1,8 +1,8 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder; +import com.google.common.base.MoreObjects; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; import java.io.Serializable; import java.util.List; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListener.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListener.java index 7178d7c9..d6256b50 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListener.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListener.java @@ -1,12 +1,13 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; + +import com.google.common.collect.ImmutableList; import org.pitest.classinfo.ClassInfo; import org.pitest.classinfo.ClassName; import org.pitest.coverage.CoverageDatabase; import org.pitest.mutationtest.ClassMutationResults; import org.pitest.mutationtest.MutationResultListener; -import org.pitest.pitclipse.pitrunner.results.Dispatcher; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.runner.results.Dispatcher; import java.util.List; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory.java index 2b56b53e..7cd2cfe9 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory.java @@ -1,9 +1,9 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; import org.pitest.mutationtest.ListenerArguments; import org.pitest.mutationtest.MutationResultListener; import org.pitest.mutationtest.MutationResultListenerFactory; -import org.pitest.pitclipse.pitrunner.results.Dispatcher; +import org.pitest.pitclipse.runner.results.Dispatcher; import java.util.Properties; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServer.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServer.java index b2ca6ad7..406d1996 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServer.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServer.java @@ -1,9 +1,9 @@ -package org.pitest.pitclipse.pitrunner.server; +package org.pitest.pitclipse.runner.server; -import org.pitest.pitclipse.pitrunner.PitRequest; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.io.ObjectStreamSocket; -import org.pitest.pitclipse.pitrunner.io.SocketProvider; +import org.pitest.pitclipse.runner.PitRequest; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.io.ObjectStreamSocket; +import org.pitest.pitclipse.runner.io.SocketProvider; import java.io.Closeable; import java.io.IOException; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProvider.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProvider.java index 3d4cdcc4..319b9cee 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProvider.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProvider.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.server; +package org.pitest.pitclipse.runner.server; public interface PitServerProvider { PitServer newServerFor(int port); diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProviderImpl.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProviderImpl.java index d5395cb9..3765b84d 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProviderImpl.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProviderImpl.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.server; +package org.pitest.pitclipse.runner.server; public enum PitServerProviderImpl implements PitServerProvider { INSTANCE; diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/service/PitclipseService.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/service/PitclipseService.java index 5589b6a5..9672e396 100644 --- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/service/PitclipseService.java +++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/service/PitclipseService.java @@ -1,11 +1,11 @@ -package org.pitest.pitclipse.pitrunner.service; +package org.pitest.pitclipse.runner.service; -import org.pitest.pitclipse.pitrunner.PitRequest; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.model.ModelBuilder; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; -import org.pitest.pitclipse.pitrunner.server.PitServer; -import org.pitest.pitclipse.pitrunner.server.PitServerProvider; +import org.pitest.pitclipse.runner.PitRequest; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.model.ModelBuilder; +import org.pitest.pitclipse.runner.model.MutationsModel; +import org.pitest.pitclipse.runner.server.PitServer; +import org.pitest.pitclipse.runner.server.PitServerProvider; public class PitclipseService { private final PitServerProvider serverProvider; diff --git a/bundles/org.pitest.pitclipse.ui/.classpath b/bundles/org.pitest.pitclipse.ui/.classpath new file mode 100644 index 00000000..eca7bdba --- /dev/null +++ b/bundles/org.pitest.pitclipse.ui/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/bundles/org.pitest.pitclipse.ui/.project b/bundles/org.pitest.pitclipse.ui/.project new file mode 100644 index 00000000..059b63ed --- /dev/null +++ b/bundles/org.pitest.pitclipse.ui/.project @@ -0,0 +1,34 @@ + + + org.pitest.pitclipse.ui + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + net.sf.eclipsecs.core.CheckstyleBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + net.sf.eclipsecs.core.CheckstyleNature + + diff --git a/bundles/org.pitest.pitclipse.ui/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.ui/META-INF/MANIFEST.MF index 9d1b1817..806f4801 100644 --- a/bundles/org.pitest.pitclipse.ui/META-INF/MANIFEST.MF +++ b/bundles/org.pitest.pitclipse.ui/META-INF/MANIFEST.MF @@ -2,20 +2,21 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Pitclipse UI Bundle-SymbolicName: org.pitest.pitclipse.ui;singleton:=true -Bundle-Version: 1.1.7.201805090619 -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.core.resources, - org.pitest.pitclipse.core;bundle-version="1.1.7", - org.pitest.pitrunner;bundle-version="1.1.7", - org.pitest.guava-shade-osgi;bundle-version="18.0.0", - org.eclipse.ui.ide, - org.eclipse.jdt.ui, - org.eclipse.jdt.core;bundle-version="3.6.1", - org.eclipse.ui.workbench.texteditor;bundle-version="3.6.1", - org.eclipse.jface.text;bundle-version="3.6.1" +Bundle-Version: 2.0.0.qualifier +Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)", + org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)", + org.eclipse.core.resources;bundle-version="[3.10.1,4.0.0)", + org.pitest.pitclipse.core, + org.eclipse.ui.ide;bundle-version="[3.11.0,4.0.0)", + org.eclipse.jdt.ui;bundle-version="[3.11.2,4.0.0)", + org.eclipse.jdt.core;bundle-version="[3.6.1,4.0.0)", + org.eclipse.ui.workbench.texteditor;bundle-version="[3.9.100,4.0.0)", + org.eclipse.jface.text;bundle-version="[3.10.0,4.0.0)", + org.pitest.pitclipse.runner, + com.google.guava;bundle-version="21.0.0" Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-Vendor: Pitest.org Bundle-ClassPath: . Export-Package: org.pitest.pitclipse.ui.extension.point +Automatic-Module-Name: org.pitest.pitclipse.ui diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/notify/PitResultsNotifier.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/notify/PitResultsNotifier.java index fa619363..db9ed76d 100644 --- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/notify/PitResultsNotifier.java +++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/notify/PitResultsNotifier.java @@ -1,7 +1,7 @@ package org.pitest.pitclipse.ui.notify; import org.pitest.pitclipse.core.extension.point.ResultNotifier; -import org.pitest.pitclipse.pitrunner.PitResults; +import org.pitest.pitclipse.runner.PitResults; import org.pitest.pitclipse.ui.view.PitViewFinder; import org.pitest.pitclipse.ui.view.SummaryView; diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitExecutionStarted.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitExecutionStarted.java index 00978c66..5d4edb17 100644 --- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitExecutionStarted.java +++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitExecutionStarted.java @@ -4,7 +4,7 @@ import org.pitest.pitclipse.core.extension.point.ResultNotifier; import org.pitest.pitclipse.ui.view.mutations.MutationsView; -import static org.pitest.pitclipse.pitrunner.model.MutationsModel.EMPTY_MODEL; +import static org.pitest.pitclipse.runner.model.MutationsModel.EMPTY_MODEL; public class PitExecutionStarted implements ResultNotifier { @Override diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitViewFinder.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitViewFinder.java index 14b0ea3d..244adda9 100644 --- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitViewFinder.java +++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitViewFinder.java @@ -5,14 +5,14 @@ import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; +import org.pitest.pitclipse.runner.model.MutationsModel; import org.pitest.pitclipse.ui.view.mutations.MutationsView; import java.io.File; import java.util.Set; import java.util.concurrent.atomic.AtomicReference; -import static org.pitest.pitclipse.reloc.guava.collect.Sets.newHashSet; +import static com.google.common.collect.Sets.newHashSet; public enum PitViewFinder { INSTANCE; diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationModelChangedNotifier.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationModelChangedNotifier.java index 448dcb55..bb608e47 100644 --- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationModelChangedNotifier.java +++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationModelChangedNotifier.java @@ -1,7 +1,7 @@ package org.pitest.pitclipse.ui.view.mutations; import org.pitest.pitclipse.core.extension.point.ResultNotifier; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; +import org.pitest.pitclipse.runner.model.MutationsModel; import org.pitest.pitclipse.ui.view.PitViewFinder; public class MutationModelChangedNotifier implements ResultNotifier { diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationsView.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationsView.java index 18ae4b1a..2329466c 100644 --- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationsView.java +++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationsView.java @@ -1,6 +1,6 @@ package org.pitest.pitclipse.ui.view.mutations; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; +import org.pitest.pitclipse.runner.model.MutationsModel; public interface MutationsView { void updateWith(MutationsModel mutations); diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/OpenMutationDoubleClick.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/OpenMutationDoubleClick.java index 335681a8..50d8481a 100644 --- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/OpenMutationDoubleClick.java +++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/OpenMutationDoubleClick.java @@ -1,5 +1,8 @@ package org.pitest.pitclipse.ui.view.mutations; +import com.google.common.base.Function; +import com.google.common.base.Optional; + import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; @@ -25,16 +28,14 @@ import org.eclipse.ui.progress.UIJob; import org.eclipse.ui.texteditor.IDocumentProvider; import org.eclipse.ui.texteditor.ITextEditor; -import org.pitest.pitclipse.pitrunner.model.ClassMutations; -import org.pitest.pitclipse.pitrunner.model.Mutation; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; -import org.pitest.pitclipse.pitrunner.model.MutationsModelVisitor; -import org.pitest.pitclipse.pitrunner.model.PackageMutations; -import org.pitest.pitclipse.pitrunner.model.ProjectMutations; -import org.pitest.pitclipse.pitrunner.model.Status; -import org.pitest.pitclipse.pitrunner.model.Visitable; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.Optional; +import org.pitest.pitclipse.runner.model.ClassMutations; +import org.pitest.pitclipse.runner.model.Mutation; +import org.pitest.pitclipse.runner.model.MutationsModel; +import org.pitest.pitclipse.runner.model.MutationsModelVisitor; +import org.pitest.pitclipse.runner.model.PackageMutations; +import org.pitest.pitclipse.runner.model.ProjectMutations; +import org.pitest.pitclipse.runner.model.Status; +import org.pitest.pitclipse.runner.model.Visitable; import static org.eclipse.ui.ide.IDE.openEditor; diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/PitMutationsView.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/PitMutationsView.java index 5f33d31e..43d742e7 100644 --- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/PitMutationsView.java +++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/PitMutationsView.java @@ -5,7 +5,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.part.ViewPart; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; +import org.pitest.pitclipse.runner.model.MutationsModel; public class PitMutationsView extends ViewPart implements MutationsView { diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewContentProvider.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewContentProvider.java index 86e92a8f..e2e48ec2 100644 --- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewContentProvider.java +++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewContentProvider.java @@ -2,14 +2,14 @@ import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; -import org.pitest.pitclipse.pitrunner.model.ClassMutations; -import org.pitest.pitclipse.pitrunner.model.Mutation; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; -import org.pitest.pitclipse.pitrunner.model.MutationsModelVisitor; -import org.pitest.pitclipse.pitrunner.model.PackageMutations; -import org.pitest.pitclipse.pitrunner.model.ProjectMutations; -import org.pitest.pitclipse.pitrunner.model.Status; -import org.pitest.pitclipse.pitrunner.model.Visitable; +import org.pitest.pitclipse.runner.model.ClassMutations; +import org.pitest.pitclipse.runner.model.Mutation; +import org.pitest.pitclipse.runner.model.MutationsModel; +import org.pitest.pitclipse.runner.model.MutationsModelVisitor; +import org.pitest.pitclipse.runner.model.PackageMutations; +import org.pitest.pitclipse.runner.model.ProjectMutations; +import org.pitest.pitclipse.runner.model.Status; +import org.pitest.pitclipse.runner.model.Visitable; public class ViewContentProvider implements ITreeContentProvider { diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewLabelProvider.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewLabelProvider.java index 7f25b476..dad3b2fb 100644 --- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewLabelProvider.java +++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewLabelProvider.java @@ -11,29 +11,29 @@ import org.eclipse.ui.ide.IDE.SharedImages; import org.osgi.framework.Bundle; import org.osgi.framework.FrameworkUtil; -import org.pitest.pitclipse.pitrunner.model.ClassMutations; -import org.pitest.pitclipse.pitrunner.model.Countable; -import org.pitest.pitclipse.pitrunner.model.Mutation; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; -import org.pitest.pitclipse.pitrunner.model.MutationsModelVisitor; -import org.pitest.pitclipse.pitrunner.model.PackageMutations; -import org.pitest.pitclipse.pitrunner.model.ProjectMutations; -import org.pitest.pitclipse.pitrunner.model.Status; -import org.pitest.pitclipse.pitrunner.model.Visitable; -import org.pitest.pitclipse.pitrunner.results.DetectionStatus; +import org.pitest.pitclipse.runner.model.ClassMutations; +import org.pitest.pitclipse.runner.model.Countable; +import org.pitest.pitclipse.runner.model.Mutation; +import org.pitest.pitclipse.runner.model.MutationsModel; +import org.pitest.pitclipse.runner.model.MutationsModelVisitor; +import org.pitest.pitclipse.runner.model.PackageMutations; +import org.pitest.pitclipse.runner.model.ProjectMutations; +import org.pitest.pitclipse.runner.model.Status; +import org.pitest.pitclipse.runner.model.Visitable; +import org.pitest.pitclipse.runner.results.DetectionStatus; import java.net.URL; import java.util.Set; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.KILLED; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.MEMORY_ERROR; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NON_VIABLE; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NOT_STARTED; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.RUN_ERROR; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.STARTED; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.TIMED_OUT; -import static org.pitest.pitclipse.reloc.guava.base.Strings.isNullOrEmpty; -import static org.pitest.pitclipse.reloc.guava.collect.Sets.immutableEnumSet; +import static com.google.common.base.Strings.isNullOrEmpty; +import static com.google.common.collect.Sets.immutableEnumSet; +import static org.pitest.pitclipse.runner.results.DetectionStatus.KILLED; +import static org.pitest.pitclipse.runner.results.DetectionStatus.MEMORY_ERROR; +import static org.pitest.pitclipse.runner.results.DetectionStatus.NON_VIABLE; +import static org.pitest.pitclipse.runner.results.DetectionStatus.NOT_STARTED; +import static org.pitest.pitclipse.runner.results.DetectionStatus.RUN_ERROR; +import static org.pitest.pitclipse.runner.results.DetectionStatus.STARTED; +import static org.pitest.pitclipse.runner.results.DetectionStatus.TIMED_OUT; public class ViewLabelProvider extends LabelProvider { diff --git a/bundles/org.pitest/.classpath b/bundles/org.pitest/.classpath new file mode 100644 index 00000000..54dabe10 --- /dev/null +++ b/bundles/org.pitest/.classpath @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.pitest/.project b/bundles/org.pitest/.project new file mode 100644 index 00000000..b60a8bd3 --- /dev/null +++ b/bundles/org.pitest/.project @@ -0,0 +1,28 @@ + + + org.pitest + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/bundles/org.pitest/META-INF/MANIFEST.MF b/bundles/org.pitest/META-INF/MANIFEST.MF new file mode 100644 index 00000000..77f36425 --- /dev/null +++ b/bundles/org.pitest/META-INF/MANIFEST.MF @@ -0,0 +1,107 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Pitest +Bundle-SymbolicName: org.pitest +Bundle-Version: 1.4.6 +Bundle-ClassPath: pitest-1.4.6.jar, + pitest-1.4.6-javadoc.jar, + pitest-1.4.6-sources.jar, + pitest-command-line-1.4.6.jar, + pitest-command-line-1.4.6-javadoc.jar, + pitest-command-line-1.4.6-sources.jar, + pitest-entry-1.4.6.jar, + pitest-entry-1.4.6-javadoc.jar, + pitest-entry-1.4.6-sources.jar, + pitest-html-report-1.4.6.jar, + pitest-html-report-1.4.6-javadoc.jar, + pitest-html-report-1.4.6-sources.jar +Bundle-Vendor: Henry Coles +Export-Package: joptsimple, + joptsimple.internal, + joptsimple.util, + org.objectweb.asm, + org.objectweb.asm.commons, + org.objectweb.asm.signature, + org.objectweb.asm.tree, + org.objectweb.asm.tree.analysis, + org.objectweb.asm.util, + org.pitest.boot, + org.pitest.bytecode, + org.pitest.bytecode.analysis, + org.pitest.classinfo, + org.pitest.classpath, + org.pitest.coverage, + org.pitest.coverage.analysis, + org.pitest.coverage.execute, + org.pitest.coverage.export, + org.pitest.dependency, + org.pitest.extension.common, + org.pitest.functional, + org.pitest.functional.predicate, + org.pitest.functional.prelude, + org.pitest.help, + org.pitest.junit, + org.pitest.junit.adapter, + org.pitest.mutationtest, + org.pitest.mutationtest.build, + org.pitest.mutationtest.build.intercept.annotations, + org.pitest.mutationtest.build.intercept.equivalent, + org.pitest.mutationtest.build.intercept.javafeatures, + org.pitest.mutationtest.build.intercept.kotlin, + org.pitest.mutationtest.build.intercept.logging, + org.pitest.mutationtest.build.intercept.staticinitializers, + org.pitest.mutationtest.build.intercept.timeout, + org.pitest.mutationtest.commandline, + org.pitest.mutationtest.config, + org.pitest.mutationtest.engine, + org.pitest.mutationtest.engine.gregor, + org.pitest.mutationtest.engine.gregor.analysis, + org.pitest.mutationtest.engine.gregor.blocks, + org.pitest.mutationtest.engine.gregor.config, + org.pitest.mutationtest.engine.gregor.mutators, + org.pitest.mutationtest.engine.gregor.mutators.experimental, + org.pitest.mutationtest.engine.gregor.mutators.rv, + org.pitest.mutationtest.execute, + org.pitest.mutationtest.filter, + org.pitest.mutationtest.incremental, + org.pitest.mutationtest.mocksupport, + org.pitest.mutationtest.report.csv, + org.pitest.mutationtest.report.html, + org.pitest.mutationtest.report.xml, + org.pitest.mutationtest.statistics, + org.pitest.mutationtest.tooling, + org.pitest.mutationtest.verify, + org.pitest.plugin, + org.pitest.plugin.export, + org.pitest.process, + org.pitest.reflection, + org.pitest.reloc.antlr.common, + org.pitest.reloc.antlr.common.ASdebug, + org.pitest.reloc.antlr.common.actions.cpp, + org.pitest.reloc.antlr.common.actions.csharp, + org.pitest.reloc.antlr.common.actions.java, + org.pitest.reloc.antlr.common.actions.python, + org.pitest.reloc.antlr.common.build, + org.pitest.reloc.antlr.common.collections, + org.pitest.reloc.antlr.common.collections.impl, + org.pitest.reloc.antlr.common.debug, + org.pitest.reloc.antlr.common.debug.misc, + org.pitest.reloc.antlr.common.preprocessor, + org.pitest.reloc.antlr.stringtemplate, + org.pitest.reloc.antlr.stringtemplate.language, + org.pitest.reloc.antlr.stringtemplate.misc, + org.pitest.reloc.asm, + org.pitest.reloc.asm.commons, + org.pitest.reloc.asm.signature, + org.pitest.reloc.asm.tree, + org.pitest.sequence, + org.pitest.testapi, + org.pitest.testapi.execute, + org.pitest.testapi.execute.containers, + org.pitest.testng, + org.pitest.util, + sun.pitest +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Eclipse-BundleShape: dir +Automatic-Module-Name: org.pitest +Require-Bundle: org.junit;bundle-version="4.12.0" diff --git a/bundles/org.pitest/build.properties b/bundles/org.pitest/build.properties new file mode 100644 index 00000000..3ee43423 --- /dev/null +++ b/bundles/org.pitest/build.properties @@ -0,0 +1,25 @@ +bin.includes = META-INF/,\ + pitest-1.4.6.jar,\ + pitest-1.4.6-javadoc.jar,\ + pitest-1.4.6-sources.jar,\ + pitest-command-line-1.4.6.jar,\ + pitest-command-line-1.4.6-javadoc.jar,\ + pitest-command-line-1.4.6-sources.jar,\ + pitest-entry-1.4.6.jar,\ + pitest-entry-1.4.6-javadoc.jar,\ + pitest-entry-1.4.6-sources.jar,\ + pitest-html-report-1.4.6.jar,\ + pitest-html-report-1.4.6-javadoc.jar,\ + pitest-html-report-1.4.6-sources.jar +src.includes = pitest-1.4.6-javadoc.jar,\ + pitest-1.4.6-sources.jar,\ + pitest-1.4.6.jar,\ + pitest-command-line-1.4.6-javadoc.jar,\ + pitest-command-line-1.4.6-sources.jar,\ + pitest-command-line-1.4.6.jar,\ + pitest-entry-1.4.6-javadoc.jar,\ + pitest-entry-1.4.6-sources.jar,\ + pitest-entry-1.4.6.jar,\ + pitest-html-report-1.4.6-javadoc.jar,\ + pitest-html-report-1.4.6-sources.jar,\ + pitest-html-report-1.4.6.jar diff --git a/bundles/org.pitest/pitest-1.4.6-javadoc.jar b/bundles/org.pitest/pitest-1.4.6-javadoc.jar new file mode 100644 index 00000000..90a3ce46 Binary files /dev/null and b/bundles/org.pitest/pitest-1.4.6-javadoc.jar differ diff --git a/bundles/org.pitest/pitest-1.4.6-sources.jar b/bundles/org.pitest/pitest-1.4.6-sources.jar new file mode 100644 index 00000000..54531020 Binary files /dev/null and b/bundles/org.pitest/pitest-1.4.6-sources.jar differ diff --git a/bundles/org.pitest/pitest-1.4.6.jar b/bundles/org.pitest/pitest-1.4.6.jar new file mode 100644 index 00000000..ba1e64c5 Binary files /dev/null and b/bundles/org.pitest/pitest-1.4.6.jar differ diff --git a/bundles/org.pitest/pitest-command-line-1.4.6-javadoc.jar b/bundles/org.pitest/pitest-command-line-1.4.6-javadoc.jar new file mode 100644 index 00000000..127a0cbc Binary files /dev/null and b/bundles/org.pitest/pitest-command-line-1.4.6-javadoc.jar differ diff --git a/bundles/org.pitest/pitest-command-line-1.4.6-sources.jar b/bundles/org.pitest/pitest-command-line-1.4.6-sources.jar new file mode 100644 index 00000000..b62dc4bd Binary files /dev/null and b/bundles/org.pitest/pitest-command-line-1.4.6-sources.jar differ diff --git a/bundles/org.pitest/pitest-command-line-1.4.6.jar b/bundles/org.pitest/pitest-command-line-1.4.6.jar new file mode 100644 index 00000000..2e8d7010 Binary files /dev/null and b/bundles/org.pitest/pitest-command-line-1.4.6.jar differ diff --git a/bundles/org.pitest/pitest-entry-1.4.6-javadoc.jar b/bundles/org.pitest/pitest-entry-1.4.6-javadoc.jar new file mode 100644 index 00000000..40a21bfc Binary files /dev/null and b/bundles/org.pitest/pitest-entry-1.4.6-javadoc.jar differ diff --git a/bundles/org.pitest/pitest-entry-1.4.6-sources.jar b/bundles/org.pitest/pitest-entry-1.4.6-sources.jar new file mode 100644 index 00000000..59697acd Binary files /dev/null and b/bundles/org.pitest/pitest-entry-1.4.6-sources.jar differ diff --git a/bundles/org.pitest/pitest-entry-1.4.6.jar b/bundles/org.pitest/pitest-entry-1.4.6.jar new file mode 100644 index 00000000..930d60fc Binary files /dev/null and b/bundles/org.pitest/pitest-entry-1.4.6.jar differ diff --git a/bundles/org.pitest/pitest-html-report-1.4.6-javadoc.jar b/bundles/org.pitest/pitest-html-report-1.4.6-javadoc.jar new file mode 100644 index 00000000..723ae3dc Binary files /dev/null and b/bundles/org.pitest/pitest-html-report-1.4.6-javadoc.jar differ diff --git a/bundles/org.pitest/pitest-html-report-1.4.6-sources.jar b/bundles/org.pitest/pitest-html-report-1.4.6-sources.jar new file mode 100644 index 00000000..4fd300a5 Binary files /dev/null and b/bundles/org.pitest/pitest-html-report-1.4.6-sources.jar differ diff --git a/bundles/org.pitest/pitest-html-report-1.4.6.jar b/bundles/org.pitest/pitest-html-report-1.4.6.jar new file mode 100644 index 00000000..b844bbd0 Binary files /dev/null and b/bundles/org.pitest/pitest-html-report-1.4.6.jar differ diff --git a/bundles/pom.xml b/bundles/pom.xml new file mode 100644 index 00000000..d3a7b8ad --- /dev/null +++ b/bundles/pom.xml @@ -0,0 +1,26 @@ + + 4.0.0 + + + org.pitest + org.pitest.pitclipse + 2.0.0-SNAPSHOT + + + org.pitest.pitclipse.bundles + pom + + Pitclipse's bundles. + + + org.pitest + org.pitest.pitclipse.core + org.pitest.pitclipse.launch + org.pitest.pitclipse.launch.ui + org.pitest.pitclipse.listeners + org.pitest.pitclipse.preferences.ui + org.pitest.pitclipse.runner + org.pitest.pitclipse.ui + + \ No newline at end of file diff --git a/checkstyle.xml b/checkstyle.xml index ebf57e40..ecdf0687 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -1,172 +1,144 @@ - - + + - - - - - - - - - - + This configuration file was written by the eclipse-cs plugin configuration editor +--> + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.pitest.feature/.project b/features/org.pitest.feature/.project new file mode 100644 index 00000000..7c7a5893 --- /dev/null +++ b/features/org.pitest.feature/.project @@ -0,0 +1,17 @@ + + + org.pitest.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.pitest.feature/build.properties b/features/org.pitest.feature/build.properties new file mode 100644 index 00000000..64f93a9f --- /dev/null +++ b/features/org.pitest.feature/build.properties @@ -0,0 +1 @@ +bin.includes = feature.xml diff --git a/features/org.pitest.feature/feature.xml b/features/org.pitest.feature/feature.xml new file mode 100644 index 00000000..cb593d5d --- /dev/null +++ b/features/org.pitest.feature/feature.xml @@ -0,0 +1,222 @@ + + + + + State of the art mutation testing system for the JVM. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2010 Henry Coles + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + + diff --git a/features/org.pitest.pitclipse.core.feature/.project b/features/org.pitest.pitclipse.core.feature/.project new file mode 100644 index 00000000..889b8e0d --- /dev/null +++ b/features/org.pitest.pitclipse.core.feature/.project @@ -0,0 +1,17 @@ + + + org.pitest.pitclipse.core.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.pitest.pitclipse.core.feature/build.properties b/features/org.pitest.pitclipse.core.feature/build.properties new file mode 100644 index 00000000..64f93a9f --- /dev/null +++ b/features/org.pitest.pitclipse.core.feature/build.properties @@ -0,0 +1 @@ +bin.includes = feature.xml diff --git a/features/org.pitest.pitclipse.core.feature/feature.xml b/features/org.pitest.pitclipse.core.feature/feature.xml new file mode 100644 index 00000000..222cafe2 --- /dev/null +++ b/features/org.pitest.pitclipse.core.feature/feature.xml @@ -0,0 +1,266 @@ + + + + + Eclipse IDE integration of Pitest (PIT), a state of the art mutation system for the JVM. + + + + [Enter Copyright Description here.] + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.pitest.pitclipse.ui.feature/.project b/features/org.pitest.pitclipse.ui.feature/.project new file mode 100644 index 00000000..123c4311 --- /dev/null +++ b/features/org.pitest.pitclipse.ui.feature/.project @@ -0,0 +1,17 @@ + + + org.pitest.pitclipse.ui.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.pitest.pitclipse.ui.feature/build.properties b/features/org.pitest.pitclipse.ui.feature/build.properties new file mode 100644 index 00000000..64f93a9f --- /dev/null +++ b/features/org.pitest.pitclipse.ui.feature/build.properties @@ -0,0 +1 @@ +bin.includes = feature.xml diff --git a/features/org.pitest.pitclipse.ui.feature/feature.xml b/features/org.pitest.pitclipse.ui.feature/feature.xml new file mode 100644 index 00000000..75286d88 --- /dev/null +++ b/features/org.pitest.pitclipse.ui.feature/feature.xml @@ -0,0 +1,242 @@ + + + + + UI integration of Pitest (PIT), a state of the art mutation systemfor the JVM. +Provides views and contextual actions to search the code for mutations and show vulnerabilities. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/pom.xml b/features/pom.xml new file mode 100644 index 00000000..2764ab9a --- /dev/null +++ b/features/pom.xml @@ -0,0 +1,21 @@ + + 4.0.0 + + + org.pitest + org.pitest.pitclipse + 2.0.0-SNAPSHOT + + + org.pitest.pitclipse.features + pom + + Pitclipse's features. + + + org.pitest.feature + org.pitest.pitclipse.core.feature + org.pitest.pitclipse.ui.feature + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..1d7c993f --- /dev/null +++ b/pom.xml @@ -0,0 +1,147 @@ + + 4.0.0 + + org.pitest + org.pitest.pitclipse + 2.0.0-SNAPSHOT + pom + + Pitclipse + Eclipse IDE integration of Pitest + + + bundles + features + releng + tests + + + + 3.0 + + + + + 1.4.0 + 0.8.1 + + + + + + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + + + org.pitest + org.pitest.pitclipse.target + 2.0.0-SNAPSHOT + + + + + linux + gtk + x86 + + + linux + gtk + x86_64 + + + win32 + win32 + x86 + + + win32 + win32 + x86_64 + + + macosx + cocoa + x86_64 + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.0.0 + + + validate + validate + + checkstyle.xml + UTF-8 + true + true + + + check + + + + + + + + + org.eclipse.tycho + tycho-compiler-plugin + ${tycho-version} + + UTF-8 + + + + + org.eclipse.tycho + tycho-source-plugin + ${tycho-version} + + + attach-source + process-classes + + plugin-source + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.4.1 + + UTF-8 + + + + + + diff --git a/releng/org.pitest.pitclipse.p2/.project b/releng/org.pitest.pitclipse.p2/.project new file mode 100644 index 00000000..b67104d6 --- /dev/null +++ b/releng/org.pitest.pitclipse.p2/.project @@ -0,0 +1,11 @@ + + + org.pitest.pitclipse.p2 + + + + + + + + diff --git a/releng/org.pitest.pitclipse.p2/category.xml b/releng/org.pitest.pitclipse.p2/category.xml index 32ad9a78..4b4a67c0 100644 --- a/releng/org.pitest.pitclipse.p2/category.xml +++ b/releng/org.pitest.pitclipse.p2/category.xml @@ -1,7 +1,17 @@ - - + + - + + + + + + + + + Eclipse support for Pitest (PIT), a state of the art mutation testing system + + diff --git a/releng/org.pitest.pitclipse.p2/pom.xml b/releng/org.pitest.pitclipse.p2/pom.xml new file mode 100644 index 00000000..f9cfd597 --- /dev/null +++ b/releng/org.pitest.pitclipse.p2/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + + org.pitest + org.pitest.pitclipse.releng + 2.0.0-SNAPSHOT + + + org.pitest.pitclipse.p2 + eclipse-repository + + \ No newline at end of file diff --git a/releng/org.pitest.pitclipse.target/.project b/releng/org.pitest.pitclipse.target/.project new file mode 100644 index 00000000..a90fce06 --- /dev/null +++ b/releng/org.pitest.pitclipse.target/.project @@ -0,0 +1,11 @@ + + + org.pitest.pitclipse.target + + + + + + + + diff --git a/releng/org.pitest.pitclipse.target/org.pitest.pitclipse.target.target b/releng/org.pitest.pitclipse.target/org.pitest.pitclipse.target.target new file mode 100644 index 00000000..fa90a828 --- /dev/null +++ b/releng/org.pitest.pitclipse.target/org.pitest.pitclipse.target.target @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/releng/org.pitest.pitclipse.target/pom.xml b/releng/org.pitest.pitclipse.target/pom.xml new file mode 100644 index 00000000..b67af2b7 --- /dev/null +++ b/releng/org.pitest.pitclipse.target/pom.xml @@ -0,0 +1,20 @@ + + 4.0.0 + + + org.pitest + org.pitest.pitclipse.releng + 2.0.0-SNAPSHOT + + + org.pitest.pitclipse.target + eclipse-target-definition + + The target platform used by Pitclipse. + + + true + + + \ No newline at end of file diff --git a/releng/pom.xml b/releng/pom.xml new file mode 100644 index 00000000..2e665541 --- /dev/null +++ b/releng/pom.xml @@ -0,0 +1,20 @@ + + 4.0.0 + + + org.pitest + org.pitest.pitclipse + 2.0.0-SNAPSHOT + + + org.pitest.pitclipse.releng + pom + + Pitclipse's configuration. + + + org.pitest.pitclipse.target + org.pitest.pitclipse.p2 + + \ No newline at end of file diff --git a/tests/org.pitest.pitclipse.runner.tests/.classpath b/tests/org.pitest.pitclipse.runner.tests/.classpath new file mode 100644 index 00000000..3e5654f1 --- /dev/null +++ b/tests/org.pitest.pitclipse.runner.tests/.classpath @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/tests/org.pitest.pitclipse.runner.tests/.project b/tests/org.pitest.pitclipse.runner.tests/.project new file mode 100644 index 00000000..1b1121a1 --- /dev/null +++ b/tests/org.pitest.pitclipse.runner.tests/.project @@ -0,0 +1,34 @@ + + + org.pitest.pitclipse.runner.tests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + net.sf.eclipsecs.core.CheckstyleBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + net.sf.eclipsecs.core.CheckstyleNature + + diff --git a/tests/org.pitest.pitclipse.runner.tests/META-INF/MANIFEST.MF b/tests/org.pitest.pitclipse.runner.tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000..2070d53a --- /dev/null +++ b/tests/org.pitest.pitclipse.runner.tests/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Pitclipse Runner Tests +Bundle-SymbolicName: org.pitest.pitclipse.runner.tests +Bundle-Version: 2.0.0.qualifier +Bundle-Vendor: Pitest.org +Fragment-Host: org.pitest.pitclipse.runner;bundle-version="2.0.0" +Automatic-Module-Name: org.pitest.pitclipse.runner.tests +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.apache.commons.lang3;bundle-version="3.1.0", + org.mockito;bundle-version="1.9.5", + org.hamcrest;bundle-version="1.1.0", + org.jmock;bundle-version="1.2.0", + org.objenesis;bundle-version="1.0.0", + org.junit;bundle-version="4.12.0", + org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)", + com.google.guava diff --git a/tests/org.pitest.pitclipse.runner.tests/build.properties b/tests/org.pitest.pitclipse.runner.tests/build.properties new file mode 100644 index 00000000..efaa0a7f --- /dev/null +++ b/tests/org.pitest.pitclipse.runner.tests/build.properties @@ -0,0 +1,5 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + lib/ diff --git a/tests/org.pitest.pitclipse.runner.tests/lib/junit.jar b/tests/org.pitest.pitclipse.runner.tests/lib/junit.jar new file mode 100644 index 00000000..3a7fc266 Binary files /dev/null and b/tests/org.pitest.pitclipse.runner.tests/lib/junit.jar differ diff --git a/tests/org.pitest.pitclipse.runner.tests/pom.xml b/tests/org.pitest.pitclipse.runner.tests/pom.xml new file mode 100644 index 00000000..5f515c36 --- /dev/null +++ b/tests/org.pitest.pitclipse.runner.tests/pom.xml @@ -0,0 +1,40 @@ + + 4.0.0 + org.pitest + org.pitest.pitclipse.runner.tests + eclipse-test-plugin + + + org.pitest + org.pitest.pitclipse.tests + 2.0.0-SNAPSHOT + + + + + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + + + + eclipse-plugin + org.pitest.pitclipse.listeners + 0.0.0 + + + + + + + + + \ No newline at end of file diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/example/ExampleTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/example/ExampleTest.java index 9cc5fed5..b63af5e1 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/example/ExampleTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/example/ExampleTest.java @@ -1,9 +1,9 @@ package org.pitest.pitclipse.example; -import static org.junit.Assert.assertEquals; - import org.junit.Test; +import static org.junit.Assert.assertEquals; + public class ExampleTest { private final Foo foo = new Foo(); diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/AbstractPitRunnerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/AbstractPitRunnerTest.java index 9348e435..91889180 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/AbstractPitRunnerTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/AbstractPitRunnerTest.java @@ -1,17 +1,18 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; -import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals; -import static org.apache.commons.lang3.builder.ToStringBuilder.reflectionToString; - -import java.io.File; -import java.util.List; +import com.google.common.collect.ImmutableList; import org.apache.commons.lang3.builder.EqualsBuilder; import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeMatcher; -import org.pitest.pitclipse.pitrunner.server.PitServerTest; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.runner.server.PitServerTest; + +import java.io.File; +import java.util.List; + +import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals; +import static org.apache.commons.lang3.builder.ToStringBuilder.reflectionToString; public abstract class AbstractPitRunnerTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/FileSystemSupport.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/FileSystemSupport.java index 902b439a..ef2ae7c6 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/FileSystemSupport.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/FileSystemSupport.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; import java.io.File; import java.util.Random; diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitCliArgumentsTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitCliArgumentsTest.java index 219d1f96..15e3e6ec 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitCliArgumentsTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitCliArgumentsTest.java @@ -1,13 +1,14 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; + +import com.google.common.base.Function; +import com.google.common.base.Splitter; +import com.google.common.collect.Collections2; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; import org.junit.Before; import org.junit.Test; import org.pitest.pitclipse.example.ExampleTest; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.Splitter; -import org.pitest.pitclipse.reloc.guava.collect.Collections2; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder; import java.io.File; import java.math.BigDecimal; @@ -17,7 +18,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; -import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST; +import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST; public class PitCliArgumentsTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitOptionsTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitOptionsTest.java index 6c08493a..80f7dc26 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitOptionsTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitOptionsTest.java @@ -1,10 +1,11 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; + +import com.google.common.collect.ImmutableList; import org.junit.Before; import org.junit.Test; import org.pitest.pitclipse.example.ExampleTest; -import org.pitest.pitclipse.pitrunner.PitOptions.PitLaunchException; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.runner.PitOptions.PitLaunchException; import java.io.File; import java.io.IOException; @@ -13,7 +14,10 @@ import static java.lang.Integer.toHexString; import static org.apache.commons.lang3.SystemUtils.IS_OS_WINDOWS; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; public class PitOptionsTest { @@ -75,10 +79,10 @@ public void sourceDirectoryDoesNotExist() throws IOException { @Test(expected = PitLaunchException.class) public void multipleSourceDirectoriesOneDoesNotExist() throws IOException { - PitOptions.builder(). - withSourceDirectories(ImmutableList.of(testSrcDir, randomDir())). - withClassUnderTest(TEST_CLASS1). - build(); + PitOptions.builder() + .withSourceDirectories(ImmutableList.of(testSrcDir, randomDir())) + .withClassUnderTest(TEST_CLASS1) + .build(); } @Test(expected = PitLaunchException.class) diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTest.java index b4cf5d20..9a9a3a0d 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTest.java @@ -1,26 +1,45 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.junit.Assert.assertThat; - -import java.io.*; -import java.util.List; +import com.google.common.collect.ImmutableList; +import org.eclipse.core.runtime.Platform; import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeMatcher; import org.junit.Test; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.mutationtest.MutationResultListenerFactory; +import org.pitest.util.ServiceLoader; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.util.Collection; +import java.util.List; +import java.util.Set; + +import static java.util.Arrays.asList; +import static java.util.stream.Collectors.toSet; +import static org.eclipse.core.runtime.FileLocator.getBundleFile; +import static org.hamcrest.CoreMatchers.hasItems; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.notNullValue; +import static org.hamcrest.MatcherAssert.assertThat; + +/** + * Tests the behavior of a {@link PitRunner}'s functions. + */ +// TODO Add more tests to ensure outputs generated by Pitest are OK public class PitRunnerTest { private static final String TEST_CLASS = PitOptionsTest.class.getCanonicalName(); - private static final List CLASS_PATH = ImmutableList.of("org.pitest.pitclipse.pitrunner.*"); + private static final List CLASS_PATH = ImmutableList.of("org.pitest.pitclipse.runner.*"); private static final List PROJECTS = ImmutableList.of("project1", "project2"); @Test - public void runPIT() { + public void shouldRunPitest() throws IOException { PitRequest request = PitRequest.builder().withPitOptions(options()).withProjects(PROJECTS).build(); PitResults results = PitRunner.executePit().apply(request); assertThat(results, is(notNullValue())); @@ -28,6 +47,16 @@ public void runPIT() { assertThat(results.getMutations(), is(notNullValue())); assertThat(results, is(serializable())); } + + @Test + public void shouldFindAllAvailableMutationResultListeners() { + ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); + Collection factories = ServiceLoader.load(MutationResultListenerFactory.class, contextClassLoader); + Set factoriesName = factories.stream().map(f -> f.name()).collect(toSet()); + + String[] expectedFactoriesName = new String[] {"HTML", "CSV", "XML", "PITCLIPSE_MUTATIONS", "PITCLIPSE_SUMMARY"}; + assertThat(factoriesName, hasItems(expectedFactoriesName)); + } private Matcher serializable() { return new TypeSafeMatcher() { @@ -64,12 +93,31 @@ protected boolean matchesSafely(File file) { }; } - private PitOptions options() { - File srcDir = new File(System.getProperty("user.dir") + File.separator + "src" + File.separator + "main" - + File.separator + "java"); - - return PitOptions.builder().withSourceDirectory(srcDir).withClassUnderTest(TEST_CLASS) - .withClassesToMutate(CLASS_PATH).build(); + private static PitOptions options() throws IOException { + File srcDir = new File(System.getProperty("user.dir") + File.separator + "src"); + return PitOptions.builder().withSourceDirectory(srcDir) + .withClassUnderTest(TEST_CLASS) + .withClassesToMutate(CLASS_PATH) + .withClassPath(classPathWithPitestAndJUnit()) + .build(); } - + + private static List classPathWithPitestAndJUnit() throws IOException { + return asList( + // TODO [Refactor] Pitest's classpath should be managed by the org.pitest bundle + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath(), + getBundleFile(Platform.getBundle("org.pitest.pitclipse.runner")).getCanonicalPath(), + getBundleFile(Platform.getBundle("org.pitest.pitclipse.runner")).getCanonicalPath() + File.separator + "bin", + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-1.4.6.jar", + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-entry-1.4.6.jar", + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-command-line-1.4.6.jar", + getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-html-report-1.4.6.jar", + getBundleFile(Platform.getBundle("com.google.guava")).getCanonicalPath(), + // Add .class files to mutate + new File("bin").getAbsolutePath(), + // Add JUnit dependency + new File("lib/junit.jar").getAbsolutePath() + ); + } + } diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTestContext.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTestContext.java index 755dcb95..470a0ba0 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTestContext.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTestContext.java @@ -1,9 +1,9 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; -import java.io.ByteArrayOutputStream; +import org.pitest.pitclipse.runner.client.PitClient; +import org.pitest.pitclipse.runner.server.PitServer; -import org.pitest.pitclipse.pitrunner.client.PitClient; -import org.pitest.pitclipse.pitrunner.server.PitServer; +import java.io.ByteArrayOutputStream; public final class PitRunnerTestContext { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/TestFactory.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/TestFactory.java index 7bee3d26..25a8f55d 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/TestFactory.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/TestFactory.java @@ -1,11 +1,11 @@ -package org.pitest.pitclipse.pitrunner; +package org.pitest.pitclipse.runner; + +import org.pitest.mutationtest.DetectionStatus; import java.math.BigInteger; import java.util.Date; import java.util.Random; -import org.pitest.mutationtest.DetectionStatus; - public enum TestFactory { TEST_FACTORY; diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitClientTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitClientTest.java index ff600155..2111069e 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitClientTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitClientTest.java @@ -1,23 +1,24 @@ -package org.pitest.pitclipse.pitrunner.client; +package org.pitest.pitclipse.runner.client; -import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import java.io.IOException; +import com.google.common.base.Optional; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; -import org.pitest.pitclipse.pitrunner.AbstractPitRunnerTest; -import org.pitest.pitclipse.pitrunner.PitRequest; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.PitRunnerTestContext; -import org.pitest.pitclipse.pitrunner.io.ObjectStreamSocket; -import org.pitest.pitclipse.pitrunner.io.SocketProvider; -import org.pitest.pitclipse.reloc.guava.base.Optional; +import org.pitest.pitclipse.runner.AbstractPitRunnerTest; +import org.pitest.pitclipse.runner.PitRequest; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.PitRunnerTestContext; +import org.pitest.pitclipse.runner.io.ObjectStreamSocket; +import org.pitest.pitclipse.runner.io.SocketProvider; + +import java.io.IOException; + +import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class PitClientTest extends AbstractPitRunnerTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitCommunicatorTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitCommunicatorTest.java index 1466adf4..7fee4798 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitCommunicatorTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitCommunicatorTest.java @@ -1,21 +1,21 @@ -package org.pitest.pitclipse.pitrunner.client; - -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyNoMoreInteractions; -import static org.mockito.Mockito.verifyZeroInteractions; -import static org.mockito.Mockito.when; - -import java.io.File; -import java.io.IOException; +package org.pitest.pitclipse.runner.client; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; -import org.pitest.pitclipse.pitrunner.PitOptions; -import org.pitest.pitclipse.pitrunner.PitRequest; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.server.PitServer; +import org.pitest.pitclipse.runner.PitOptions; +import org.pitest.pitclipse.runner.PitRequest; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.server.PitServer; + +import java.io.File; +import java.io.IOException; + +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; +import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class PitCommunicatorTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitConfigurationTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitConfigurationTest.java index 2f96f8af..29ba9a92 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitConfigurationTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitConfigurationTest.java @@ -1,13 +1,13 @@ -package org.pitest.pitclipse.pitrunner.config; +package org.pitest.pitclipse.runner.config; + +import org.junit.Before; +import org.junit.Test; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; -import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.PROJECT_ISOLATION; - -import org.junit.Before; -import org.junit.Test; +import static org.pitest.pitclipse.runner.config.PitExecutionMode.PROJECT_ISOLATION; public class PitConfigurationTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitExecutionModeTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitExecutionModeTest.java index 3f7aff96..a56fc787 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitExecutionModeTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitExecutionModeTest.java @@ -1,15 +1,15 @@ -package org.pitest.pitclipse.pitrunner.config; - -import static org.mockito.Mockito.only; -import static org.mockito.Mockito.verify; -import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.PROJECT_ISOLATION; -import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.WORKSPACE; +package org.pitest.pitclipse.runner.config; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; +import static org.mockito.Mockito.only; +import static org.mockito.Mockito.verify; +import static org.pitest.pitclipse.runner.config.PitExecutionMode.PROJECT_ISOLATION; +import static org.pitest.pitclipse.runner.config.PitExecutionMode.WORKSPACE; + @RunWith(MockitoJUnitRunner.class) public class PitExecutionModeTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/ObjectStreamSocketTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/ObjectStreamSocketTest.java index 1bd95388..9dceb320 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/ObjectStreamSocketTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/ObjectStreamSocketTest.java @@ -1,16 +1,10 @@ -package org.pitest.pitclipse.pitrunner.io; +package org.pitest.pitclipse.runner.io; -import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals; -import static org.apache.commons.lang3.builder.HashCodeBuilder.reflectionHashCode; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.not; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.hamcrest.CoreMatchers.sameInstance; -import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -22,11 +16,17 @@ import java.io.Serializable; import java.net.Socket; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals; +import static org.apache.commons.lang3.builder.HashCodeBuilder.reflectionHashCode; +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.not; +import static org.hamcrest.CoreMatchers.notNullValue; +import static org.hamcrest.CoreMatchers.sameInstance; +import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class ObjectStreamSocketTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTest.java index b31cf407..7840ea95 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTest.java @@ -1,11 +1,10 @@ -package org.pitest.pitclipse.pitrunner.io; +package org.pitest.pitclipse.runner.io; + +import com.google.common.base.Optional; import org.junit.Test; -import org.pitest.pitclipse.reloc.guava.base.Optional; +import org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ReturnStatus; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.concurrent.Future; import static java.util.concurrent.TimeUnit.SECONDS; @@ -13,9 +12,12 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThanOrEqualTo; import static org.junit.Assert.assertThat; -import static org.pitest.pitclipse.pitrunner.io.SocketProviderIntegrationTestFixture.*; -import static org.pitest.pitclipse.pitrunner.io.SocketProviderIntegrationTestFixture.ReturnStatus.KABOOM; -import static org.pitest.pitclipse.pitrunner.io.SocketProviderIntegrationTestFixture.ReturnStatus.SUCCESS; +import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ECHO; +import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ReturnStatus.SUCCESS; +import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.aFreePort; +import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.connectTo; +import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.listenOn; +import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.readMessageFrom; public class SocketProviderIntegrationTest { @Test @@ -37,52 +39,3 @@ public void canConnectToAPortThatIsBeingListenedOn() throws Exception { assertThat(msg.get(5, SECONDS), is(ECHO)); } } - -class SocketProviderIntegrationTestFixture { - - static final String ECHO = "echo"; - - private static final ExecutorService EXECUTOR_SERVICE = Executors.newCachedThreadPool(); - - enum ReturnStatus { - SUCCESS, - KABOOM - } - - private SocketProviderIntegrationTestFixture() {} - static int aFreePort() { return new SocketProvider().getFreePort(); } - static Optional connectTo(int port) { return new SocketProvider().connectTo(port); } - static Future listenOn(final int port) { - Callable socketTest = new Callable() { - public ReturnStatus call() throws Exception { - System.out.println("Listening on port " + port); - ObjectStreamSocket server = new SocketProvider().listen(port); - try { - server.write(ECHO); - return SUCCESS; - } catch (Exception e) { - return KABOOM; - } finally { - server.close(); - } - } - }; - - return EXECUTOR_SERVICE.submit(socketTest); - } - - static Future readMessageFrom(final int port) { - Callable messageReader = new Callable() { - public T call() throws Exception { - ObjectStreamSocket client = connectTo(port).get(); - try { - return client.read(); - } finally { - client.close(); - } - } - }; - - return EXECUTOR_SERVICE.submit(messageReader); - } -} diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTestFixture.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTestFixture.java new file mode 100644 index 00000000..f3363d35 --- /dev/null +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTestFixture.java @@ -0,0 +1,67 @@ +package org.pitest.pitclipse.runner.io; + +import com.google.common.base.Optional; + +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ReturnStatus.KABOOM; +import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ReturnStatus.SUCCESS; + +class SocketProviderIntegrationTestFixture { + + static final String ECHO = "echo"; + + private static final ExecutorService EXECUTOR_SERVICE = Executors.newCachedThreadPool(); + + enum ReturnStatus { + SUCCESS, + KABOOM + } + + private SocketProviderIntegrationTestFixture() {} + + static int aFreePort() { + return new SocketProvider().getFreePort(); + } + + static Optional connectTo(int port) { + return new SocketProvider().connectTo(port); + } + + static Future listenOn(final int port) { + Callable socketTest = new Callable() { + public ReturnStatus call() throws Exception { + System.out.println("Listening on port " + port); + ObjectStreamSocket server = new SocketProvider().listen(port); + try { + server.write(ECHO); + return SUCCESS; + } catch (Exception e) { + return KABOOM; + } finally { + server.close(); + } + } + }; + + return EXECUTOR_SERVICE.submit(socketTest); + } + + static Future readMessageFrom(final int port) { + Callable messageReader = new Callable() { + public T call() throws Exception { + ObjectStreamSocket client = connectTo(port).get(); + try { + return client.read(); + } finally { + client.close(); + } + } + }; + + return EXECUTOR_SERVICE.submit(messageReader); + } +} \ No newline at end of file diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/ModelBuilderTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/ModelBuilderTest.java index 593f6616..44653d98 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/ModelBuilderTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/ModelBuilderTest.java @@ -1,16 +1,20 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.when; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.KILLED; -import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.SURVIVED; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.filter; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform; -import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf; -import static org.pitest.pitclipse.reloc.guava.collect.Iterables.concat; -import static org.pitest.pitclipse.reloc.guava.collect.Lists.newArrayList; +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; +import com.google.common.collect.LinkedListMultimap; +import com.google.common.collect.Multimap; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.results.DetectionStatus; +import org.pitest.pitclipse.runner.results.Mutations; import java.io.File; import java.math.BigInteger; @@ -18,20 +22,17 @@ import java.util.List; import java.util.Map.Entry; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.results.DetectionStatus; -import org.pitest.pitclipse.pitrunner.results.Mutations; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.Predicate; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder; -import org.pitest.pitclipse.reloc.guava.collect.LinkedListMultimap; -import org.pitest.pitclipse.reloc.guava.collect.Multimap; +import static com.google.common.collect.Collections2.filter; +import static com.google.common.collect.Collections2.transform; +import static com.google.common.collect.ImmutableList.copyOf; +import static com.google.common.collect.Iterables.concat; +import static com.google.common.collect.Lists.newArrayList; +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.when; +import static org.pitest.pitclipse.runner.results.DetectionStatus.KILLED; +import static org.pitest.pitclipse.runner.results.DetectionStatus.SURVIVED; @RunWith(MockitoJUnitRunner.class) public class ModelBuilderTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/MutationsModelTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/MutationsModelTest.java index 98f8c93d..a5e5d4ad 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/MutationsModelTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/MutationsModelTest.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.model; +package org.pitest.pitclipse.runner.model; public class MutationsModelTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerContext.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerContext.java index ac6d6551..e2c86a82 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerContext.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerContext.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.results; +package org.pitest.pitclipse.runner.results; import org.pitest.coverage.CoverageDatabase; diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerFactory.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerFactory.java index 996c1357..9b5cbf47 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerFactory.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerFactory.java @@ -1,7 +1,8 @@ -package org.pitest.pitclipse.pitrunner.results; +package org.pitest.pitclipse.runner.results; + +import com.google.common.base.Function; import org.pitest.mutationtest.MutationResultListener; -import org.pitest.pitclipse.reloc.guava.base.Function; public interface ListenerFactory extends Function, MutationResultListener> { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/MutationResultListenerLifecycle.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/MutationResultListenerLifecycle.java index d06e5ec5..37be55d5 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/MutationResultListenerLifecycle.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/MutationResultListenerLifecycle.java @@ -1,10 +1,11 @@ -package org.pitest.pitclipse.pitrunner.results; +package org.pitest.pitclipse.runner.results; + +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; import org.pitest.coverage.CoverageDatabase; import org.pitest.mutationtest.ClassMutationResults; import org.pitest.mutationtest.MutationResultListener; -import org.pitest.pitclipse.reloc.guava.base.Optional; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; public class MutationResultListenerLifecycle> { @@ -21,8 +22,9 @@ public Optional handleMutationResults(ImmutableList res ListenerContext context = new ListenerContext(recordingDispatcher, coverageData); MutationResultListener listener = factory.apply(context); listener.runStart(); - for (ClassMutationResults r : results) + for (ClassMutationResults r : results) { listener.handleMutationResult(r); + } listener.runEnd(); return recordingDispatcher.getResult(); } diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/ListenerTestFixture.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/ListenerTestFixture.java new file mode 100644 index 00000000..4b03f558 --- /dev/null +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/ListenerTestFixture.java @@ -0,0 +1,167 @@ +package org.pitest.pitclipse.runner.results.mutations; + +import com.google.common.base.MoreObjects; +import com.google.common.base.MoreObjects.ToStringHelper; +import com.google.common.collect.ImmutableList; + +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.hamcrest.Description; +import org.hamcrest.Matcher; +import org.hamcrest.TypeSafeMatcher; +import org.pitest.classinfo.ClassName; +import org.pitest.mutationtest.ClassMutationResults; +import org.pitest.mutationtest.MutationResult; +import org.pitest.mutationtest.MutationStatusTestPair; +import org.pitest.mutationtest.engine.Location; +import org.pitest.mutationtest.engine.MethodName; +import org.pitest.mutationtest.engine.MutationDetails; +import org.pitest.mutationtest.engine.MutationIdentifier; +import org.pitest.pitclipse.example.Foo; +import org.pitest.pitclipse.runner.results.DetectionStatus; +import org.pitest.pitclipse.runner.results.Mutations; +import org.pitest.pitclipse.runner.results.Mutations.Mutation; +import org.pitest.pitclipse.runner.results.ObjectFactory; + +import java.math.BigInteger; +import java.util.List; + +import static org.mockito.Matchers.argThat; +import static org.mockito.Mockito.verify; +import static org.pitest.pitclipse.runner.TestFactory.TEST_FACTORY; + +class ListenerTestFixture { + private static final ObjectFactory JAXB_OBJECT_FACTORY = new ObjectFactory(); + + public static ClassMutationResults aClassMutationResult() { + Location location = new Location(ClassName.fromClass(Foo.class), MethodName.fromString("doFoo"), "doFoo"); + MutationIdentifier id = new MutationIdentifier(location, 1, "SomeMutator"); + MutationDetails md = new MutationDetails(id, "org/pitest/pitclipse/example/Foo.java", TEST_FACTORY.aString(), + 20, TEST_FACTORY.aRandomInt()); + MutationStatusTestPair status = new MutationStatusTestPair(TEST_FACTORY.aRandomInt(), + org.pitest.mutationtest.DetectionStatus.KILLED, "org.pitest.pitclipse.example.ExampleTest"); + MutationResult mutation = new MutationResult(md, status); + return new ClassMutationResults(ImmutableList.of(mutation)); + } + + public static Mutations aMutationResult() { + Mutation mutation = JAXB_OBJECT_FACTORY.createMutationsMutation(); + mutation.setDetected(true); + mutation.setIndex(BigInteger.ONE); + mutation.setKillingTest("org.pitest.pitclipse.example.ExampleTest"); + mutation.setLineNumber(BigInteger.valueOf(20)); + mutation.setMutatedClass("org.pitest.pitclipse.example.Foo"); + mutation.setMutatedMethod("doFoo"); + mutation.setMutator("SomeMutator"); + mutation.setSourceFile("org/pitest/pitclipse/example/Foo.java"); + mutation.setStatus(DetectionStatus.KILLED); + + Mutations mutations = JAXB_OBJECT_FACTORY.createMutations(); + mutations.getMutation().add(mutation); + + return mutations; + } + + private static State state; + + public static void givenNoMutations() { + ImmutableList noMutants = ImmutableList.of(); + state.setInput(noMutants); + } + + public static void given(ClassMutationResults result) { + ImmutableList noMutants = ImmutableList.of(result); + state.setInput(noMutants); + } + + public static void whenPitIsExecuted() { + PitclipseMutationsResultListener listener = aListener(); + listener.runStart(); + for (ClassMutationResults classMutationResults : state.getInput()) { + listener.handleMutationResult(classMutationResults); + } + listener.runEnd(); + } + + public static void thenTheResultsWere(Mutations expectedResult) { + verify(state.getMutationsDispatcher()).dispatch(argThat(isEquivalentTo(expectedResult))); + } + + private static Matcher isEquivalentTo(final Mutations expectedResult) { + return new TypeSafeMatcher() { + + @Override + public void describeTo(Description description) { + ToStringHelper expectedResultAsString = MoreObjects.toStringHelper(expectedResult); + for (Mutation m : expectedResult.getMutation()) { + expectedResultAsString.add( + "Mutation", + MoreObjects.toStringHelper(m).add("index", m.getIndex()) + .add("killingTest", m.getKillingTest()).add("lineNumber", m.getLineNumber()) + .add("mutatedClass", m.getMutatedClass()) + .add("mutatedMethod", m.getMutatedMethod()).add("mutator", m.getMutator()) + .add("sourceFile", m.getSourceFile()).add("status", m.getStatus()).toString()); + } + description.appendText("is equivalent to: ").appendValue(expectedResultAsString); + } + + @Override + protected boolean matchesSafely(Mutations actualResult) { + List expectedMutations = expectedResult.getMutation(); + List actualMutations = actualResult.getMutation(); + if (expectedMutations.size() == actualMutations.size()) { + EqualsBuilder eb = new EqualsBuilder(); + for (int i = 0; i < expectedMutations.size(); i++) { + Mutation expectedMutation = expectedMutations.get(i); + Mutation actualMutation = actualMutations.get(i); + eb.append(expectedMutation.getIndex(), actualMutation.getIndex()); + eb.append(expectedMutation.getKillingTest(), actualMutation.getKillingTest()); + eb.append(expectedMutation.getLineNumber(), actualMutation.getLineNumber()); + eb.append(expectedMutation.getMutatedClass(), actualMutation.getMutatedClass()); + eb.append(expectedMutation.getMutatedMethod(), actualMutation.getMutatedMethod()); + eb.append(expectedMutation.getMutator(), actualMutation.getMutator()); + eb.append(expectedMutation.getSourceFile(), actualMutation.getSourceFile()); + eb.append(expectedMutation.getStatus(), actualMutation.getStatus()); + eb.append(expectedMutation.isDetected(), actualMutation.isDetected()); + } + return eb.isEquals(); + } + return false; + } + + }; + } + + public static void reset(MutationsDispatcher mutationsDispatcher) { + state = new State(mutationsDispatcher); + } + + public static Mutations empty() { + return JAXB_OBJECT_FACTORY.createMutations(); + } + + private static PitclipseMutationsResultListener aListener() { + return new PitclipseMutationsResultListener(state.getMutationsDispatcher()); + } + + private static class State { + + private ImmutableList input = ImmutableList.of(); + private final MutationsDispatcher mutationsDispatcher; + + public State(MutationsDispatcher mutationsDispatcher) { + this.mutationsDispatcher = mutationsDispatcher; + } + + public void setInput(ImmutableList input) { + this.input = input; + } + + public ImmutableList getInput() { + return input; + } + + public MutationsDispatcher getMutationsDispatcher() { + return mutationsDispatcher; + } + } +} \ No newline at end of file diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsBuilder.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsBuilder.java index a11ca470..558db603 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsBuilder.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsBuilder.java @@ -1,4 +1,4 @@ -package org.pitest.pitclipse.pitrunner.results.mutations; +package org.pitest.pitclipse.runner.results.mutations; public class MutationsBuilder { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactoryTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactoryTest.java index e1ca2c2e..be6f330e 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactoryTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactoryTest.java @@ -1,4 +1,9 @@ -package org.pitest.pitclipse.pitrunner.results.mutations; +package org.pitest.pitclipse.runner.results.mutations; + +import org.junit.Test; +import org.pitest.mutationtest.ListenerArguments; + +import java.util.Properties; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.instanceOf; @@ -7,11 +12,6 @@ import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; -import java.util.Properties; - -import org.junit.Test; -import org.pitest.mutationtest.ListenerArguments; - public class MutationsResultListenerFactoryTest { private final MutationsResultListenerFactory factory = new MutationsResultListenerFactory(); @@ -31,5 +31,8 @@ public void factoryProducesExpectedListener() { private ListenerArguments someArgs() { return null; } - private Properties someProperties() { return null; } + + private Properties someProperties() { + return null; + } } diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListenerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListenerTest.java index 7e14dc8b..08cea1fc 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListenerTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListenerTest.java @@ -1,45 +1,19 @@ -package org.pitest.pitclipse.pitrunner.results.mutations; +package org.pitest.pitclipse.runner.results.mutations; -import static org.mockito.Matchers.argThat; -import static org.mockito.Mockito.verify; -import static org.pitest.pitclipse.pitrunner.TestFactory.TEST_FACTORY; -import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.aClassMutationResult; -import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.aMutationResult; -import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.empty; -import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.given; -import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.givenNoMutations; -import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.reset; -import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.thenTheResultsWere; -import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.whenPitIsExecuted; - -import java.math.BigInteger; -import java.util.List; - -import org.apache.commons.lang3.builder.EqualsBuilder; -import org.hamcrest.Description; -import org.hamcrest.Matcher; -import org.hamcrest.TypeSafeMatcher; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; -import org.pitest.classinfo.ClassName; -import org.pitest.mutationtest.ClassMutationResults; -import org.pitest.mutationtest.MutationResult; -import org.pitest.mutationtest.MutationStatusTestPair; -import org.pitest.mutationtest.engine.Location; -import org.pitest.mutationtest.engine.MethodName; -import org.pitest.mutationtest.engine.MutationDetails; -import org.pitest.mutationtest.engine.MutationIdentifier; -import org.pitest.pitclipse.example.Foo; -import org.pitest.pitclipse.pitrunner.results.DetectionStatus; -import org.pitest.pitclipse.pitrunner.results.Mutations; -import org.pitest.pitclipse.pitrunner.results.Mutations.Mutation; -import org.pitest.pitclipse.pitrunner.results.ObjectFactory; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects; -import org.pitest.pitclipse.reloc.guava.base.MoreObjects.ToStringHelper; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; + +import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.aClassMutationResult; +import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.aMutationResult; +import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.empty; +import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.given; +import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.givenNoMutations; +import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.reset; +import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.thenTheResultsWere; +import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.whenPitIsExecuted; @RunWith(MockitoJUnitRunner.class) public class PitclipseMutationsResultListenerTest { @@ -67,138 +41,3 @@ public void aClassMutationResultFromPitIsConvertedAndDispatched() { } } - -class ListenerTestFixture { - private static final ObjectFactory JAXB_OBJECT_FACTORY = new ObjectFactory(); - - public static ClassMutationResults aClassMutationResult() { - Location location = new Location(ClassName.fromClass(Foo.class), MethodName.fromString("doFoo"), "doFoo"); - MutationIdentifier id = new MutationIdentifier(location, 1, "SomeMutator"); - MutationDetails md = new MutationDetails(id, "org/pitest/pitclipse/example/Foo.java", TEST_FACTORY.aString(), - 20, TEST_FACTORY.aRandomInt(), TEST_FACTORY.aRandomBoolean(), TEST_FACTORY.aRandomBoolean()); - MutationStatusTestPair status = new MutationStatusTestPair(TEST_FACTORY.aRandomInt(), - org.pitest.mutationtest.DetectionStatus.KILLED, "org.pitest.pitclipse.example.ExampleTest"); - MutationResult mutation = new MutationResult(md, status); - return new ClassMutationResults(ImmutableList.of(mutation)); - } - - public static Mutations aMutationResult() { - Mutations mutations = JAXB_OBJECT_FACTORY.createMutations(); - Mutation mutation = JAXB_OBJECT_FACTORY.createMutationsMutation(); - mutation.setDetected(true); - mutation.setIndex(BigInteger.ONE); - mutation.setKillingTest("org.pitest.pitclipse.example.ExampleTest"); - mutation.setLineNumber(BigInteger.valueOf(20)); - mutation.setMutatedClass("org.pitest.pitclipse.example.Foo"); - mutation.setMutatedMethod("doFoo"); - mutation.setMutator("SomeMutator"); - mutation.setSourceFile("org/pitest/pitclipse/example/Foo.java"); - mutation.setStatus(DetectionStatus.KILLED); - mutations.getMutation().add(mutation); - return mutations; - } - - private static State state; - - public static void givenNoMutations() { - ImmutableList noMutants = ImmutableList.of(); - state.setInput(noMutants); - } - - public static void given(ClassMutationResults result) { - ImmutableList noMutants = ImmutableList.of(result); - state.setInput(noMutants); - } - - public static void whenPitIsExecuted() { - PitclipseMutationsResultListener listener = aListener(); - listener.runStart(); - for (ClassMutationResults classMutationResults : state.getInput()) { - listener.handleMutationResult(classMutationResults); - } - listener.runEnd(); - } - - public static void thenTheResultsWere(Mutations expectedResult) { - verify(state.getMutationsDispatcher()).dispatch(argThat(isEquivalentTo(expectedResult))); - } - - private static Matcher isEquivalentTo(final Mutations expectedResult) { - return new TypeSafeMatcher() { - - @Override - public void describeTo(Description description) { - ToStringHelper expectedResultAsString = MoreObjects.toStringHelper(expectedResult); - for (Mutation m : expectedResult.getMutation()) { - expectedResultAsString.add( - "Mutation", - MoreObjects.toStringHelper(m).add("index", m.getIndex()) - .add("killingTest", m.getKillingTest()).add("lineNumber", m.getLineNumber()) - .add("mutatedClass", m.getMutatedClass()) - .add("mutatedMethod", m.getMutatedMethod()).add("mutator", m.getMutator()) - .add("sourceFile", m.getSourceFile()).add("status", m.getStatus()).toString()); - } - description.appendText("is equivalent to: ").appendValue(expectedResultAsString); - } - - @Override - protected boolean matchesSafely(Mutations actualResult) { - List expectedMutations = expectedResult.getMutation(); - List actualMutations = actualResult.getMutation(); - if (expectedMutations.size() == actualMutations.size()) { - EqualsBuilder eb = new EqualsBuilder(); - for (int i = 0; i < expectedMutations.size(); i++) { - Mutation expectedMutation = expectedMutations.get(i); - Mutation actualMutation = actualMutations.get(i); - eb.append(expectedMutation.getIndex(), actualMutation.getIndex()); - eb.append(expectedMutation.getKillingTest(), actualMutation.getKillingTest()); - eb.append(expectedMutation.getLineNumber(), actualMutation.getLineNumber()); - eb.append(expectedMutation.getMutatedClass(), actualMutation.getMutatedClass()); - eb.append(expectedMutation.getMutatedMethod(), actualMutation.getMutatedMethod()); - eb.append(expectedMutation.getMutator(), actualMutation.getMutator()); - eb.append(expectedMutation.getSourceFile(), actualMutation.getSourceFile()); - eb.append(expectedMutation.getStatus(), actualMutation.getStatus()); - eb.append(expectedMutation.isDetected(), actualMutation.isDetected()); - } - return eb.isEquals(); - } - return false; - } - - }; - } - - public static void reset(MutationsDispatcher mutationsDispatcher) { - state = new State(mutationsDispatcher); - } - - public static Mutations empty() { - return JAXB_OBJECT_FACTORY.createMutations(); - } - - private static PitclipseMutationsResultListener aListener() { - return new PitclipseMutationsResultListener(state.getMutationsDispatcher()); - } - - private static class State { - - private ImmutableList input = ImmutableList.of(); - private final MutationsDispatcher mutationsDispatcher; - - public State(MutationsDispatcher mutationsDispatcher) { - this.mutationsDispatcher = mutationsDispatcher; - } - - public void setInput(ImmutableList input) { - this.input = input; - } - - public ImmutableList getInput() { - return input; - } - - public MutationsDispatcher getMutationsDispatcher() { - return mutationsDispatcher; - } - } -} diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SetupState.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SetupState.java index 354c3f9b..f11d9aa6 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SetupState.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SetupState.java @@ -1,11 +1,13 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; + +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; import org.pitest.coverage.CoverageDatabase; import org.pitest.mutationtest.ClassMutationResults; -import org.pitest.pitclipse.reloc.guava.base.Optional; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestSugar.SummaryListenerFactory; -import static org.pitest.pitclipse.pitrunner.results.MutationResultListenerLifecycle.using; +import static org.pitest.pitclipse.runner.results.MutationResultListenerLifecycle.using; class SetupState { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactoryTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactoryTest.java index 552b4503..b5451aeb 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactoryTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactoryTest.java @@ -1,4 +1,12 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.runners.MockitoJUnitRunner; +import org.pitest.coverage.CoverageDatabase; +import org.pitest.mutationtest.ListenerArguments; + +import java.util.Properties; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.instanceOf; @@ -9,14 +17,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import java.util.Properties; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; -import org.pitest.coverage.CoverageDatabase; -import org.pitest.mutationtest.ListenerArguments; - @RunWith(MockitoJUnitRunner.class) public class SummaryResultListenerFactoryTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTest.java index 5cb7aefe..3d33aacd 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTest.java @@ -1,17 +1,17 @@ -package org.pitest.pitclipse.pitrunner.results.summary; - -import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.aCoveredMutationOnFoo; -import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.aSummary; -import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.anEmptyCoverageDatabase; -import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.anUncoveredMutationOnFoo; -import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.fooHasFullLineCoverage; -import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.fooHasNoLineCoverage; -import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestSugar.empty; -import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestSugar.CoverageState.given; +package org.pitest.pitclipse.runner.results.summary; import org.junit.Test; import org.pitest.pitclipse.example.Foo; +import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.aCoveredMutationOnFoo; +import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.aSummary; +import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.anEmptyCoverageDatabase; +import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.anUncoveredMutationOnFoo; +import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.fooHasFullLineCoverage; +import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.fooHasNoLineCoverage; +import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestSugar.CoverageState.given; +import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestSugar.empty; + public class SummaryResultListenerTest { @Test public void noResultsReturnsAnEmptyResult() { @@ -24,20 +24,20 @@ public void noResultsReturnsAnEmptyResult() { @Test public void anUncoveredMutationResultReturnsZeroLineCoverage() { given(fooHasNoLineCoverage()) - .and(anUncoveredMutationOnFoo()) - .whenPitIsExecuted() - .thenTheResultsAre( - aSummary().withCoverageOf(Foo.class.getCanonicalName(), 0, 1, 0, 1) + .and(anUncoveredMutationOnFoo()) + .whenPitIsExecuted() + .thenTheResultsAre( + aSummary().withCoverageOf(Foo.class.getCanonicalName(), 0, 1, 0, 1) ); } @Test public void aCoveredMutationResultReturnsLineCoverage() { given(fooHasFullLineCoverage()) - .and(aCoveredMutationOnFoo()) - .whenPitIsExecuted() - .thenTheResultsAre( - aSummary().withCoverageOf(Foo.class.getCanonicalName(), 1, 1, 1, 1) + .and(aCoveredMutationOnFoo()) + .whenPitIsExecuted() + .thenTheResultsAre( + aSummary().withCoverageOf(Foo.class.getCanonicalName(), 1, 1, 1, 1) ); } } \ No newline at end of file diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestData.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestData.java index cfd0a379..61dc0038 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestData.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestData.java @@ -1,17 +1,9 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; -import static org.pitest.mutationtest.DetectionStatus.KILLED; -import static org.pitest.mutationtest.DetectionStatus.NO_COVERAGE; -import static org.pitest.pitclipse.pitrunner.TestFactory.TEST_FACTORY; -import static org.pitest.pitclipse.reloc.guava.base.Predicates.notNull; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.filter; -import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform; - -import java.math.BigInteger; -import java.util.Collection; -import java.util.Map; +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import org.pitest.classinfo.ClassInfo; import org.pitest.classinfo.ClassName; @@ -28,11 +20,20 @@ import org.pitest.mutationtest.engine.MutationDetails; import org.pitest.mutationtest.engine.MutationIdentifier; import org.pitest.pitclipse.example.Foo; -import org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestSugar.SummaryResultWrapper; -import org.pitest.pitclipse.reloc.guava.base.Function; -import org.pitest.pitclipse.reloc.guava.base.Optional; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableMap; +import org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestSugar.SummaryResultWrapper; + +import java.math.BigInteger; +import java.util.Collection; +import java.util.Map; + +import static com.google.common.base.Predicates.notNull; +import static com.google.common.collect.Collections2.filter; +import static com.google.common.collect.Collections2.transform; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.pitest.mutationtest.DetectionStatus.KILLED; +import static org.pitest.mutationtest.DetectionStatus.NO_COVERAGE; +import static org.pitest.pitclipse.runner.TestFactory.TEST_FACTORY; class SummaryResultListenerTestData { public static ClassMutationResults anUncoveredMutationOnFoo() { @@ -63,7 +64,7 @@ private static ClassMutationResults aClassMutationResultForFooWithStatus(Detecti Location location = new Location(ClassName.fromClass(Foo.class), MethodName.fromString("doFoo"), "doFoo"); MutationIdentifier id = new MutationIdentifier(location, 1, "SomeMutator"); MutationDetails md = new MutationDetails(id, "org/pitest/pitclipse/example/Foo.java", TEST_FACTORY.aString(), - 9, TEST_FACTORY.aRandomInt(), TEST_FACTORY.aRandomBoolean(), TEST_FACTORY.aRandomBoolean()); + 9, TEST_FACTORY.aRandomInt()); MutationStatusTestPair status = new MutationStatusTestPair(TEST_FACTORY.aRandomInt(), detectionStatus, "org.pitest.pitclipse.example.ExampleTest"); MutationResult mutation = new MutationResult(md, status); @@ -118,9 +119,9 @@ public Collection getClassInfo(Collection classes) { @Override public int getNumberOfCoveredLines(Collection classes) { int total = 0; - for (ClassName className : classes) + for (ClassName className : classes) { total += coverageFor(className); - + } return total; } diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestSugar.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestSugar.java index d5fcc580..3a66e7cd 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestSugar.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestSugar.java @@ -1,12 +1,13 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; import org.pitest.coverage.CoverageDatabase; import org.pitest.mutationtest.ClassMutationResults; import org.pitest.mutationtest.MutationResultListener; -import org.pitest.pitclipse.pitrunner.results.ListenerContext; -import org.pitest.pitclipse.pitrunner.results.ListenerFactory; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder; +import org.pitest.pitclipse.runner.results.ListenerContext; +import org.pitest.pitclipse.runner.results.ListenerFactory; class SummaryResultListenerTestSugar { @@ -20,13 +21,14 @@ private CoverageState(CoverageDatabase coverageDatabase) { public SetupState and(ClassMutationResults first, ClassMutationResults... others) { final Builder r = ImmutableList.builder(); r.add(first); - if (null != others) + if (null != others) { r.add(others); + } return new SetupState(coverageDatabase, r.build()); } public SetupState andNoMutations() { - return new SetupState(coverageDatabase, ImmutableList. of()); + return new SetupState(coverageDatabase, ImmutableList.of()); } static CoverageState given(CoverageDatabase coverageDatabase) { @@ -57,13 +59,13 @@ public SummaryResult getResult() { return result; } } -} - -enum SummaryListenerFactory implements ListenerFactory { - INSTANCE; + + enum SummaryListenerFactory implements ListenerFactory { + INSTANCE; - @Override - public MutationResultListener apply(ListenerContext context) { - return new SummaryResultListener(context.dispatcher, context.coverageData); + @Override + public MutationResultListener apply(ListenerContext context) { + return new SummaryResultListener(context.dispatcher, context.coverageData); + } } } \ No newline at end of file diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/Verification.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/Verification.java index 83489524..e4491356 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/Verification.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/Verification.java @@ -1,9 +1,10 @@ -package org.pitest.pitclipse.pitrunner.results.summary; +package org.pitest.pitclipse.runner.results.summary; + +import com.google.common.base.Optional; import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeDiagnosingMatcher; -import org.pitest.pitclipse.reloc.guava.base.Optional; import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals; import static org.apache.commons.lang3.builder.ToStringBuilder.reflectionToString; @@ -22,6 +23,10 @@ public void thenTheResultsAre(SummaryResult expectedResult) { assertThat(actualResult.isPresent(), is(equalTo(true))); assertThat(actualResult.get(), is(sameAs(expectedResult))); } + + public void thenTheResultsAre(SummaryResultListenerTestSugar.SummaryResultWrapper wrapper) { + thenTheResultsAre(wrapper.getResult()); + } private Matcher sameAs(final SummaryResult expected) { return new TypeSafeDiagnosingMatcher() { @@ -38,8 +43,4 @@ protected boolean matchesSafely(SummaryResult actual, Description mismatchDescri } }; } - - public void thenTheResultsAre(SummaryResultListenerTestSugar.SummaryResultWrapper wrapper) { - thenTheResultsAre(wrapper.getResult()); - } } \ No newline at end of file diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/server/PitServerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/server/PitServerTest.java index 95be1dd4..a068ea8d 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/server/PitServerTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/server/PitServerTest.java @@ -1,22 +1,22 @@ -package org.pitest.pitclipse.pitrunner.server; - -import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import java.io.IOException; +package org.pitest.pitclipse.runner.server; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; -import org.pitest.pitclipse.pitrunner.AbstractPitRunnerTest; -import org.pitest.pitclipse.pitrunner.PitRequest; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.PitRunnerTestContext; -import org.pitest.pitclipse.pitrunner.io.ObjectStreamSocket; -import org.pitest.pitclipse.pitrunner.io.SocketProvider; +import org.pitest.pitclipse.runner.AbstractPitRunnerTest; +import org.pitest.pitclipse.runner.PitRequest; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.PitRunnerTestContext; +import org.pitest.pitclipse.runner.io.ObjectStreamSocket; +import org.pitest.pitclipse.runner.io.SocketProvider; + +import java.io.IOException; + +import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class PitServerTest extends AbstractPitRunnerTest { diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/service/PitclipseServiceTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/service/PitclipseServiceTest.java index 5a4c2b2c..597e365e 100644 --- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/service/PitclipseServiceTest.java +++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/service/PitclipseServiceTest.java @@ -1,29 +1,30 @@ -package org.pitest.pitclipse.pitrunner.service; +package org.pitest.pitclipse.runner.service; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import java.io.File; -import java.util.List; -import java.util.Random; +import com.google.common.collect.ImmutableList; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; -import org.pitest.pitclipse.pitrunner.PitOptions; -import org.pitest.pitclipse.pitrunner.PitRequest; -import org.pitest.pitclipse.pitrunner.PitResults; -import org.pitest.pitclipse.pitrunner.model.ModelBuilder; -import org.pitest.pitclipse.pitrunner.model.MutationsModel; -import org.pitest.pitclipse.pitrunner.server.PitServer; -import org.pitest.pitclipse.pitrunner.server.PitServerProvider; -import org.pitest.pitclipse.pitrunner.server.PitServerTest; -import org.pitest.pitclipse.reloc.guava.collect.ImmutableList; +import org.pitest.pitclipse.runner.PitOptions; +import org.pitest.pitclipse.runner.PitRequest; +import org.pitest.pitclipse.runner.PitResults; +import org.pitest.pitclipse.runner.model.ModelBuilder; +import org.pitest.pitclipse.runner.model.MutationsModel; +import org.pitest.pitclipse.runner.server.PitServer; +import org.pitest.pitclipse.runner.server.PitServerProvider; +import org.pitest.pitclipse.runner.server.PitServerTest; + +import java.io.File; +import java.util.List; +import java.util.Random; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class PitclipseServiceTest { diff --git a/tests/pom.xml b/tests/pom.xml new file mode 100644 index 00000000..a09bd19a --- /dev/null +++ b/tests/pom.xml @@ -0,0 +1,38 @@ + + 4.0.0 + + + org.pitest + org.pitest.pitclipse + 2.0.0-SNAPSHOT + + + org.pitest.pitclipse.tests + pom + + Pitclipse's tests. + + + + src + + + + org.pitest.pitclipse.runner.tests + + + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + false + + + + + \ No newline at end of file