Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.ant.optional.junit/.project22
-rw-r--r--bundles/org.eclipse.ant.optional.junit/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/org.eclipse.ant.optional.junit/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--bundles/org.eclipse.ant.optional.junit/META-INF/MANIFEST.MF10
-rw-r--r--bundles/org.eclipse.ant.optional.junit/about.html36
-rw-r--r--bundles/org.eclipse.ant.optional.junit/build.properties17
-rw-r--r--bundles/org.eclipse.ant.optional.junit/forceQualifierUpdate.txt2
-rw-r--r--bundles/org.eclipse.ant.optional.junit/plugin.properties16
-rw-r--r--bundles/org.eclipse.ant.optional.junit/pom.xml24
-rw-r--r--bundles/org.eclipse.rcp/.project22
-rw-r--r--bundles/org.eclipse.rcp/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/org.eclipse.rcp/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--bundles/org.eclipse.rcp/META-INF/MANIFEST.MF8
-rw-r--r--bundles/org.eclipse.rcp/about.html36
-rw-r--r--bundles/org.eclipse.rcp/about.ini27
-rw-r--r--bundles/org.eclipse.rcp/about.mappings6
-rw-r--r--bundles/org.eclipse.rcp/about.properties27
-rw-r--r--bundles/org.eclipse.rcp/build.properties21
-rw-r--r--bundles/org.eclipse.rcp/eclipse32.pngbin2233 -> 0 bytes
-rw-r--r--bundles/org.eclipse.rcp/forceQualifierUpdate.txt2
-rw-r--r--bundles/org.eclipse.rcp/plugin.properties15
-rw-r--r--bundles/org.eclipse.rcp/pom.xml35
-rw-r--r--bundles/org.eclipse.releng.tests/.classpath11
-rw-r--r--bundles/org.eclipse.releng.tests/.gitignore2
-rw-r--r--bundles/org.eclipse.releng.tests/.project29
-rw-r--r--bundles/org.eclipse.releng.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/org.eclipse.releng.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--bundles/org.eclipse.releng.tests/.settings/org.eclipse.jdt.core.prefs447
-rw-r--r--bundles/org.eclipse.releng.tests/.settings/org.eclipse.jdt.ui.prefs62
-rw-r--r--bundles/org.eclipse.releng.tests/.settings/org.eclipse.wst.xml.core.prefs18
-rw-r--r--bundles/org.eclipse.releng.tests/META-INF/MANIFEST.MF15
-rw-r--r--bundles/org.eclipse.releng.tests/about.html36
-rw-r--r--bundles/org.eclipse.releng.tests/build.properties25
-rw-r--r--bundles/org.eclipse.releng.tests/compare.properties17
-rw-r--r--bundles/org.eclipse.releng.tests/compareoptions.properties15
-rw-r--r--bundles/org.eclipse.releng.tests/forceQualifierUpdate.txt3
-rw-r--r--bundles/org.eclipse.releng.tests/ignoreErrorsUnix.txt1
-rw-r--r--bundles/org.eclipse.releng.tests/ignoreErrorsWindows.txt3
-rw-r--r--bundles/org.eclipse.releng.tests/ignoreFiles.txt114
-rw-r--r--bundles/org.eclipse.releng.tests/miscTests.jpage3
-rw-r--r--bundles/org.eclipse.releng.tests/notes.txt9
-rw-r--r--bundles/org.eclipse.releng.tests/plugin.properties24
-rw-r--r--bundles/org.eclipse.releng.tests/pom.xml31
-rw-r--r--bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/BuildTests.java768
-rw-r--r--bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/FileTool.java199
-rwxr-xr-xbundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/checkSignature61
-rw-r--r--bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/standardDirtReport.txt52
-rw-r--r--bundles/org.eclipse.releng.tests/test.xml242
-rw-r--r--bundles/org.eclipse.sdk.examples/.project22
-rw-r--r--bundles/org.eclipse.sdk.examples/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/org.eclipse.sdk.examples/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--bundles/org.eclipse.sdk.examples/META-INF/MANIFEST.MF7
-rw-r--r--bundles/org.eclipse.sdk.examples/about.html36
-rw-r--r--bundles/org.eclipse.sdk.examples/about.ini31
-rw-r--r--bundles/org.eclipse.sdk.examples/about.mappings6
-rw-r--r--bundles/org.eclipse.sdk.examples/about.properties29
-rw-r--r--bundles/org.eclipse.sdk.examples/build.properties27
-rw-r--r--bundles/org.eclipse.sdk.examples/eclipse32.pngbin2233 -> 0 bytes
-rw-r--r--bundles/org.eclipse.sdk.examples/forceQualifierUpdate.txt2
-rw-r--r--bundles/org.eclipse.sdk.examples/plugin.properties15
-rw-r--r--bundles/org.eclipse.sdk.examples/pom.xml35
-rw-r--r--bundles/org.eclipse.sdk.tests/.project22
-rw-r--r--bundles/org.eclipse.sdk.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/org.eclipse.sdk.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--bundles/org.eclipse.sdk.tests/META-INF/MANIFEST.MF7
-rw-r--r--bundles/org.eclipse.sdk.tests/about.html36
-rw-r--r--bundles/org.eclipse.sdk.tests/about.ini27
-rw-r--r--bundles/org.eclipse.sdk.tests/about.mappings6
-rw-r--r--bundles/org.eclipse.sdk.tests/about.properties29
-rw-r--r--bundles/org.eclipse.sdk.tests/build.properties20
-rw-r--r--bundles/org.eclipse.sdk.tests/eclipse32.pngbin2233 -> 0 bytes
-rw-r--r--bundles/org.eclipse.sdk.tests/forceQualifierUpdate.txt5
-rw-r--r--bundles/org.eclipse.sdk.tests/plugin.properties15
-rw-r--r--bundles/org.eclipse.sdk.tests/pom.xml35
-rw-r--r--bundles/org.eclipse.test.performance.win32/.project22
-rw-r--r--bundles/org.eclipse.test.performance.win32/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/org.eclipse.test.performance.win32/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--bundles/org.eclipse.test.performance.win32/META-INF/MANIFEST.MF8
-rw-r--r--bundles/org.eclipse.test.performance.win32/about.html36
-rw-r--r--bundles/org.eclipse.test.performance.win32/build.properties20
-rw-r--r--bundles/org.eclipse.test.performance.win32/forceQualifierUpdate.txt2
-rw-r--r--bundles/org.eclipse.test.performance.win32/os/win32/x86_64/ivjperf.dllbin67584 -> 0 bytes
-rw-r--r--bundles/org.eclipse.test.performance.win32/plugin.properties16
-rw-r--r--bundles/org.eclipse.test.performance.win32/pom.xml41
-rw-r--r--bundles/org.eclipse.test.performance.win32/src/build.bat15
-rw-r--r--bundles/org.eclipse.test.performance.win32/src/ivjperf.c320
-rw-r--r--bundles/org.eclipse.test.performance.win32/src/ivjperf.h51
-rw-r--r--bundles/org.eclipse.test.performance.win32/src/resource.h14
-rw-r--r--bundles/org.eclipse.test.performance/.classpath11
-rw-r--r--bundles/org.eclipse.test.performance/.project34
-rw-r--r--bundles/org.eclipse.test.performance/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/org.eclipse.test.performance/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--bundles/org.eclipse.test.performance/.settings/org.eclipse.jdt.core.prefs456
-rw-r--r--bundles/org.eclipse.test.performance/.settings/org.eclipse.jdt.ui.prefs123
-rw-r--r--bundles/org.eclipse.test.performance/.settings/org.eclipse.pde.prefs32
-rw-r--r--bundles/org.eclipse.test.performance/META-INF/MANIFEST.MF24
-rw-r--r--bundles/org.eclipse.test.performance/about.html36
-rw-r--r--bundles/org.eclipse.test.performance/build.properties21
-rw-r--r--bundles/org.eclipse.test.performance/forceQualifierUpdate.txt4
-rw-r--r--bundles/org.eclipse.test.performance/plugin.properties16
-rw-r--r--bundles/org.eclipse.test.performance/pom.xml47
-rw-r--r--bundles/org.eclipse.test.performance/scripts/exportplugin.xml95
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/perfmsr/core/PerformanceMonitor.java64
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/OrderedTestSuite.java272
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/Screenshots.java90
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/TracingSuite.java292
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/AwtScreenshot.java126
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/InternalDimensions.java85
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/InternalPerformanceMeter.java291
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/NullPerformanceMeter.java43
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/OSPerformanceMeter.java89
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/OSPerformanceMeterFactory.java25
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMeterFactory.java49
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitor.java52
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorLinux.java176
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorMac.java121
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorWindows.java95
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceTestPlugin.java362
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/SystemTimePerformanceMeter.java116
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/SystemTimePerformanceMeterFactory.java25
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DataPoint.java64
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Dim.java116
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DimensionMessages.java49
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DimensionMessages.properties97
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Sample.java120
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Scalar.java48
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Unit.java162
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/Report.java94
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/SQL.java517
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/SummaryEntry.java48
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/TimeSeries.java79
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/Variations.java128
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/AbsoluteBandChecker.java60
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/AssertChecker.java61
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/EmptyEvaluator.java38
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/Evaluator.java80
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/IEvaluator.java51
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/RelativeBandChecker.java69
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/StatisticsSession.java243
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/StatisticsUtil.java189
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/AllTests.java31
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/PerformanceMeterFactoryTest.java33
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/SimplePerformanceMeterTest.java38
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/TestPerformanceMeter.java73
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/VariationsTests.java79
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/AbstractPerformanceTestCase.java155
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/Dimension.java84
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/Performance.java370
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceMeter.java82
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCase.java210
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCaseJunit4.java77
-rw-r--r--bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCaseJunit5.java75
-rw-r--r--bundles/org.eclipse.test/.classpath11
-rw-r--r--bundles/org.eclipse.test/.gitignore2
-rw-r--r--bundles/org.eclipse.test/.project38
-rw-r--r--bundles/org.eclipse.test/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/org.eclipse.test/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--bundles/org.eclipse.test/.settings/org.eclipse.jdt.core.prefs103
-rw-r--r--bundles/org.eclipse.test/.settings/org.eclipse.pde.prefs32
-rw-r--r--bundles/org.eclipse.test/META-INF/MANIFEST.MF23
-rw-r--r--bundles/org.eclipse.test/about.html36
-rw-r--r--bundles/org.eclipse.test/build.properties21
-rw-r--r--bundles/org.eclipse.test/easymock.psf6
-rw-r--r--bundles/org.eclipse.test/forceQualifierUpdate.txt6
-rw-r--r--bundles/org.eclipse.test/plugin.properties15
-rw-r--r--bundles/org.eclipse.test/plugin.xml27
-rw-r--r--bundles/org.eclipse.test/pom.xml27
-rw-r--r--bundles/org.eclipse.test/src/org/eclipse/test/AbstractJUnitResultFormatter.java310
-rw-r--r--bundles/org.eclipse.test/src/org/eclipse/test/AwtScreenshot.java44
-rw-r--r--bundles/org.eclipse.test/src/org/eclipse/test/ClassLoaderTools.java186
-rw-r--r--bundles/org.eclipse.test/src/org/eclipse/test/CoreTestApplication.java103
-rw-r--r--bundles/org.eclipse.test/src/org/eclipse/test/EclipseTestRunner.java331
-rw-r--r--bundles/org.eclipse.test/src/org/eclipse/test/LegacyXmlResultFormatter.java412
-rw-r--r--bundles/org.eclipse.test/src/org/eclipse/test/RegressionTest.java190
-rw-r--r--bundles/org.eclipse.test/src/org/eclipse/test/UITestApplication.java127
175 files changed, 0 insertions, 12444 deletions
diff --git a/bundles/org.eclipse.ant.optional.junit/.project b/bundles/org.eclipse.ant.optional.junit/.project
deleted file mode 100644
index a778bdc4..00000000
--- a/bundles/org.eclipse.ant.optional.junit/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ant.optional.junit</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ant.optional.junit/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.ant.optional.junit/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/bundles/org.eclipse.ant.optional.junit/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.ant.optional.junit/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.ant.optional.junit/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d..00000000
--- a/bundles/org.eclipse.ant.optional.junit/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/bundles/org.eclipse.ant.optional.junit/META-INF/MANIFEST.MF b/bundles/org.eclipse.ant.optional.junit/META-INF/MANIFEST.MF
deleted file mode 100644
index 2552633a..00000000
--- a/bundles/org.eclipse.ant.optional.junit/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Description: %Bundle-Description
-Bundle-SymbolicName: org.eclipse.ant.optional.junit
-Bundle-Version: 3.3.300.qualifier
-Bundle-Vendor: %providerName
-Fragment-Host: org.apache.ant;bundle-version="[1.6.5,2.0.0)"
-Bundle-Localization: plugin
-Require-Bundle: org.junit
diff --git a/bundles/org.eclipse.ant.optional.junit/about.html b/bundles/org.eclipse.ant.optional.junit/about.html
deleted file mode 100644
index 164f781a..00000000
--- a/bundles/org.eclipse.ant.optional.junit/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- (&quot;Content&quot;). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- (&quot;Redistributor&quot;) and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.ant.optional.junit/build.properties b/bundles/org.eclipse.ant.optional.junit/build.properties
deleted file mode 100644
index c4f96a8d..00000000
--- a/bundles/org.eclipse.ant.optional.junit/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2016 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = about.html,\
- META-INF/,\
- plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.ant.optional.junit/forceQualifierUpdate.txt b/bundles/org.eclipse.ant.optional.junit/forceQualifierUpdate.txt
deleted file mode 100644
index 56f1032a..00000000
--- a/bundles/org.eclipse.ant.optional.junit/forceQualifierUpdate.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# To force a version qualifier update add the bug here
-Bug 403352 - Update all parent versions to match our build stream
diff --git a/bundles/org.eclipse.ant.optional.junit/plugin.properties b/bundles/org.eclipse.ant.optional.junit/plugin.properties
deleted file mode 100644
index 338e93d8..00000000
--- a/bundles/org.eclipse.ant.optional.junit/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2016 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Eclipse JUnit Fragment for Ant used in Eclipse Test Framework
-providerName=Eclipse.org
-Bundle-Description = This fragment is required by the Eclipse Test Framework. It allows communication between JUnit and Ant. \ No newline at end of file
diff --git a/bundles/org.eclipse.ant.optional.junit/pom.xml b/bundles/org.eclipse.ant.optional.junit/pom.xml
deleted file mode 100644
index 1b3973f1..00000000
--- a/bundles/org.eclipse.ant.optional.junit/pom.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012 Eclipse Foundation.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>eclipse.platform.releng</groupId>
- <artifactId>eclipse.platform.releng</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.ant</groupId>
- <artifactId>org.eclipse.ant.optional.junit</artifactId>
- <version>3.3.300-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/bundles/org.eclipse.rcp/.project b/bundles/org.eclipse.rcp/.project
deleted file mode 100644
index 96f80771..00000000
--- a/bundles/org.eclipse.rcp/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.rcp</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.rcp/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.rcp/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/bundles/org.eclipse.rcp/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.rcp/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.rcp/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d..00000000
--- a/bundles/org.eclipse.rcp/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/bundles/org.eclipse.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.rcp/META-INF/MANIFEST.MF
deleted file mode 100644
index e42589a6..00000000
--- a/bundles/org.eclipse.rcp/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.rcp; singleton:=true
-Bundle-Version: 4.23.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.rcp/about.html b/bundles/org.eclipse.rcp/about.html
deleted file mode 100644
index 164f781a..00000000
--- a/bundles/org.eclipse.rcp/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- (&quot;Content&quot;). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- (&quot;Redistributor&quot;) and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.rcp/about.ini b/bundles/org.eclipse.rcp/about.ini
deleted file mode 100644
index 76a03560..00000000
--- a/bundles/org.eclipse.rcp/about.ini
+++ /dev/null
@@ -1,27 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page
-# optional
diff --git a/bundles/org.eclipse.rcp/about.mappings b/bundles/org.eclipse.rcp/about.mappings
deleted file mode 100644
index 515397ac..00000000
--- a/bundles/org.eclipse.rcp/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=${buildId}
diff --git a/bundles/org.eclipse.rcp/about.properties b/bundles/org.eclipse.rcp/about.properties
deleted file mode 100644
index 9f5fd163..00000000
--- a/bundles/org.eclipse.rcp/about.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2021 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Eclipse RCP\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2021. All rights reserved.\n\
-Visit http://www.eclipse.org/eclipse
-
diff --git a/bundles/org.eclipse.rcp/build.properties b/bundles/org.eclipse.rcp/build.properties
deleted file mode 100644
index 849303c9..00000000
--- a/bundles/org.eclipse.rcp/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2016 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- eclipse32.png,\
- plugin.properties,\
- META-INF/
-
diff --git a/bundles/org.eclipse.rcp/eclipse32.png b/bundles/org.eclipse.rcp/eclipse32.png
deleted file mode 100644
index bf856800..00000000
--- a/bundles/org.eclipse.rcp/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.rcp/forceQualifierUpdate.txt b/bundles/org.eclipse.rcp/forceQualifierUpdate.txt
deleted file mode 100644
index 56f1032a..00000000
--- a/bundles/org.eclipse.rcp/forceQualifierUpdate.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# To force a version qualifier update add the bug here
-Bug 403352 - Update all parent versions to match our build stream
diff --git a/bundles/org.eclipse.rcp/plugin.properties b/bundles/org.eclipse.rcp/plugin.properties
deleted file mode 100644
index 452d896c..00000000
--- a/bundles/org.eclipse.rcp/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2016 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Eclipse RCP
-providerName=Eclipse.org
diff --git a/bundles/org.eclipse.rcp/pom.xml b/bundles/org.eclipse.rcp/pom.xml
deleted file mode 100644
index dcecd226..00000000
--- a/bundles/org.eclipse.rcp/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012, 2016 Eclipse Foundation.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>eclipse.platform.releng</groupId>
- <artifactId>eclipse.platform.releng</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.rcp</groupId>
- <artifactId>org.eclipse.rcp</artifactId>
- <packaging>eclipse-plugin</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-packaging-plugin</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <format>'v${buildTimestamp}'</format>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/bundles/org.eclipse.releng.tests/.classpath b/bundles/org.eclipse.releng.tests/.classpath
deleted file mode 100644
index 4a00becd..00000000
--- a/bundles/org.eclipse.releng.tests/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
- <attributes>
- <attribute name="module" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.releng.tests/.gitignore b/bundles/org.eclipse.releng.tests/.gitignore
deleted file mode 100644
index f08c220a..00000000
--- a/bundles/org.eclipse.releng.tests/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*~
-/*.jpage
diff --git a/bundles/org.eclipse.releng.tests/.project b/bundles/org.eclipse.releng.tests/.project
deleted file mode 100644
index c16d7536..00000000
--- a/bundles/org.eclipse.releng.tests/.project
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.releng.tests</name>
- <comment></comment>
- <projects>
- <project>org.eclipse.core.runtime</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.releng.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.releng.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d..00000000
--- a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.releng.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c444abef..00000000
--- a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,447 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
-org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
-org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
-org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.releng.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 00449fdd..00000000
--- a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,62 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=org.eclipse.jdt.ui.default.eclipse_profile
-formatter_settings_version=14
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=true
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=true
-sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=true
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.wst.xml.core.prefs b/bundles/org.eclipse.releng.tests/.settings/org.eclipse.wst.xml.core.prefs
deleted file mode 100644
index c49d5843..00000000
--- a/bundles/org.eclipse.releng.tests/.settings/org.eclipse.wst.xml.core.prefs
+++ /dev/null
@@ -1,18 +0,0 @@
-attributeHasNoValue=2
-eclipse.preferences.version=1
-endTagWithAttributes=2
-honourAllSchemaLocations=true
-indicateNoGrammar=-1
-indiciateNoDocumentElement=2
-markupValidation=true
-missingClosingBracket=2
-missingClosingQuote=2
-missingEndTag=2
-missingQuotes=2
-missingStartTag=2
-missingTagName=2
-namespaceInPITarget=2
-use-project-settings=true
-whitespaceAtStart=2
-whitespaceBeforeTagName=2
-xinclude=false
diff --git a/bundles/org.eclipse.releng.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.releng.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index b498cbf4..00000000
--- a/bundles/org.eclipse.releng.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.releng.tests;singleton:=true
-Bundle-Version: 3.5.200.qualifier
-Eclipse-BundleShape: dir
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.junit,
- org.eclipse.core.resources
-Export-Package: org.eclipse.releng.tests
-Bundle-RequiredExecutionEnvironment: JavaSE-11
-Bundle-ClassPath: .
-Automatic-Module-Name: org.eclipse.releng.tests
diff --git a/bundles/org.eclipse.releng.tests/about.html b/bundles/org.eclipse.releng.tests/about.html
deleted file mode 100644
index 164f781a..00000000
--- a/bundles/org.eclipse.releng.tests/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- (&quot;Content&quot;). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- (&quot;Redistributor&quot;) and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.releng.tests/build.properties b/bundles/org.eclipse.releng.tests/build.properties
deleted file mode 100644
index c01f64f0..00000000
--- a/bundles/org.eclipse.releng.tests/build.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2011 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = compare.properties,\
- compareoptions.properties,\
- META-INF/,\
- plugin.properties,\
- about.html,\
- test.xml,\
- notes.txt,\
- ignoreErrorsUnix.txt,\
- ignoreErrorsWindows.txt,\
- ignoreFiles.txt,\
- .
-source.. = src/
diff --git a/bundles/org.eclipse.releng.tests/compare.properties b/bundles/org.eclipse.releng.tests/compare.properties
deleted file mode 100644
index 3d00a1f9..00000000
--- a/bundles/org.eclipse.releng.tests/compare.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-compare.new=@new@
-compare.old=@old@
-compare.output=@output@
-compare.options=@compareoptions@ \ No newline at end of file
diff --git a/bundles/org.eclipse.releng.tests/compareoptions.properties b/bundles/org.eclipse.releng.tests/compareoptions.properties
deleted file mode 100644
index 7c433548..00000000
--- a/bundles/org.eclipse.releng.tests/compareoptions.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-exclude.plugins=org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.jetty.source,com.ibm.icu,com.ibm.icu.source,org.eclipse.ui.carbon,org.eclipse.ui.carbon.source,org.eclipse.swt.gtk.solaris.x86,org.eclipse.swt.gtk.solaris.x86.source,org.eclipse.swt.gtk.linux.s390,org.eclipse.swt.gtk.linux.s390.source,org.eclipse.swt.gtk.linux.s390x,org.eclipse.swt.gtk.linux.s390x.source,org.eclipse.equinox.launcher.gtk.linux.s390,org.eclipse.equinox.launcher.gtk.linux.s390x,org.eclipse.ecf,org.eclipse.ecf.source,org.eclipse.ecf.filetransfer,org.eclipse.ecf.filetransfer.source,org.eclipse.ecf.identity,org.eclipse.ecf.identity.source,org.eclipse.ecf.provider.filetransfer,org.eclipse.ecf.provider.filetransfer.source,org.eclipse.ecf.provider.filetransfer.ssl,org.eclipse.ecf.provider.filetransfer.ssl.source,org.eclipse.ecf.provider.filetransfer.httpclient,org.eclipse.ecf.provider.filetransfer.httpclient.source,org.eclipse.ecf.provider.filetransfer.httpclient.ssl,org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source,org.eclipse.ecf.ssl,org.eclipse.ecf.ssl.source,org.junit,org.junit.source,org.eclipse.equinox.launcher.gtk.linux.ppc,org.eclipse.equinox.launcher.gtk.linux.ppc.source,org.eclipse.equinox.launcher.motif.solaris.sparc,org.eclipse.equinox.launcher.gtk.hpux.ia64,org.eclipse.equinox.launcher.motif.linux.x86,org.eclipse.equinox.launcher.motif.aix.ppc,org.eclipse.equinox.launcher.gtk.hpux.ia64,org.apache.lucene.analysis,org.apache.lucene.core,org.eclipse.equinox.launcher.carbon.macosx,javax.servlet,org.eclipse.jetty.continuation,org.eclipse.jetty.continuation.source,org.eclipse.jetty.http,org.eclipse.jetty.http.source,org.eclipse.jetty.io,org.eclipse.jetty.io.source,org.eclipse.jetty.security,org.eclipse.jetty.security.source,org.eclipse.jetty.server,org.eclipse.jetty.server.source,org.eclipse.jetty.servlet,org.eclipse.jetty.servlet.source,org.eclipse.jetty.util,org.eclipse.jetty.util.source
-exclude.features=master-equinox,master-ecf,org.eclipse.pde.api.tools.ee.fragments,org.eclipse.cvs,org.eclipse.cvs.source,org.eclipse.help.source,org.eclipse.help,org.eclipse.equinox.jmx.server.feature,org.eclipse.equinox.jmx.client.feature,org.eclipse.equinox.jmx.common.feature,org.eclipse.equinox.serverside.sdk,org.eclipse.equinox.serverside.sdk,org.eclipse.equinox.sdk
diff --git a/bundles/org.eclipse.releng.tests/forceQualifierUpdate.txt b/bundles/org.eclipse.releng.tests/forceQualifierUpdate.txt
deleted file mode 100644
index 64803dd0..00000000
--- a/bundles/org.eclipse.releng.tests/forceQualifierUpdate.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# To force a version qualifier update add the bug here
-Bug 403352 - Update all parent versions to match our build stream
-Bug 534597 - Unanticipated comparator errors in I20180511-2000 \ No newline at end of file
diff --git a/bundles/org.eclipse.releng.tests/ignoreErrorsUnix.txt b/bundles/org.eclipse.releng.tests/ignoreErrorsUnix.txt
deleted file mode 100644
index 3b2be154..00000000
--- a/bundles/org.eclipse.releng.tests/ignoreErrorsUnix.txt
+++ /dev/null
@@ -1 +0,0 @@
-941
diff --git a/bundles/org.eclipse.releng.tests/ignoreErrorsWindows.txt b/bundles/org.eclipse.releng.tests/ignoreErrorsWindows.txt
deleted file mode 100644
index b6bb1fef..00000000
--- a/bundles/org.eclipse.releng.tests/ignoreErrorsWindows.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-127
-128
-941
diff --git a/bundles/org.eclipse.releng.tests/ignoreFiles.txt b/bundles/org.eclipse.releng.tests/ignoreFiles.txt
deleted file mode 100644
index e1d5da24..00000000
--- a/bundles/org.eclipse.releng.tests/ignoreFiles.txt
+++ /dev/null
@@ -1,114 +0,0 @@
-feature.properties
-feature.xml
-cpl*.html
-epl*.html
-license.html
-notice.html
-about.html
-pom.xml
-about_cairo.html
-*/about_files/copyright-software-19980720.htm
-*/.metadata/.cache.properties
-*/reference/api/*
-*/reference/apt/*
-*/reference/osgi/*
-*/org.apache.ant_*
-*/org.junit*
-*/xercesImpl_jar/*
-*/xercessrc_zip/*
-*/plugins/org.eclipse.ant.ui_*/lib/remoteAnt_jar/org/eclipse/ant/internal/ui/antsupport/RemoteAntMessages.properties
-*/plugins/org.eclipse.ui_*/plugin.xml
-*/plugins/org.eclipse.tomcat_*/conf/*
-*/plugins/org.eclipse.tomcat_*/catalina_jar/*
-*/plugins/org.eclipse.tomcat_*/jasper-runtime_jar/*
-*/plugins/org.eclipse.tomcat_*/tomcat-util_jar/*
-*/plugins/org.eclipse.tomcat_*/commons-digester_jar/*
-*/plugins/org.eclipse.tomcat_*/naming-common_jar/*
-*/plugins/org.eclipse.tomcat_*/naming-resources_jar/*
-*/plugins/org.eclipse.tomcat_*/servlets-common_jar/*
-*/plugins/org.eclipse.tomcat_*/tomcat-coyote_jar/*
-*/plugins/org.eclipse.tomcat_*/tomcat-http11_jar/*
-*/plugins/org.eclipse.tomcat_*/commons-beanutils_jar/*
-*/plugins/org.eclipse.tomcat_*/commons-modeler_jar/*
-*/plugins/org.eclipse.tomcat_*/jasper-runtime_jar/*
-*/plugins/org.eclipse.tomcat_*/tomcat-util_jar/*
-*/plugins/org.eclipse.tomcat_*/commons-logging_jar/*
-*/plugins/org.eclipse.tomcat_*/servlet_jar/*
-*/plugins/org.apache.lucene_*/lucene-*-src_zip/lucene-*-src/*
-*/plugins/org.apache.lucene.analysis_*/lucene-analysis-*-src_zip/*
-*/plugins/org.apache.lucene.source_*/src/*
-*/plugins/org.apache.lucene.analysis_*/source-bundle/src/*
-*/plugins/org.apache.lucene.analysis.source_*/src/*
-*/plugins/org.apache.lucene.analysis_*/source-bundle/*
-*/plugins/org.apache.lucene.analysis_*/build.xml
-*/plugins/org.apache.lucene.core.source_*/*
-*/plugins/*.source_*/plugin.xml
-*/plugins/javax.servlet.source_*/src/*
-*/plugins/javax.servlet.jsp.source_/src/*
-*/plugins/org.apache.ant.source_*/about_files/*
-*/plugins/org.apache.jasper.source_*/src/org.apache.jasper_*/src_zip/*
-*/plugins/org.eclipse.platform.source_*/src/org.apache.lucene_*/lucene-*-src_zip/lucene-*/*
-*/plugins/*source_*/src/*
-*/plugins/org.eclipse.jdt.ui_*/jdt_jar/org/eclipse/jdt/internal/corext/template/default-codetemplates.xml
-*/plugins/org.eclipse.ant.ui_*/antui_jar/anttasks_*.xml
-*/plugins/org.eclipse.ant.ui_*/antui_jar/XDOCtasks.xml
-*/plugins/org.eclipse.ant.ui_*/templates/ant.xml
-*/plugins/org.eclipse.ant.ui_*/org/eclipse/ant/internal/ui/editor/anttasks_*.xml
-*/plugins/org.eclipse.pde.build_*/scripts/*
-*/plugins/org.eclipse.pde.build_*/feature/*
-*/plugins/org.eclipse.pde.build_*/notes/*
-*/plugins/org.eclipse.pde.build_*/templates/*
-*/plugins/org.eclipse.pde.build_*/data/*
-*/plugins/org.eclipse.pde.ui.templates_*/templates*/help/toc.xml
-*/plugins/org.eclipse.pde.ui.templates_*/templates_*
-*/plugins/org.eclipse.pde_*/intro/*
-*/plugins/org.eclipse.help.webapp_*/WEB-INF/web.xml
-*/plugins/org.eclipse.help.webapp_*/plugin.xml
-*/plugins/org.eclipse.help.base__*/plugin.xml
-*/plugins/org.eclipse.ui.workbench_*/workbench-new_jar/scripts/exportplugin.xml
-*/plugins/org.eclipse.ui.workbench_*/texteditor-new_jar/scripts/exportplugin.xml
-*/plugins/org.eclipse.jface_*/jface-new_jar/scripts/exportplugin.xml
-*/plugins/org.eclipse.jdt_*/overviewExtensionContent.xml
-*/plugins/org.eclipse.jdt_*/samplesExtensionContent.xml
-*/plugins/org.eclipse.jdt_*/tutorialsExtensionContent.xml
-*/plugins/org.eclipse.jdt_*/cheatsheets/HelloWorld.xml
-*/plugins/org.eclipse.jdt_*/cheatsheets/HelloWorldSWT.xml
-*/plugins/org.eclipse.pde_*/overviewExtensionContent.xml
-*/plugins/org.eclipse.pde_*/tutorialsExtensionContent.xml
-*/plugins/org.eclipse.pde_*/cheatsheets/*
-*/plugins/org.eclipse.platform_*/introContent.xml
-*/plugins/org.eclipse.platform_*/cheatsheets/CVS_1.xml
-*/plugins/org.eclipse.jdt_*/newsExtensionContent.xml
-*/plugins/org.eclipse.pde_*/newsExtensionContent.xml
-*/plugins/org.eclipse.intro_*/newsExtensionContent.xml
-*/plugins/org.eclipse.platform.source_*/src/org.eclipse.*/component.xml
-*/plugins/org.eclipse.jdt.source_3.1.0/src/org.eclipse.*/component.xml
-*/plugins/org.eclipse.ui.intro_*/about_files/copyright-software-19980720.htm
-*/plugins/org.eclipse.jdt.debug.ui_*/plugin.xml
-*/plugins/org.eclipse.platform.doc.user_*/build.xml
-*/plugins/com.ibm.icu_*/com/ibm/icu/impl/duration/impl/data/pfd_ar_EG.xml
-*/plugins/org.eclipse.ecf.*/*
-*/plugins/org.eclipse.equinox.p2.*/plugin.xml
-*/plugins/org.eclipse.ecf*
-*/features/org.eclipse.equinox.executable*/build.xml
-*/plugins/org.eclipse.equinox.p2.*/content.xml
-*/features/org.eclipse.equinox.executable_*/motif_root/about_files/
-*/plugins/org.apache.ant_*
-*/plugins/org.apache.ant.source_*
-*/plugins/org.apache.jasper.glassfish_*
-*/plugins/org.apache.jasper.glassfish.source_*
-*/p2/org.eclipse.equinox.p2.director\rollback\*.xml
-*/plugins/javax.servlet_*
-*/plugins/javax.servlet.source_*
-*/plugins/com.sun.el_*
-*/plugins/com.sun.el.source_*
-*/plugins/org.objectweb.asm.source_*
-*/plugins/javax.servlet.jsp.source_*
-*/plugins/org.apache.lucene.analysis.source_*
-*/plugins/org.apache.lucene.source_*
-*/plugins/org.apache.commons.codec_*
-*/plugins/org.apache.commons.codec.source_*
-*/plugins/org.apache.commons.httpclient.source_*
-*/plugins/org.hamcrest.core.source_*
-*/eclipse/p2/org.eclipse.equinox.p2.metadata.repository/cache/content*_jar/content.xml
-*/eclipse/artifacts.xml
diff --git a/bundles/org.eclipse.releng.tests/miscTests.jpage b/bundles/org.eclipse.releng.tests/miscTests.jpage
deleted file mode 100644
index 4b95b6fd..00000000
--- a/bundles/org.eclipse.releng.tests/miscTests.jpage
+++ /dev/null
@@ -1,3 +0,0 @@
-Integer.MAX_VALUE / (1024*1024)
-(int) 2047
-(int) 2097151 \ No newline at end of file
diff --git a/bundles/org.eclipse.releng.tests/notes.txt b/bundles/org.eclipse.releng.tests/notes.txt
deleted file mode 100644
index 617f3e98..00000000
--- a/bundles/org.eclipse.releng.tests/notes.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-In order for the testChkpii automated test to run you must have
-the correct version of the internal IBM chkpii tools on your
-path and the file must be called chkpw1402.exe
-
-Also, in Unix system chkpii chokes if you have errors 127 and 128
-in your ignoreErrors.txt file
-
-Also, you must use the correct platform file seperator in the
-ignoreFiles.txt. \ No newline at end of file
diff --git a/bundles/org.eclipse.releng.tests/plugin.properties b/bundles/org.eclipse.releng.tests/plugin.properties
deleted file mode 100644
index 1670e2c1..00000000
--- a/bundles/org.eclipse.releng.tests/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2011 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-Plugin.name= Eclipse Releng Tests
-Plugin.providerName= Eclipse.org
-TestLabelDecorator.label= JDT UI Test Decorator
-TestLightweightLabelDecorator.label= JDT UI Test Lightweight Decorator
-
-AddTestMarkersAction.label= Add Test Markers
-AddTestMarkersAction.tooltip= Add Test Markers
-
-exampleQuickFixProcessor.name= Example Quick Fix Processor
-exampleQuickAssistProcessor.name= Example Quick Assist Processor
diff --git a/bundles/org.eclipse.releng.tests/pom.xml b/bundles/org.eclipse.releng.tests/pom.xml
deleted file mode 100644
index 8ef42cbf..00000000
--- a/bundles/org.eclipse.releng.tests/pom.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012, 2019 Eclipse Foundation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
- Lars Vogel <Lars.Vogel@vogella.com> - Bug 485612
- Paul Pazderski - Bug 546468: Enable releng tools tests on automatic builds
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>eclipse.platform.releng</groupId>
- <artifactId>eclipse.platform.releng</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.releng</groupId>
- <artifactId>org.eclipse.releng.tests</artifactId>
- <version>3.5.200-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
- <properties>
- <code.ignoredWarnings>${tests.ignoredWarnings}</code.ignoredWarnings>
- <testSuite>${project.artifactId}</testSuite>
- <skipTests>true</skipTests>
- </properties>
-</project>
diff --git a/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/BuildTests.java b/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/BuildTests.java
deleted file mode 100644
index fb09bbfe..00000000
--- a/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/BuildTests.java
+++ /dev/null
@@ -1,768 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2022 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.releng.tests;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeFalse;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.Platform;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-public class BuildTests {
-
- private String logFileName;
- private static final int HTML = 0;
- private static final int PROPERTIES = 1;
- private static final int XML = 2;
-
- private static FileTool.IZipFilter getTrueFilter() {
- return new FileTool.IZipFilter() {
-
- @Override
- public boolean shouldExtract(String fullEntryName, String entryName, int depth) {
- return true;
- }
-
- @Override
- public boolean shouldUnzip(String fullEntryName, String entryName, int depth) {
- return true;
- }
- };
- }
-
- /**
- * Method hasErrors.
- *
- * @param string
- * @return boolean
- */
- private boolean hasErrors(String string) {
-
- boolean result = false;
-
- try (BufferedReader aReader = new BufferedReader(new InputStreamReader(new FileInputStream(string)))){
- String aLine = aReader.readLine();
- while (aLine != null) {
- int aNumber = parseLine(aLine);
- if (aNumber > 0) {
- result = true;
- }
- aLine = aReader.readLine();
- }
- }
- catch (FileNotFoundException e) {
- System.out.println("Could not open log file: " + string);
- result = true;
- }
- catch (IOException e) {
- System.out.println("Error reading log file: " + string);
- result = true;
- }
- return result;
- }
- @Test
- public void testChkpii() {
-
- try {
- // test that chkpii is on path by printing chkpii help information
- Runtime aRuntime = Runtime.getRuntime();
- Process aProcess = aRuntime.exec(getExec() + " /?");
- BufferedReader aBufferedReader = new BufferedReader(new InputStreamReader(aProcess.getInputStream()));
- while (aBufferedReader.readLine() != null) {
- }
- aProcess.waitFor();
- } catch (IOException e) {
- // skip chkpii test if chkpii cannot be run.
- System.out.println("testChkpii-NotInstalled");
- System.out.println(e.getMessage());
- System.out.println("Skipping chkpii test.");
- assertTrue(true);
- return;
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
-
- String zipFile = locateEclipseZip();
-
- // String sniffFolder = BootLoader.getInstallURL().getPath() +
- // "releng_sniff_folder";
- // String sniffFolder = "d:\\builds\\t";
- String sniffFolder = Platform.getLocation().toOSString();
-
- try {
- if (zipFile.isEmpty()) {
- FileTool.unzip(getTrueFilter(), new File(sniffFolder));
- } else {
- FileTool.unzip(getTrueFilter(), new ZipFile(zipFile), new File(sniffFolder));
- }
- }
- catch (IOException e) {
- fail(zipFile + ": " + sniffFolder + ": " + "IOException unzipping Eclipse for chkpii");
- }
-
- boolean result1 = testChkpii(HTML);
- boolean result2 = testChkpii(XML);
- boolean result3 = testChkpii(PROPERTIES);
- assertTrue("Translation errors in files. See the chkpii logs linked from the test results page for details.",
- (result1 && result2 && result3));
- }
-
- private boolean testChkpii(int type) {
- Runtime aRuntime = Runtime.getRuntime();
- String chkpiiString = getChkpiiString(type);
- try {
- Process aProcess = aRuntime.exec(chkpiiString);
- BufferedReader aBufferedReader = new BufferedReader(new InputStreamReader(aProcess.getInputStream()));
- while (aBufferedReader.readLine() != null) {
- }
- aProcess.waitFor();
- } catch (IOException e) {
- e.printStackTrace();
- return false;
- } catch (InterruptedException e) {
- return false;
- }
- return !hasErrors(getOutputFile(type));
- }
-
- /**
- * Method getChkpiiString.
- *
- * @param type
- * @return String
- */
- private String getChkpiiString(int type) {
- return getExec() + " " + getFilesToTest(type) + " -E -O " + getOutputFile(type) + " -XM @" + getExcludeErrors() + " -X "
- + getExcludeFile() + " -S /jsq /tex";
- }
-
- /**
- * Method locateEclipseZip.
- *
- * @return String
- */
- private String locateEclipseZip() {
-
- // String to use when running as an automated test.
- String installDir = Platform.getInstallLocation().getURL().getPath() + ".." + File.separator + "..";
-
- // String to use when running in Eclipse
- // String installDir = BootLoader.getInstallURL().getPath() + "..";
- File aFile = new File(installDir);
-
- for (File file : aFile.listFiles()) {
- String fileName = file.getName();
- if (fileName.startsWith("eclipse-SDK-") && fileName.endsWith(".zip")) {
- return file.getPath();
- }
- }
-
- return "";
- }
-
- /**
- * Method getExcludeFiles.
- *
- * @return String
- */
- private String getExcludeFile() {
- String aString = System.getProperty("PLUGIN_PATH");
- return aString + File.separator + "ignoreFiles.txt";
- }
-
- /**
- * Method getOutputFile.
- *
- * @param type
- * @return String
- */
-
- private String getOutputFile(int type) {
-
- new File(logFileName).mkdirs();
-
- String aString = logFileName + File.separator + "org.eclipse.nls.";
- aString = new File(aString).getPath();
-
- switch (type) {
- case HTML:
- return aString + "html.txt";
- case PROPERTIES:
- return aString + "properties.txt";
-
- case XML:
- return aString + "xml.txt";
-
- default:
- return aString + "other.txt";
- }
- }
-
- /**
- * Method getFilesToTest.
- *
- * @param type
- * @return String
- */
-
- private String getFilesToTest(int type) {
-
- String sniffFolder = Platform.getLocation().toOSString();
-
- String aString = new File(sniffFolder).getPath() + File.separator;
-
- switch (type) {
- case HTML:
- return aString + "*.htm*";
- case PROPERTIES:
- return aString + "*.properties";
-
- case XML:
- return aString + "*.xml";
-
- default:
- return aString + "*.*";
- }
- }
-
- /**
- * Method getExec.
- *
- * @return String
- */
-
- private String getExec() {
-
- return new File("chkpw1402.exe").getPath();
- }
-
- /**
- * Method getExcludeErrors.
- */
- private String getExcludeErrors() {
-
- String os = Platform.getOS();
- String fileName;
-
- if (os.equals("win32")) {
- fileName = "ignoreErrorsWindows.txt";
- } else {
- fileName = "ignoreErrorsUnix.txt";
- }
-
- String aString = System.getProperty("PLUGIN_PATH");
- return aString + File.separator + fileName;
- }
-
- /**
- * Method parseLine.
- *
- * @param aLine
- * @return -1 if not an error or warning line or the number of errors or warnings.
- */
- private int parseLine(String aLine) {
- int index = aLine.indexOf("Files Could Not Be Processed: ");
-
- if (index == -1) {
- index = aLine.indexOf("Files Contain Error");
- }
-
- if (index == -1) {
- return -1;
- } else {
- String aString = aLine.substring(0, index).trim();
- return Integer.parseInt(aString);
- }
- }
-
- public class FileSuffixFilter implements FilenameFilter {
-
- private String suffix;
-
- public FileSuffixFilter(String suffix) {
- this.suffix = suffix;
- }
-
- @Override
- public boolean accept(File dir, String name) {
- int lastDot = name.lastIndexOf('.');
- if (lastDot == -1) {
- return false;
- }
- return name.substring(lastDot).equals(suffix);
- }
-
- }
-
- public static final List<String> REQUIRED_FEATURE_FILES_EPL2 = List.of("epl-2.0.html", "feature.properties",
- "feature.xml", "license.html");
- public static final String REQUIRED_FEATURE_SUFFIX = "";
-
- public static final List<String> REQUIRED_PLUGIN_FILES = List.of("about.html", "plugin.properties", "plugin.xml");
- public static final String REQUIRED_PLUGIN_SUFFIX = ".jar";
-
- public static final List<String> REQUIRED_FEATURE_PLUGIN_FILES = List.of("about.html", "about.ini",
- "about.mappings", "about.properties", "plugin.properties", "plugin.xml");
- public static final String REQUIRED_FEATURE_PLUGIN_SUFFIX = ".gif";
-
- public static final List<String> REQUIRED_FRAGMENT_FILES = List.of("fragment.xml");
- public static final String REQUIRED_FRAGMENT_SUFFIX = "";
-
- public static final List<String> REQUIRED_SWT_FRAGMENT_FILES = List.of("fragment.properties");
- public static final String REQUIRED_SWT_FRAGMENT_SUFFIX = "";
-
- public static final List<String> REQUIRED_SOURCE_FILES = List.of("about.html");
- public static final String REQUIRED_SOURCE_SUFFIX = ".zip";
-
- public static final List<String> REQUIRED_BUNDLE_FILES = List.of("about.html");
- public static final String REQUIRED_BUNDLE_MANIFEST = "MANIFEST.MF";
- public static final String REQUIRED_BUNDLE_SUFFIX = ".jar";
-
- public static final List<String> SUFFIX_EXEMPT_LIST = List.of("org.eclipse.swt", "org.apache.ant");
-
- public static final int PLUGIN_COUNT = 84; // - 20; // Note this number
- // must include non-shipping
- // test plugins
- public static final int FEATURE_COUNT = 9; // - 1; // Note this number must
-
- // include non-shipping test
- // feature
-
- @Before
- public void setUp() {
- // Automated Test
- logFileName = Platform.getInstallLocation().getURL().getPath() + ".." + File.separator + ".." + File.separator + "results"
- + File.separator + "chkpii"; // A tad bogus but this is where
- // the build wants to copy the
- // results from!
-
- // Runtime Workbench - TODO Put me back to Automated status
- // logFileName = "d:\\results";
- // sourceDirectoryName = "d:\\sourceFetch";
- }
- @Test
- public void testFeatureFiles() {
- assumeFalse(isMavenRun());
- List<String> result = new ArrayList<>();
- String installDir = Platform.getInstallLocation().getURL().getPath();
-
- File featureDir = new File(installDir, "features");
- for (File aFeature : featureDir.listFiles()) {
- List<String> testFiles = REQUIRED_FEATURE_FILES_EPL2;
- if (!testDirectory(aFeature, testFiles, REQUIRED_FEATURE_SUFFIX)) {
- result.add(aFeature.getPath());
- }
- }
-
- String aString = "";
- if (!result.isEmpty()) {
- for (String element: result) {
- aString = aString + element + "; ";
- }
- }
- assertTrue("Feature directory missing required files: " + aString, result.isEmpty());
- }
- @Test
- public void testPluginFiles() {
- assumeFalse(isMavenRun());
- System.out.println(System.getenv());
- List<String> result = new ArrayList<>();
- String installDir = Platform.getInstallLocation().getURL().getPath();
- File pluginDir = new File(installDir, "plugins");
- for (File aPlugin : pluginDir.listFiles()) {
- if (!aPlugin.getName().contains("test") && !aPlugin.getName().contains("org.eclipse.jetty")
- && !aPlugin.getName().contains("jakarta") && !aPlugin.getName().contains("slf4j.api")
- && !aPlugin.getName().contains("org.eclipse.ecf")) {
- if (!testPluginFile(aPlugin)) {
- result.add(aPlugin.getPath());
- }
- }
- }
-
- String aString = "";
- if (!result.isEmpty()) {
- for (String element : result) {
- aString = aString + element + "; ";
- }
- }
- assertTrue("Plugin directory missing required files: " + aString, result.isEmpty());
- }
-
- private boolean isMavenRun() {
- return System.getenv("MAVEN_CMD_LINE_ARGS") != null;
- }
-
- private boolean testPluginFile(File aPlugin) {
-
- // Are we a doc plugin?
- if (testDirectory(aPlugin, REQUIRED_PLUGIN_FILES, ".zip")) {
- return true;
- }
-
- // Are we a feature plugin?
- if (testDirectory(aPlugin, REQUIRED_FEATURE_PLUGIN_FILES, REQUIRED_FEATURE_PLUGIN_SUFFIX)) {
- return true;
- }
-
- // Are we a regular plugin
- if (testDirectory(aPlugin, REQUIRED_PLUGIN_FILES, REQUIRED_PLUGIN_SUFFIX)) {
- return true;
- }
-
- // Are we a source plugin
- if (testSourcePlugin(aPlugin)) {
- return true;
- }
-
- // Are we a fragment
- if ((testDirectory(aPlugin, REQUIRED_FRAGMENT_FILES, REQUIRED_FRAGMENT_SUFFIX))
- || (testBundleDirectory(aPlugin, REQUIRED_BUNDLE_FILES, REQUIRED_BUNDLE_MANIFEST, REQUIRED_FRAGMENT_SUFFIX))) {
- return true;
- }
-
- // Are we an swt fragment
- if (testDirectory(aPlugin, REQUIRED_SWT_FRAGMENT_FILES, REQUIRED_SWT_FRAGMENT_SUFFIX)) {
- return true;
- }
-
- // Are we a bundle?
- if (testBundleDirectory(aPlugin, REQUIRED_BUNDLE_FILES, REQUIRED_BUNDLE_MANIFEST, REQUIRED_BUNDLE_SUFFIX)) {
- return true;
- }
-
- // No then we are bad
- return false;
- }
-
- private boolean testPluginJar(File aDirectory, List<String> requiredFiles) {
- ArrayList<String> list = new ArrayList<>();
- try (ZipFile jarredPlugin = new ZipFile(aDirectory)) {
- Enumeration<? extends ZipEntry> _enum = jarredPlugin.entries();
- while (_enum.hasMoreElements()) {
- list.add(_enum.nextElement().toString());
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- if (!list.containsAll(requiredFiles)) {
- return false;
- }
- return true;
- }
-
- private boolean testDirectory(File aDirectory, List<String> requiredFiles, String requiredSuffix) {
- if (aDirectory.getName().endsWith(".jar")) {
- return testPluginJar(aDirectory, requiredFiles);
- } else {
- if (!Arrays.asList(aDirectory.list()).containsAll(requiredFiles)) {
- return false;
- }
-
- int index = aDirectory.getName().indexOf('_');
- if (index == -1) {
- index = aDirectory.getName().length();
- }
-
- String plainName = aDirectory.getName().substring(0, index);
-
- if (requiredSuffix.isEmpty() || SUFFIX_EXEMPT_LIST.contains(plainName)) {
- return true;
- } else if (aDirectory.listFiles(new FileSuffixFilter(requiredSuffix)).length == 0) {
- return false;
- }
- }
- return true;
- }
-
- private boolean testBundleDirectory(File aDirectory, List<String> requiredFiles, String manifestFile, String requiredSuffix) {
- if (aDirectory.getName().endsWith(".jar")) {
- return testPluginJar(aDirectory, requiredFiles);
- } else {
- if (!Arrays.asList(aDirectory.list()).containsAll(requiredFiles)) {
- return false;
- }
-
- int index = aDirectory.getName().indexOf('_');
- if (index == -1) {
- index = aDirectory.getName().length();
- }
-
- String plainName = aDirectory.getName().substring(0, index);
-
- File metaDir = new File(aDirectory, "META-INF");
-
- String[] metaFiles = metaDir.list();
- if (metaFiles == null) {
- return (false);
- } else {
- for (String filename : metaFiles) {
- if (filename == manifestFile) {
- return true;
- }
- }
- }
-
- if (!metaDir.exists()) {
- return false;
- }
-
- if (requiredSuffix.isEmpty() || SUFFIX_EXEMPT_LIST.contains(plainName)) {
- return true;
- } else if (aDirectory.listFiles(new FileSuffixFilter(requiredSuffix)).length == 0) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Return true if the receiver is a source plugin, false otherwise A separate method because this is a little tricky.
- *
- * @param aPlugin
- * @return boolean
- */
- private boolean testSourcePlugin(File aPlugin) {
- if (!testDirectory(aPlugin, REQUIRED_PLUGIN_FILES, "")) {
- return false;
- }
-
- File sourceDir = new File(aPlugin, "src");
- File[] sourceDirs = sourceDir.listFiles();
- if (sourceDirs == null) {
- return false;
- }
-
- for ( File aSourceDir : sourceDirs) {
- if (!testDirectory(aSourceDir, REQUIRED_SOURCE_FILES, REQUIRED_SOURCE_SUFFIX)) {
- return false;
- }
- }
- return true;
- }
- @Test
- public void testJavadocLogs() throws Exception {
- assumeFalse(isMavenRun());
- String javadocUrls = System.getProperty("RELENGTEST.JAVADOC.URLS");
- // Skip this test if there are no logs to check
- if (javadocUrls == null) {
- System.err.println("WARNING: no javadoc logs to test, since RELENGTEST.JAVADOC.URLS property was not set");
- return;
- } else {
- System.err.println("RELENGTEST.JAVADOC.URLS: " + javadocUrls);
- }
-
- String[] urls = javadocUrls.split(",");
- URL[] javadocLogs = new URL[urls.length];
- for (int i = 0; i < urls.length; i++) {
- javadocLogs[i] = new URL(urls[i]);
- System.err.println("javadocLogs[" + i + "]: " + javadocLogs[i]);
- }
-
- JavadocLog javadocLog = new JavadocLog(javadocLogs);
- String message = "javadoc errors and/or warnings in: \n";
- boolean problemLogsExist = !javadocLog.logs.isEmpty();
- if (problemLogsExist) {
- for (int i = 0; i < javadocLog.logs.size(); i++)
- message = message.concat(javadocLog.logs.get(i) + "\n");
- }
- message = message.concat("See the javadoc logs linked from the test results page for details");
- assertTrue(message, !problemLogsExist);
- }
-
- @Test
- @Ignore("see bug 561174")
- public void testDirtyLogSize() throws Exception {
- final boolean DEBUG_DIRTY_TEST = true;
- // MAX_ALLOWED_BYTES will never be 'zero', even if "no dirt" because the
- // "dirReport" always contains some information
- // in response to the "git status" command. The goal, here, is to
- // "hard code" previously observed values, to make sure
- // there is no regressions, which would be implied by a report larger
- // than those that had been produced before.
- // The "size" should be expressed in exact bytes as "increases" in
- // size might be small ... if just a file or two.
- URL standardReportURL = this.getClass().getResource("standardDirtReport.txt");
- URLConnection standardReportURLConnection = standardReportURL.openConnection();
- // No need to get contents (yet, most of the time) unless getContentLenth doesn't work for plugin resources?
- long MAX_ALLOWED_BYTES = standardReportURLConnection.getContentLength();
- // long MAX_ALLOWED_BYTES = 37179;
- System.out.println("DEBUG: MAX_ALLOWED_BYTES: " + MAX_ALLOWED_BYTES);
- String buildId = System.getProperty("buildId");
- assertNotNull("buildId property must be specified for testDirtyLogSize test", buildId);
- String downloadHost = "build.eclipse.org/eclipse/builds/4" + buildId.charAt(0) + "/siteDir";
- String urlOfFile = "http://" + downloadHost + "/eclipse/downloads/drops4/" + buildId + "/buildlogs/dirtReport.txt";
- URL logURL = new URL(urlOfFile);
-
- URLConnection urlConnection = logURL.openConnection();
- // getContentLength calls "connect" if needed.
- // urlConnection.connect();
- // Note, if expect more than "2 Gig", use getContentLengthLong (in Java 7).
- long nBytes = urlConnection.getContentLength();
- if (DEBUG_DIRTY_TEST) {
- System.out.println("Debug info for testDirtyLogSize");
- System.out.println("Debug: nBytes: " + nBytes);
- printHeaders(urlConnection);
- }
- // if find "response does not contain length, on a regular basis, for
- // some servers, will have to read contents.
- assertTrue(
- "Either file (url) does not exist (build may have been removed?), or HTTP response does not contain content length. urlOfFile: "
- + urlOfFile,
- (-1 != nBytes));
- assertFalse("dirtReport file has increased in size, indicating a regression. See " + urlOfFile, nBytes > MAX_ALLOWED_BYTES);
- assertFalse(
- "Good news! dirtReport file has decreased in size, compared to standard, so the standardDirtReport.txt file should be replaced with the one at "
- + urlOfFile
- + ". But NOTE: results may not be accurate, if there are other errors in build, so diff is recommended.",
- nBytes < MAX_ALLOWED_BYTES);
-
- }
-
- @Test
- public void testJarSign() throws Exception {
- assumeFalse(isMavenRun());
- String buildId = System.getProperty("buildId");
- assertNotNull("buildId property must be specified for testJarSign test", buildId);
- String downloadHost = "download.eclipse.org";
- String urlOfFile = "https://" + downloadHost + "/eclipse/downloads/drops4/" + buildId
- + "/buildlogs/reporeports/reports/unsigned8.txt";
- URL logURL = new URL(urlOfFile);
-
- URLConnection urlConnection = logURL.openConnection();
- long nBytes = urlConnection.getContentLength();
- // nBytes will be -1 if the file doesn't exist
- // it will be more than 3 if there are unsigned jars. (atlear jar extention will be listed
-
- assertTrue("Some bundles are unsigned please refer " + urlOfFile, (2 > nBytes));
- }
-
- private String getDownloadHost() {
- String downloadHost = System.getProperty("downloadHost");
- if (downloadHost == null) {
- downloadHost = "download.eclipse.org";
- }
- return downloadHost;
- }
-
- private void printHeaders(URLConnection urlConnection) {
- System.out.println("Debug: Headers for urlConnection to " + urlConnection.getURL());
- Map<String, List<String>> allFields = urlConnection.getHeaderFields();
- for (Entry<String, List<String>> entry : allFields.entrySet()) {
- for (String value : entry.getValue()) {
- System.out.printf("Debug: %-20s %-30s %n", "key: " + entry.getKey(), "value: " + value);
- }
- }
- }
- @Test
- public void testComparatorLogSize() throws Exception {
- assumeFalse(isMavenRun());
- final boolean DEBUG_TEST = true;
- // MAX_ALLOWED_BYTES will never be 'zero', even if no unexpected comparator warnings, because the
- // report always contains some information, such as identifying which build it was for.
- // The goal, here, is to
- // "hard code" nominal values, to make sure
- // there is no regressions, which would be implied by a report larger
- // than that nominal value.
- long MAX_ALLOWED_BYTES = 319;
- String buildId = System.getProperty("buildId");
- assertNotNull("buildId property must be specified for testComparatorLogSize test", buildId);
- // Comparator logs are not generated for N builds
- String downloadHost = getDownloadHost();
- String urlOfFile = "https://" + downloadHost + "/eclipse/downloads/drops4/" + buildId
- + "/buildlogs/comparatorlogs/buildtimeComparatorUnanticipated.log.txt";
- URL logURL = new URL(urlOfFile);
-
- URLConnection urlConnection = logURL.openConnection();
- // urlConnection.connect();
- long nBytes = urlConnection.getContentLength();
- if (DEBUG_TEST) {
- System.out.println("Debug info for testComparatorLogSize");
- System.out.println("Debug: nBytes: " + nBytes);
- printHeaders(urlConnection);
- }
- // if find "response does not contain length, on a regular basis, for
- // some servers, will have to read contents.
- assertTrue("Either file (url) does not exist, or HTTP response does not contain content length. urlOfFile: "
- + urlOfFile, (-1 != nBytes));
- assertTrue("Unanticipated comparator log file has increased in size, indicating a regression. See " + urlOfFile,
- nBytes <= MAX_ALLOWED_BYTES);
- if (MAX_ALLOWED_BYTES > (nBytes + 20)) {
- System.out.println(
- "WARNING: MAX_ALLOWED_BYTES was larger than bytes found, by " + (MAX_ALLOWED_BYTES - nBytes)
- + ", which may indicate MAX_ALLOWED_BYTES needs to be lowered, to catch regressions.");
- }
- }
-
- private class JavadocLog {
-
- private ArrayList<String> logs = new ArrayList<>();
-
- private JavadocLog(URL[] logs) {
- findProblems(logs);
- }
-
- private void findProblems(URL[] javadocLogs) {
- String JAVADOC_WARNING = ": warning";
- String JAVADOC_ERROR = ": error";
- String JAVADOC_JAVA = ".java:";
-
- for (URL javadocLog : javadocLogs) {
- try (BufferedReader in = new BufferedReader(new InputStreamReader(javadocLog.openStream()))){
- String tmp;
- while ((tmp = in.readLine()) != null) {
- tmp = tmp.toLowerCase();
- if (tmp.contains(JAVADOC_ERROR) || tmp.contains(JAVADOC_WARNING)
- || tmp.contains(JAVADOC_JAVA)) {
- String fileName = new File(javadocLog.getFile()).getName();
- if (!logs.contains(fileName))
- logs.add(fileName);
- }
- }
- }
- catch (FileNotFoundException e) {
- logs.add("Unable to find " + new File(javadocLog.getFile()).getName() + " to read.");
- e.printStackTrace();
- }
- catch (IOException e) {
- logs.add("Unable to read " + new File(javadocLog.getFile()).getName());
- e.printStackTrace();
- }
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/FileTool.java b/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/FileTool.java
deleted file mode 100644
index 5aae2210..00000000
--- a/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/FileTool.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2022 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.releng.tests;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-
-/**
- * A tool for performing operations on files.
- */
-public class FileTool {
-
- /**
- * A zip filter which is used to filter out unwanted entries while extracting a zip file.
- *
- * @see FileTool#unzip
- */
- public interface IZipFilter {
- /**
- * Returns a boolean indicating whether the entry with the
- * specified name should be extracted from the zip file.
- *
- * @param fullEntryName the full entry name; includes full
- * path segments for nested zip entries
- * @param entryName the partial entry name; only includes
- * path segments from the currect zip entry
- * @param depth a number greater than or equal to zero
- * which specifies the depth of the current nested zip
- * entry
- * @return a boolean indicating whether the entry with the
- * specified name should be extracted from the zip file
- */
- boolean shouldExtract(String fullEntryName, String entryName, int depth);
- /**
- * Returns a boolean indicating whether the entry (which
- * is a zip/jar file) with the specified name should be
- * extracted from the zip file and then unzipped.
- *
- * @param fullEntryName the full entry name; includes full
- * path segments for nested zip entries
- * @param entryName the partial entry name; only includes
- * path segments from the currect zip entry
- * @param depth a number greater than or equal to zero
- * which specifies the depth of the current nested zip
- * entry
- * @return a boolean indicating whether the entry (which
- * is a zip/jar file) with the specified name should be
- * extracted from the zip file and then unzipped
- */
- boolean shouldUnzip(String fullEntryName, String entryName, int depth);
- }
- /**
- * Returns the given file path with its separator
- * character changed from the given old separator to the
- * given new separator.
- *
- * @param path a file path
- * @param oldSeparator a path separator character
- * @param newSeparator a path separator character
- * @return the file path with its separator character
- * changed from the given old separator to the given new
- * separator
- */
- public static String changeSeparator(String path, char oldSeparator, char newSeparator){
- return path.replace(oldSeparator, newSeparator);
- }
- /**
- * Unzips the given zip file to the given destination directory
- * extracting only those entries the pass through the given
- * filter.
- *
- * @param filter filters out unwanted zip entries
- * @param zipFile the zip file to unzip
- * @param dstDir the destination directory
- */
- public static void unzip(IZipFilter filter, ZipFile zipFile, File dstDir) throws IOException {
- unzip(filter, zipFile, dstDir, dstDir, 0);
- }
-
- private static void unzip(IZipFilter filter, ZipFile zipFile, File rootDstDir, File dstDir, int depth) throws IOException {
-
- Enumeration<? extends ZipEntry> entries = zipFile.entries();
-
- try (zipFile) {
- while(entries.hasMoreElements()){
- ZipEntry entry = entries.nextElement();
- if(entry.isDirectory()){
- continue;
- }
- String entryName = entry.getName();
- File file = new File(dstDir, FileTool.changeSeparator(entryName, '/', File.separatorChar));
- String destCanPath = dstDir.getCanonicalPath();
- String fileCanPath = file.getCanonicalPath();
- if (!fileCanPath.startsWith(destCanPath + File.separatorChar)) {
- throw new IOException("Entry is out side of target dir: " + entryName);
- }
- String fullEntryName = FileTool.changeSeparator(file.toString().substring(rootDstDir.toString().length() + 1), File.separatorChar, '/');
- if(!(filter == null || filter.shouldExtract(fullEntryName, entryName, depth))){
- continue;
- }
- file.getParentFile().mkdirs();
- try (InputStream src = zipFile.getInputStream(entry);
- OutputStream dst = new FileOutputStream(file)){
- src.transferTo(dst);
- }
- if((entryName.endsWith(".zip") || entryName.endsWith(".jar")) && (filter == null || filter.shouldUnzip(fullEntryName, entryName, depth))) {
- String fileName = file.getName();
- String dirName = fileName.substring(0, fileName.length() - 4) + "_" + fileName.substring(fileName.length() - 3);
- ZipFile innerZipFile = null;
- try {
- innerZipFile = new ZipFile(file);
- File innerDstDir = new File(file.getParentFile(), dirName);
- unzip(filter, innerZipFile, rootDstDir, innerDstDir, depth + 1);
- file.delete();
- } catch (IOException e) {
- if(innerZipFile != null){
- try {
- innerZipFile.close();
- System.out.println("Could not unzip: " + fileName + ". InnerZip = " + innerZipFile.getName() + ". Lenght: " + innerZipFile.getName().length());
- } catch(IOException e2){
- }
- } else
- System.out.println("Could not unzip: " + fileName + ". InnerZip = <null>");
- e.printStackTrace();
- }
-
- }
- }
- }
- }
- /**
- * Unzips the inner zip files in the given destination directory
- * extracting only those entries the pass through the given
- * filter.
- *
- * @param filter filters out unwanted zip entries
- * @param dstDir the destination directory
- */
- public static void unzip(IZipFilter filter, File dstDir) {
- unzip(filter, dstDir, dstDir, 0);
- }
-
- private static void unzip(IZipFilter filter, File rootDstDir, File dstDir, int depth) {
-
- File[] entries = rootDstDir.listFiles();
- if (entries == null) {
- entries = new File[0];
- }
- for (File entry : entries) {
- if (entry.isDirectory()) {
- unzip(filter, entry, dstDir, depth);
- }
- String entryName = entry.getName();
- File file = new File(dstDir, FileTool.changeSeparator(entryName, '/', File.separatorChar));
- if (entryName.endsWith(".zip") || entryName.endsWith(".jar")) {
- String fileName = file.getName();
- String dirName = fileName.substring(0, fileName.length() - 4) + "_"
- + fileName.substring(fileName.length() - 3);
- ZipFile innerZipFile = null;
- try {
- innerZipFile = new ZipFile(entry);
- File innerDstDir = new File(entry.getParentFile(), dirName);
- unzip(filter, innerZipFile, rootDstDir, innerDstDir, depth + 1);
- // entry.delete();
- } catch (IOException e) {
- if (innerZipFile != null) {
- try {
- innerZipFile.close();
- System.out.println("Could not unzip: " + fileName + ". InnerZip = " + innerZipFile.getName()
- + ". Lenght: " + innerZipFile.getName().length());
- } catch (IOException e2) {
- }
- } else
- System.out.println("Could not unzip: " + fileName + ". InnerZip = <null>");
- e.printStackTrace();
- }
-
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/checkSignature b/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/checkSignature
deleted file mode 100755
index 22fe3661..00000000
--- a/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/checkSignature
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/env bash
-
-# small utility to check signature of app on the mac. Assumes the XCode tools installed.
-
-appPathAndName=$1
-if [[ -z "${appPathAndName}" ]]
-then
- echo -e "\n\t[ERROR] Programming error. The applications path and name must be specified for $(basename $0)"
- exit 1
-fi
-
-if [[ ! -e "${appPathAndName}" ]]
-then
- echo -e "\n\t[ERROR] Programning error in $(basename $0). The applications path and name was specified, but did not exist,\n\t\tWas specified as ${appPathAndName}"
- exit 2
-fi
-SPCTL=$(which spctl)
-if [[ -z "${SPCTL}" ]]
-then
- echo "\n\t[ERROR} spctl was not found on this system to check signatures"
- exit 3
-fi
-CODESIGN=$(which codesign)
-if [[ -z "${CODESIGN}" ]]
-then
- echo "\n\t[ERROR codesign was not found on this system to check signatures"
- exit 4
-fi
-
-echo -e "\n\t${SPCTL} -a -t exec -vvvv $appPathAndName\n"
-"${SPCTL}" -a -t exec -vvvv "$appPathAndName"
-RCspctl=$?
-if [[ $RCspctl != 0 ]]
-then
- echo -e "\n\tspctl returned $RCspctl"
-fi
-# display always returns 0 apparently
-echo -e "\n\t${CODESIGN} --verbose=4 --display --deep -r- $appPathAndName\n"
-"${CODESIGN}" --verbose=4 --display --deep --continue -r- "$appPathAndName"
-# verify for return code
-echo -e "\n\t${CODESIGN} --verbose=4 --verify --deep --continue -r- $appPathAndName\n"
-"${CODESIGN}" --verbose=4 --verify --deep --continue -r- "$appPathAndName"
-RCcodesign=$?
-if [[ $RCcodesign != 0 ]]
-then
- echo -e "\n\tcodesign returned $RCcodesign"
-fi
-# according to man pages, return code of 1 means "not correctly signed".
-# other return codes (2, 3) mean things like "arguments not correct"
-if [[ $RCspctl == 1 || $RCcodesign == 1 ]]
-then
- echo -e "\n\t[ERROR] The application $appPathAndName was not correctly signed"
- exit $(( $RCspctl & $RCcodesign ))
-fi
-if [[ $RCspctl != 0 || $RCcodesign != 0 ]]
-then
- echo -e "\n\t[ERROR] The verification arguments while checking $appPathAndName were not correct"
- exit $(( $RCspctl & $RCcodesign ))
-fi
-exit 0
-
diff --git a/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/standardDirtReport.txt b/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/standardDirtReport.txt
deleted file mode 100644
index 610035a2..00000000
--- a/bundles/org.eclipse.releng.tests/src/org/eclipse/releng/tests/standardDirtReport.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-
- Dirt Report for I20180117-2000
-
-Entering 'eclipse.jdt'
-Entering 'eclipse.jdt.core'
- M org.eclipse.jdt.core/jdtCompilerAdapter.jar
-Entering 'eclipse.jdt.core.binaries'
-Entering 'eclipse.jdt.debug'
-?? org.eclipse.jdt.debug.tests/javadebugtests.jar
-?? org.eclipse.jdt.debug/jdi.jar
-?? org.eclipse.jdt.debug/jdimodel.jar
-Entering 'eclipse.jdt.ui'
-Entering 'eclipse.pde.build'
-Entering 'eclipse.pde.ui'
-Entering 'eclipse.platform'
-Entering 'eclipse.platform.common'
-?? bundles/org.eclipse.jdt.doc.isv/index/
-?? bundles/org.eclipse.jdt.doc.user/index/
-?? bundles/org.eclipse.pde.doc.user/index/
-?? bundles/org.eclipse.platform.doc.isv/index/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.compare.examples.xml/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.compare.examples/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.swt.examples.launcher/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.swt.examples.ole.win32/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.swt.examples.views/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.swt.examples/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.team.examples.filesystem/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.ui.examples.fieldassist/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.ui.examples.javaeditor/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.ui.examples.multipageeditor/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.ui.examples.propertysheet/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.ui.examples.readmetool/
-?? bundles/org.eclipse.platform.doc.isv/samples/org.eclipse.ui.examples.undo/
-?? bundles/org.eclipse.platform.doc.user/index/
-Entering 'eclipse.platform.debug'
-Entering 'eclipse.platform.releng'
-Entering 'eclipse.platform.resources'
-Entering 'eclipse.platform.runtime'
-Entering 'eclipse.platform.swt'
-Entering 'eclipse.platform.swt.binaries'
-Entering 'eclipse.platform.team'
-Entering 'eclipse.platform.text'
-Entering 'eclipse.platform.ua'
-Entering 'eclipse.platform.ui'
-Entering 'eclipse.platform.ui.tools'
-Entering 'rt.equinox.binaries'
-Entering 'rt.equinox.bundles'
-Entering 'rt.equinox.framework'
-?? features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/
-?? features/org.eclipse.equinox.executable.feature/bin/gtk/
-?? features/org.eclipse.equinox.executable.feature/bin/win32/
-Entering 'rt.equinox.p2'
diff --git a/bundles/org.eclipse.releng.tests/test.xml b/bundles/org.eclipse.releng.tests/test.xml
deleted file mode 100644
index a22ed346..00000000
--- a/bundles/org.eclipse.releng.tests/test.xml
+++ /dev/null
@@ -1,242 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
- name="RelEng Automated Tests"
- default="run"
- basedir=".">
-
- <property environment="env" />
- <!-- The property ${eclipse-home} should be passed into this script -->
- <!-- sets the properties eclipse-home, and library-file -->
- <property
- name="eclipse-home"
- value="${basedir}/../../" />
- <property
- name="plugin-name"
- value="org.eclipse.releng.tests" />
- <property
- name="library-file"
- value="${eclipse-home}/plugins/org.eclipse.test/library.xml" />
-
- <!-- This target holds all initialization code that needs to be done for -->
- <!-- all tests that are to be run. Initialization for individual tests -->
- <!-- should be done within the body of the suite target. -->
- <target name="init">
-
- <tstamp />
-
- <condition property="JAVADOC_OUTPUT_LOCATION" value="file:///${eclipse-home}/../../../.." else="file:///${eclipse-home}/../.." >
- <os family="mac" />
- </condition>
-
- <condition property="downloadHost" value="${env.DOWNLOAD_HOST}" else="download.eclipse.org">
- <isset property="env.DOWNLOAD_HOST" />
- </condition>
-
- <condition property="tar.gz">
- <contains
- string="${runtimeArchive}"
- substring=".tar.gz" />
- </condition>
- <condition
- property="location"
- value="/builds/t">
- <equals
- arg1="${os}"
- arg2="win32" />
- </condition>
- <property
- name="location"
- value="${basedir}/releng" />
- <property
- name="locationcompare"
- value="${basedir}/relengcompare" />
- <property
- name="locationcomparecurrent"
- value="${basedir}/relengcomparecurrent" />
- <!-- Is now 4 part qualifier. Value used to be set at start of file.
- But, then had to use only 3 part qualifier. Now, set elsewhere?
- <property name="org.eclipse.releng.tests" value="org.eclipse.releng.tests_3.2.300" />
- -->
- <echo message="Full name with versionand qualifier of org.eclipse.releng.tests:" />
- <echo message=" ${org.eclipse.releng.tests}" />
- </target>
-
- <!-- This target holds code to cleanup the testing environment after the tests -->
- <!-- have been run. You can use this to delete temporary files that are created. -->
- <target name="cleanup">
- <!-- temp, leave for inspection
- <delete dir="${location}" quiet="true" />
- <delete dir="${locationcompare}" />
- -->
- </target>
-
- <!--if file is a tar.gz file and not a zip, extract the SDK on which to
- execute chkpii before starting tests -->
- <target
- name="setup"
- if="tar.gz">
- <property
- name="archiveDir"
- value="${eclipse-home}/../.." />
- <delete dir="${location}" />
- <mkdir dir="${location}" />
- <exec
- dir="${location}"
- executable="tar">
- <arg line="-xzf ${archiveDir}/${runtimeArchive}" />
- </exec>
- <condition property="notMac">
- <not>
- <os family="mac" />
- </not>
- </condition>
- <!-- <antcall target="setupcompare" /> -->
- </target>
-
- <target
- name="setupcompare"
- if="notMac">
- <!--
- Run compare test only on Linux machine since it is the fastest machine.
- Also, the compare tool only parses feature.xmls so it only needs to be run on one machine.
- -->
- <delete dir="${locationcompare}" />
- <mkdir dir="${locationcompare}" />
- <property
- name="locationcomparetemp"
- value="${locationcompare}/temp" />
- <delete dir="${locationcomparetemp}" />
- <mkdir dir="${locationcomparetemp}" />
- <delete dir="${locationcompare}" />
- <mkdir dir="${locationcompare}" />
- <property
- name="locationcomparetemp"
- value="${locationcompare}/temp" />
- <delete dir="${locationcomparetemp}" />
- <mkdir dir="${locationcomparetemp}" />
- <property file="${basedir}/../../equinoxp2tests.properties" />
- <p2.mirror
- source="${org.eclipse.equinox.p2.tests.last.release.build.repo}"
- ignoreErrors="true">
- <destination
- kind="metadata"
- location="file://${locationcomparetemp}"
- name="Current build Repo" />
- <destination
- kind="artifact"
- location="file://${locationcomparetemp}"
- name="Current build Repo" />
- </p2.mirror>
- <p2.repo2runnable destination="${locationcompare}">
- <source
- dir="${locationcompare}"
- includes="temp" />
- </p2.repo2runnable>
- <delete dir="${locationcomparetemp}" />
-
- <delete dir="${locationcomparecurrent}" />
- <mkdir dir="${locationcomparecurrent}" />
- <property
- name="locationcomparecurrenttemp"
- value="${locationcomparecurrent}/temp" />
- <delete dir="${locationcomparecurrenttemp}" />
- <mkdir dir="${locationcomparecurrenttemp}" />
- <p2.mirror
- source="${org.eclipse.equinox.p2.tests.current.build.repo}"
- ignoreErrors="true">
- <destination
- kind="metadata"
- location="file://${locationcomparecurrenttemp}"
- name="Current build Repo" />
- <destination
- kind="artifact"
- location="file://${locationcomparecurrenttemp}"
- name="Current build Repo" />
- </p2.mirror>
- <p2.repo2runnable destination="${locationcomparecurrent}">
- <source
- dir="${locationcomparecurrent}"
- includes="temp" />
- </p2.repo2runnable>
- <delete dir="${locationcomparecurrenttemp}" />
-
- <replace
- file="${basedir}/plugins/${org.eclipse.releng.tests}/compare.properties"
- token="@new@"
- value="${locationcomparecurrent}/features" />
- <replace
- file="${basedir}/plugins/${org.eclipse.releng.tests}/compare.properties"
- token="@old@"
- value="${locationcompare}/features" />
- <property
- name="versionOutputDir"
- value="${locationcompare}/../../../results/versiontool" />
- <mkdir dir="${versionOutputDir}" />
- <exec
- dir="${versionOutputDir}"
- executable="/bin/touch"
- failonerror="false"
- os="Linux">
- <arg line="results.xml" />
- </exec>
- <property
- name="versionOutputFile"
- value="${versionOutputDir}/results.xml" />
- <echo message="locationcompare ${locationcompare} versionOutputDir ${versionOutputDir} versionOutputFile ${versionOutputFile}" />
- <replace
- file="${basedir}/plugins/${org.eclipse.releng.tests}/compare.properties"
- token="@output@"
- value="${versionOutputFile}" />
- <replace
- file="${basedir}/plugins/${org.eclipse.releng.tests}/compare.properties"
- token="@compareoptions@"
- value="${basedir}/plugins/${org.eclipse.releng.tests}/compareoptions.properties" />
- </target>
-
-
-
- <!-- This target runs the test suite. Any actions that need to happen after all -->
- <!-- the tests have been run should go here. -->
- <target
- name="run"
- depends="init,BuildTests">
- <ant
- target="collect"
- antfile="${library-file}"
- dir="${eclipse-home}">
- <property
- name="includes"
- value="org*.xml" />
- <property
- name="output-file"
- value="${plugin-name}.xml" />
- </ant>
- </target>
-
- <target
- name="BuildTests"
- depends="init,cleanup,setup">
- <ant
- target="core-test"
- antfile="${library-file}"
- dir="${eclipse-home}">
- <property
- name="data-dir"
- value="${location}" />
- <property
- name="plugin-name"
- value="${plugin-name}" />
- <property
- name="classname"
- value="org.eclipse.releng.tests.BuildTests" />
- <property
- name="plugin-path"
- value="${eclipse-home}/plugins/${org.eclipse.releng.tests}" />
-
- <property
- name="vmargs"
- value="-DdownloadHost=${downloadHost} -DbuildId=${buildId} -DRELENGTEST.JAVADOC.URLS=${JAVADOC_OUTPUT_LOCATION}/platform.doc.isv.javadoc.txt,${JAVADOC_OUTPUT_LOCATION}/jdt.doc.isv.javadoc.txt,${JAVADOC_OUTPUT_LOCATION}/pde.doc.user.javadoc.txt,${JAVADOC_OUTPUT_LOCATION}/platform.doc.isv.schema.txt,${JAVADOC_OUTPUT_LOCATION}/jdt.doc.isv.schema.txt,${JAVADOC_OUTPUT_LOCATION}/pde.doc.user.schema.txt" />
- </ant>
- </target>
-
-</project> \ No newline at end of file
diff --git a/bundles/org.eclipse.sdk.examples/.project b/bundles/org.eclipse.sdk.examples/.project
deleted file mode 100644
index 91e3eddc..00000000
--- a/bundles/org.eclipse.sdk.examples/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.sdk.examples</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.sdk.examples/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.sdk.examples/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/bundles/org.eclipse.sdk.examples/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.sdk.examples/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.sdk.examples/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d..00000000
--- a/bundles/org.eclipse.sdk.examples/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/bundles/org.eclipse.sdk.examples/META-INF/MANIFEST.MF b/bundles/org.eclipse.sdk.examples/META-INF/MANIFEST.MF
deleted file mode 100644
index 79ba73eb..00000000
--- a/bundles/org.eclipse.sdk.examples/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.sdk.examples; singleton:=true
-Bundle-Version: 4.23.0.qualifier
-Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.sdk.examples/about.html b/bundles/org.eclipse.sdk.examples/about.html
deleted file mode 100644
index 164f781a..00000000
--- a/bundles/org.eclipse.sdk.examples/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- (&quot;Content&quot;). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- (&quot;Redistributor&quot;) and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.sdk.examples/about.ini b/bundles/org.eclipse.sdk.examples/about.ini
deleted file mode 100644
index 669383fe..00000000
--- a/bundles/org.eclipse.sdk.examples/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/bundles/org.eclipse.sdk.examples/about.mappings b/bundles/org.eclipse.sdk.examples/about.mappings
deleted file mode 100644
index 515397ac..00000000
--- a/bundles/org.eclipse.sdk.examples/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=${buildId}
diff --git a/bundles/org.eclipse.sdk.examples/about.properties b/bundles/org.eclipse.sdk.examples/about.properties
deleted file mode 100644
index 43b94864..00000000
--- a/bundles/org.eclipse.sdk.examples/about.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Eclipse SDK Examples\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2007. All rights reserved.\n\
-Visit http://www.eclipse.org/eclipse
-
diff --git a/bundles/org.eclipse.sdk.examples/build.properties b/bundles/org.eclipse.sdk.examples/build.properties
deleted file mode 100644
index 1e8f95dd..00000000
--- a/bundles/org.eclipse.sdk.examples/build.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2010 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- eclipse32.png,\
- plugin.properties,\
- META-INF/
-
-# note: the following files are intentionally not listed in bin.includes
-# epl-v10.html
-# notice.html
-# these files need to end up as root files in <install>/eclipse/
-src.includes=about.html
-
diff --git a/bundles/org.eclipse.sdk.examples/eclipse32.png b/bundles/org.eclipse.sdk.examples/eclipse32.png
deleted file mode 100644
index bf856800..00000000
--- a/bundles/org.eclipse.sdk.examples/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.sdk.examples/forceQualifierUpdate.txt b/bundles/org.eclipse.sdk.examples/forceQualifierUpdate.txt
deleted file mode 100644
index 56f1032a..00000000
--- a/bundles/org.eclipse.sdk.examples/forceQualifierUpdate.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# To force a version qualifier update add the bug here
-Bug 403352 - Update all parent versions to match our build stream
diff --git a/bundles/org.eclipse.sdk.examples/plugin.properties b/bundles/org.eclipse.sdk.examples/plugin.properties
deleted file mode 100644
index 013c3d52..00000000
--- a/bundles/org.eclipse.sdk.examples/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Eclipse SDK Examples
-providerName=Eclipse.org
diff --git a/bundles/org.eclipse.sdk.examples/pom.xml b/bundles/org.eclipse.sdk.examples/pom.xml
deleted file mode 100644
index a60db01a..00000000
--- a/bundles/org.eclipse.sdk.examples/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012, 2017 Eclipse Foundation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>eclipse.platform.releng</groupId>
- <artifactId>eclipse.platform.releng</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.sdk</groupId>
- <artifactId>org.eclipse.sdk.examples</artifactId>
- <packaging>eclipse-plugin</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-packaging-plugin</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <format>'v${buildTimestamp}'</format>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/bundles/org.eclipse.sdk.tests/.project b/bundles/org.eclipse.sdk.tests/.project
deleted file mode 100644
index 4dd55e8f..00000000
--- a/bundles/org.eclipse.sdk.tests/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.sdk.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.sdk.tests/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.sdk.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/bundles/org.eclipse.sdk.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.sdk.tests/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.sdk.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d..00000000
--- a/bundles/org.eclipse.sdk.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/bundles/org.eclipse.sdk.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.sdk.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index b6c21cc7..00000000
--- a/bundles/org.eclipse.sdk.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Tests
-Bundle-SymbolicName: org.eclipse.sdk.tests; singleton:=true
-Bundle-Version: 4.23.0.qualifier
-Eclipse-BundleShape: dir
-
diff --git a/bundles/org.eclipse.sdk.tests/about.html b/bundles/org.eclipse.sdk.tests/about.html
deleted file mode 100644
index 164f781a..00000000
--- a/bundles/org.eclipse.sdk.tests/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- (&quot;Content&quot;). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- (&quot;Redistributor&quot;) and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.sdk.tests/about.ini b/bundles/org.eclipse.sdk.tests/about.ini
deleted file mode 100644
index b26762ac..00000000
--- a/bundles/org.eclipse.sdk.tests/about.ini
+++ /dev/null
@@ -1,27 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
diff --git a/bundles/org.eclipse.sdk.tests/about.mappings b/bundles/org.eclipse.sdk.tests/about.mappings
deleted file mode 100644
index 515397ac..00000000
--- a/bundles/org.eclipse.sdk.tests/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=${buildId}
diff --git a/bundles/org.eclipse.sdk.tests/about.properties b/bundles/org.eclipse.sdk.tests/about.properties
deleted file mode 100644
index 62a77283..00000000
--- a/bundles/org.eclipse.sdk.tests/about.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2021 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Eclipse SDK Tests\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2021. All rights reserved.\n\
-Visit http://www.eclipse.org/eclipse
-
diff --git a/bundles/org.eclipse.sdk.tests/build.properties b/bundles/org.eclipse.sdk.tests/build.properties
deleted file mode 100644
index 7dae64cf..00000000
--- a/bundles/org.eclipse.sdk.tests/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- eclipse32.png,\
- plugin.properties,\
- META-INF/
diff --git a/bundles/org.eclipse.sdk.tests/eclipse32.png b/bundles/org.eclipse.sdk.tests/eclipse32.png
deleted file mode 100644
index bf856800..00000000
--- a/bundles/org.eclipse.sdk.tests/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.sdk.tests/forceQualifierUpdate.txt b/bundles/org.eclipse.sdk.tests/forceQualifierUpdate.txt
deleted file mode 100644
index 739ca9c6..00000000
--- a/bundles/org.eclipse.sdk.tests/forceQualifierUpdate.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-# To force a version qualifier update add the bug here
-Bug 403352 - Update all parent versions to match our build stream
-Bug 480835 - Failures in build due to changes not being picked up by tests
-Bug 566156 - 4.17 I-Build: I20200818-0600 - BUILD FAILED
-4.20 I-Build: I20210518-0600 - BUILD FAILED \ No newline at end of file
diff --git a/bundles/org.eclipse.sdk.tests/plugin.properties b/bundles/org.eclipse.sdk.tests/plugin.properties
deleted file mode 100644
index 1fc36ef9..00000000
--- a/bundles/org.eclipse.sdk.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Eclipse SDK Tests
-providerName=Eclipse.org
diff --git a/bundles/org.eclipse.sdk.tests/pom.xml b/bundles/org.eclipse.sdk.tests/pom.xml
deleted file mode 100644
index c48ea997..00000000
--- a/bundles/org.eclipse.sdk.tests/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012 Eclipse Foundation.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>eclipse.platform.releng</groupId>
- <artifactId>eclipse.platform.releng</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.sdk</groupId>
- <artifactId>org.eclipse.sdk.tests</artifactId>
- <packaging>eclipse-plugin</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-packaging-plugin</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <format>'v${buildTimestamp}'</format>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/bundles/org.eclipse.test.performance.win32/.project b/bundles/org.eclipse.test.performance.win32/.project
deleted file mode 100644
index 4923750c..00000000
--- a/bundles/org.eclipse.test.performance.win32/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.test.performance.win32</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.test.performance.win32/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.test.performance.win32/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/bundles/org.eclipse.test.performance.win32/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.test.performance.win32/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.test.performance.win32/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d..00000000
--- a/bundles/org.eclipse.test.performance.win32/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/bundles/org.eclipse.test.performance.win32/META-INF/MANIFEST.MF b/bundles/org.eclipse.test.performance.win32/META-INF/MANIFEST.MF
deleted file mode 100644
index ff254e93..00000000
--- a/bundles/org.eclipse.test.performance.win32/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.test.performance.win32
-Bundle-Version: 3.1.500.qualifier
-Bundle-Vendor: %Plugin.providerName
-Fragment-Host: org.eclipse.test.performance;bundle-version="[3.1.0,4.0.0)"
-Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.test.performance.win32/about.html b/bundles/org.eclipse.test.performance.win32/about.html
deleted file mode 100644
index 164f781a..00000000
--- a/bundles/org.eclipse.test.performance.win32/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- (&quot;Content&quot;). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- (&quot;Redistributor&quot;) and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.test.performance.win32/build.properties b/bundles/org.eclipse.test.performance.win32/build.properties
deleted file mode 100644
index 3a436209..00000000
--- a/bundles/org.eclipse.test.performance.win32/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2007 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-bin.includes = os/,\
- about.html,\
- META-INF/,\
- plugin.properties
-
-
diff --git a/bundles/org.eclipse.test.performance.win32/forceQualifierUpdate.txt b/bundles/org.eclipse.test.performance.win32/forceQualifierUpdate.txt
deleted file mode 100644
index 56f1032a..00000000
--- a/bundles/org.eclipse.test.performance.win32/forceQualifierUpdate.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# To force a version qualifier update add the bug here
-Bug 403352 - Update all parent versions to match our build stream
diff --git a/bundles/org.eclipse.test.performance.win32/os/win32/x86_64/ivjperf.dll b/bundles/org.eclipse.test.performance.win32/os/win32/x86_64/ivjperf.dll
deleted file mode 100644
index aeb32d7a..00000000
--- a/bundles/org.eclipse.test.performance.win32/os/win32/x86_64/ivjperf.dll
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.test.performance.win32/plugin.properties b/bundles/org.eclipse.test.performance.win32/plugin.properties
deleted file mode 100644
index c8adc799..00000000
--- a/bundles/org.eclipse.test.performance.win32/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-Plugin.name= Performance Monitor for Windows
-Plugin.providerName= Eclipse.org
diff --git a/bundles/org.eclipse.test.performance.win32/pom.xml b/bundles/org.eclipse.test.performance.win32/pom.xml
deleted file mode 100644
index c4a162cd..00000000
--- a/bundles/org.eclipse.test.performance.win32/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012 Eclipse Foundation.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>eclipse.platform.releng</groupId>
- <artifactId>eclipse.platform.releng</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.test</groupId>
- <artifactId>org.eclipse.test.performance.win32</artifactId>
- <version>3.1.500-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <configuration>
- <environments>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86_64</arch>
- </environment>
- </environments>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/bundles/org.eclipse.test.performance.win32/src/build.bat b/bundles/org.eclipse.test.performance.win32/src/build.bat
deleted file mode 100644
index ed2f0e43..00000000
--- a/bundles/org.eclipse.test.performance.win32/src/build.bat
+++ /dev/null
@@ -1,15 +0,0 @@
-@echo off
-if '%1' == '?' goto help
-if not '%BATLST%' == '' echo on
-rem - build - Build the program
-
-del ivjperf.h
-call javah.exe -classpath "z:\jars\perfmsr.jar" -jni -o ivjperf.h org.eclipse.perfmsr.core.PerformanceMonitor
-echo After running this step you still need to do a build inside of VC
-@goto exit
-
-:help
-echo Build the program
-goto exit
-
-:exit \ No newline at end of file
diff --git a/bundles/org.eclipse.test.performance.win32/src/ivjperf.c b/bundles/org.eclipse.test.performance.win32/src/ivjperf.c
deleted file mode 100644
index 32ead06c..00000000
--- a/bundles/org.eclipse.test.performance.win32/src/ivjperf.c
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- This DLL provides some native utility methods for the Performance Plugin.
-
- 2003/07/08 - I tried providing my own replacement to GetPerformanceInfo by calling pdhopenquery()
- but wsad always crashed when I shut it down, so I backed off (at least for now) and simply return
- a function not available return code. At some later point in time you can go back in VSS and restore
- that code and try again.
- */
-
-#include <windows.h>
-#include <wincon.h>
-#include <psapi.h>
-
-#include "ivjperf.h"
-
-enum loadStatusType {unknown, loaded, notFound} loadStatus = unknown, loadHandleCount = unknown;
-
-// loadStatusType loadStatus;
-
-// depending on the OS (NT4/W2k or XP) we use different functions
-typedef BOOL WINAPI _GPI(PPERFORMACE_INFORMATION pPerformanceInformation, DWORD cb);
-
-_GPI* gpGetPerformanceInfo = NULL; // this is our function pointer
-
-typedef BOOL WINAPI _GPHC(HANDLE hProcess, PDWORD count);
-_GPHC* gpGetProcessHandleCount = NULL;
-
-
-/*
- A helper function that makes it easier to throw exceptions.
-*/
-void throwException(JNIEnv * jniEnv, char* details)
-{
- jclass exceptionClass;
-
- exceptionClass = (*jniEnv)->FindClass(jniEnv, "java/lang/IllegalArgumentException");
- if (exceptionClass == 0)
- {
- printf("Could not find the exception class I have to give up");
- return;
- }
- (*jniEnv)->ThrowNew(jniEnv, exceptionClass, details);
- return;
-
-}
-
-/*
- A helper function that throws an exception that tells us a function is not supported
-*/
-void throwUnsupported(JNIEnv * jniEnv, char* details)
-{
- jclass exceptionClass;
-
- exceptionClass = (*jniEnv)->FindClass(jniEnv, "java/lang/UnsupportedOperationException");
- if (exceptionClass == 0)
- {
- printf("Could not find the UnsupportedOperationException class I have to give up");
- return;
- }
- (*jniEnv)->ThrowNew(jniEnv, exceptionClass, details);
- return;
-
-}
-
-/*
- A helper method that makes it easier to handle errors. If a windows
- error is encountered, then a RuntimeException is thrown.
-*/
-void handleSystemError(JNIEnv * jniEnv)
-{
- jclass exceptionClass;
- LPVOID lpMsgBuf;
-
- if (!FormatMessage(
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- GetLastError(),
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
- (LPTSTR) &lpMsgBuf,
- 0,
- NULL ))
- {
- // I give up
- return;
- }
-
- exceptionClass = (*jniEnv)->FindClass(jniEnv, "java/lang/RuntimeException");
- (*jniEnv)->ThrowNew(jniEnv, exceptionClass, lpMsgBuf);
- LocalFree( lpMsgBuf );
-}
-
-/*
- Determine if you can (or have) loaded the GetPerformanceInfo function. Set the global variable
- loadStatus with your determination.
-*/
-void checkGetPerformanceInfo(JNIEnv * jniEnv)
-{
- if (loadStatus == unknown)
- {
- HMODULE psapiHandle = LoadLibraryA("PSAPI.dll");
- if (psapiHandle == NULL)
- {
- loadStatus = notFound;
- throwUnsupported(jniEnv, "Could not load psapi.dll");
- return;
- }
- gpGetPerformanceInfo = (_GPI*)GetProcAddress(psapiHandle, "GetPerformanceInfo");
-
- if(gpGetPerformanceInfo == NULL)loadStatus = notFound;
- else loadStatus = loaded;
- }
-}
-
-/*
- If you can answer the total amount of committed memory (for the entire machine). If you can't
- figure this out then return -1.
-*/
-jlong getTotalCommitted(JNIEnv * jniEnv)
-{
- BOOL rc;
- jlong result = -1;
- PERFORMACE_INFORMATION pi;
-
- checkGetPerformanceInfo(jniEnv);
- if (loadStatus == loaded)
- {
- rc = (gpGetPerformanceInfo)(&pi, sizeof(pi));
- if (!rc)handleSystemError(jniEnv);
- else result = pi.CommitTotal * pi.PageSize;
- }
- return result;
-}
-
-/*
- Answer the number of open handles in the process. If you can't get this information return -1.
-*/
-jlong getHandleCount(JNIEnv * jniEnv, HANDLE me)
-{
- jlong result = -1;
- DWORD handleCount;
-
- if (loadHandleCount == unknown)
- {
- HMODULE kernel32 = LoadLibraryA("kernel32.dll");
- if (kernel32 == NULL)
- {
- loadHandleCount = notFound;
- throwUnsupported(jniEnv, "Could not load kernel32.dll");
- }
- else
- {
- gpGetProcessHandleCount = (_GPHC*)GetProcAddress(kernel32, "GetProcessHandleCount");
-
- if(gpGetProcessHandleCount == NULL)loadHandleCount = notFound;
- else loadHandleCount = loaded;
- }
- }
-
- if (loadHandleCount == loaded)
- {
- (gpGetProcessHandleCount)(me, &handleCount);
- result = handleCount;
- }
- return result;
-}
-
-/*
- The following block is copied from the Java source code. It documents the counters array.
-
- * @param counters the results are returned in this array.
- * <ol>
- * <li>working set in bytes for this process
- * <li>peak working set in bytes for this process
- * <li>elapsed time in milliseconds
- * <li>user time in milliseconds
- * <li>kernel time in milliseconds
- * <li>page faults for the process
- * <li>commit charge total in bytes (working set for the entire machine). On some
- * machines we have problems getting this value so we return -1 in that case.
- * <li>number of GDI objects in the process
- * <li>number of USER objects in the process
- * <li>number of open handles in the process. returns -1 if this information is not available
- * <li>Number of read operations
- * <li>Number of write operations
- * <li>Number of bytes read
- * <li>Number of bytes written
- * </ol>
-
-*/
-JNIEXPORT jboolean JNICALL Java_org_eclipse_perfmsr_core_PerformanceMonitor_nativeGetPerformanceCounters
- (JNIEnv * jniEnv, jclass jniClass, jlongArray counters)
-{
- FILETIME creationTime, exitTime, kernelTime, userTime, systemTime;
- ULARGE_INTEGER uliCreation, uliSystem, uliKernel, uliUser;
- ULONGLONG diff;
- IO_COUNTERS ioCounters;
-
- jboolean result = TRUE;
- jsize len = (*jniEnv)->GetArrayLength(jniEnv, counters);
- jlong *body = (*jniEnv)->GetLongArrayElements(jniEnv, counters, 0);
- HANDLE me = GetCurrentProcess();
- PROCESS_MEMORY_COUNTERS memCounters;
- DWORD cb = sizeof(PROCESS_MEMORY_COUNTERS);
- BOOL rc = GetProcessMemoryInfo(me, &memCounters, cb);
- if (rc != 0)
- {
- body[0] = memCounters.WorkingSetSize;
- body[1] = memCounters.PeakWorkingSetSize;
- body[5] = memCounters.PageFaultCount;
- }
- else
- {
- handleSystemError(jniEnv);
- return FALSE;
- }
-
- if (!GetProcessTimes(me, &creationTime, &exitTime, &kernelTime, &userTime))
- {
- handleSystemError(jniEnv);
- return FALSE;
- }
- GetSystemTimeAsFileTime(&systemTime);
-
- memcpy(&uliCreation, &creationTime, sizeof(uliCreation));
- memcpy(&uliSystem, &systemTime, sizeof(uliSystem));
- memcpy(&uliKernel, &kernelTime, sizeof(uliSystem));
- memcpy(&uliUser, &userTime, sizeof(ULARGE_INTEGER));
- diff = uliSystem.QuadPart - uliCreation.QuadPart;
- body[2] = diff / 10000;
- body[3] = uliUser.QuadPart / 10000;
- body[4] = uliKernel.QuadPart / 10000;
- body[6] = getTotalCommitted(jniEnv);
-
- body[7] = GetGuiResources(me, GR_GDIOBJECTS);
- body[8] = GetGuiResources(me, GR_USEROBJECTS);
- body[9] = getHandleCount(jniEnv, me);
-
- if (!GetProcessIoCounters(me, &ioCounters))
- {
- handleSystemError(jniEnv);
- return FALSE;
- }
- body[10] = ioCounters.ReadOperationCount;
- body[11] = ioCounters.WriteOperationCount;
- body[12] = ioCounters.ReadTransferCount;
- body[13] = ioCounters.WriteTransferCount;
-
- (*jniEnv)->ReleaseLongArrayElements(jniEnv, counters, body, 0);
-
- return result;
-}
-
-JNIEXPORT jstring JNICALL Java_org_eclipse_perfmsr_core_PerformanceMonitor_nativeGetUUID
- (JNIEnv * jniEnv, jclass jniClass)
-{
- UUID uuid;
- unsigned char* uuidStr;
- jstring result;
-
- UuidCreate(&uuid);
- UuidToString(&uuid, &uuidStr);
-
- result = (*jniEnv)->NewStringUTF(jniEnv, uuidStr);
- RpcStringFree(&uuidStr);
-
- return result;
-}
-
-
-JNIEXPORT void JNICALL Java_org_eclipse_perfmsr_core_PerformanceMonitor_nativeGetPerformanceInfo
- (JNIEnv * jniEnv, jclass jniClass, jlongArray counters)
-{
- jlong *body;
- BOOL rc;
- PERFORMACE_INFORMATION pi;
-
- jsize len = (*jniEnv)->GetArrayLength(jniEnv, counters);
-
- if (len != 13)
- {
- throwException(jniEnv, "Wrong number of elements in array, 13 are expected");
- return;
- }
-
- checkGetPerformanceInfo(jniEnv);
- if (loadStatus == notFound)
- {
- throwUnsupported(jniEnv, "The GetPerformanceInfo() function is not available");
- return;
- }
-
- body = (*jniEnv)->GetLongArrayElements(jniEnv, counters, 0);
-
- rc = (gpGetPerformanceInfo)(&pi, sizeof(pi));
- if (!rc)
- {
- handleSystemError(jniEnv);
- return;
- }
-
- body[0] = pi.CommitTotal;
- body[1] = pi.CommitLimit;
- body[2] = pi.CommitPeak;
- body[3] = pi.PhysicalTotal;
- body[4] = pi.PhysicalAvailable;
- body[5] = pi.SystemCache;
- body[6] = pi.KernelTotal;
- body[7] = pi.KernelPaged;
- body[8] = pi.KernelNonpaged;
- body[9] = pi.PageSize;
- body[10] = pi.HandleCount;
- body[11] = pi.ProcessCount;
- body[12] = pi.ThreadCount;
-
- (*jniEnv)->ReleaseLongArrayElements(jniEnv, counters, body, 0);
-
-}
-
diff --git a/bundles/org.eclipse.test.performance.win32/src/ivjperf.h b/bundles/org.eclipse.test.performance.win32/src/ivjperf.h
deleted file mode 100644
index c7173b85..00000000
--- a/bundles/org.eclipse.test.performance.win32/src/ivjperf.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class org_eclipse_perfmsr_core_PerformanceMonitor */
-
-#ifndef _Included_org_eclipse_perfmsr_core_PerformanceMonitor
-#define _Included_org_eclipse_perfmsr_core_PerformanceMonitor
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* Inaccessible static: _debug */
-/* Inaccessible static: _isLoaded */
-#undef org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_ELASPED_IDX
-#define org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_ELASPED_IDX 2L
-#undef org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_USER_TIME_IDX
-#define org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_USER_TIME_IDX 3L
-#undef org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_KERNEL_TIME_IDX
-#define org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_KERNEL_TIME_IDX 4L
-#undef org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_COMMITTED_IDX
-#define org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_COMMITTED_IDX 6L
-#undef org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_OPEN_HANDLES_IDX
-#define org_eclipse_perfmsr_core_PerformanceMonitor_WHAT_OPEN_HANDLES_IDX 9L
-/* Inaccessible static: _df */
-/* Inaccessible static: _map */
-/*
- * Class: org_eclipse_perfmsr_core_PerformanceMonitor
- * Method: nativeGetPerformanceInfo
- * Signature: ([J)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_perfmsr_core_PerformanceMonitor_nativeGetPerformanceInfo
- (JNIEnv *, jclass, jlongArray);
-
-/*
- * Class: org_eclipse_perfmsr_core_PerformanceMonitor
- * Method: nativeGetPerformanceCounters
- * Signature: ([J)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_perfmsr_core_PerformanceMonitor_nativeGetPerformanceCounters
- (JNIEnv *, jclass, jlongArray);
-
-/*
- * Class: org_eclipse_perfmsr_core_PerformanceMonitor
- * Method: nativeGetUUID
- * Signature: ()Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_org_eclipse_perfmsr_core_PerformanceMonitor_nativeGetUUID
- (JNIEnv *, jclass);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/bundles/org.eclipse.test.performance.win32/src/resource.h b/bundles/org.eclipse.test.performance.win32/src/resource.h
deleted file mode 100644
index 71b67483..00000000
--- a/bundles/org.eclipse.test.performance.win32/src/resource.h
+++ /dev/null
@@ -1,14 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by ivjperf.rc
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1001
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/bundles/org.eclipse.test.performance/.classpath b/bundles/org.eclipse.test.performance/.classpath
deleted file mode 100644
index b14a53c5..00000000
--- a/bundles/org.eclipse.test.performance/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
- <attributes>
- <attribute name="module" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.test.performance/.project b/bundles/org.eclipse.test.performance/.project
deleted file mode 100644
index 1f09a580..00000000
--- a/bundles/org.eclipse.test.performance/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.test.performance</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.test.performance/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.test.performance/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/bundles/org.eclipse.test.performance/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.test.performance/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.test.performance/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d..00000000
--- a/bundles/org.eclipse.test.performance/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/bundles/org.eclipse.test.performance/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.test.performance/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d61d9e9a..00000000
--- a/bundles/org.eclipse.test.performance/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,456 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=info
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disable
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=info
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=info
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=11
-org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=true
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=1
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
-org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=17
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=1
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line_on_wrap
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=132
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=true
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=256
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=false
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/bundles/org.eclipse.test.performance/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.test.performance/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 3919f5b9..00000000
--- a/bundles/org.eclipse.test.performance/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,123 +0,0 @@
-cleanup.add_default_serial_version_id=false
-cleanup.add_generated_serial_version_id=true
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=true
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=true
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=true
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=true
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=false
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=false
-cleanup.remove_unused_private_members=true
-cleanup.remove_unused_private_methods=false
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=true
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_type_arguments=false
-cleanup_profile=_Eclipse Releng
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Eclipse Releng
-formatter_settings_version=12
-internal.default.compliance=default
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=true
-sp_cleanup.convert_to_enhanced_for_loop=true
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=true
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=true
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=true
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.test.performance/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.test.performance/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index ba85338b..00000000
--- a/bundles/org.eclipse.test.performance/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=0
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=0
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.test.performance/META-INF/MANIFEST.MF b/bundles/org.eclipse.test.performance/META-INF/MANIFEST.MF
deleted file mode 100644
index 9be90f72..00000000
--- a/bundles/org.eclipse.test.performance/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.test.performance
-Bundle-Version: 3.18.0.qualifier
-Bundle-Activator: org.eclipse.test.internal.performance.PerformanceTestPlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.perfmsr.core,
- org.eclipse.test,
- org.eclipse.test.internal;x-internal:=true,
- org.eclipse.test.internal.performance,
- org.eclipse.test.internal.performance.data,
- org.eclipse.test.internal.performance.db,
- org.eclipse.test.internal.performance.eval,
- org.eclipse.test.internal.performance.tests,
- org.eclipse.test.performance
-Require-Bundle: org.eclipse.core.runtime,
- org.junit,
- org.junit.jupiter.api
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-RequiredExecutionEnvironment: JavaSE-11
-Automatic-Module-Name: org.eclipse.test.performance
diff --git a/bundles/org.eclipse.test.performance/about.html b/bundles/org.eclipse.test.performance/about.html
deleted file mode 100644
index 164f781a..00000000
--- a/bundles/org.eclipse.test.performance/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- (&quot;Content&quot;). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- (&quot;Redistributor&quot;) and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.test.performance/build.properties b/bundles/org.eclipse.test.performance/build.properties
deleted file mode 100644
index 2b8e8a77..00000000
--- a/bundles/org.eclipse.test.performance/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-bin.includes = .,\
- plugin.properties,\
- about.html,\
- META-INF/
-
-source.. = src/
-src.includes = about.html
diff --git a/bundles/org.eclipse.test.performance/forceQualifierUpdate.txt b/bundles/org.eclipse.test.performance/forceQualifierUpdate.txt
deleted file mode 100644
index bdbde485..00000000
--- a/bundles/org.eclipse.test.performance/forceQualifierUpdate.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-# To force a version qualifier update add the bug here
-Bug 403352 - Update all parent versions to match our build stream
-Bug 485498 - Add generics to org.eclipse.test.performance
-Bug 534597 - Unanticipated comparator errors in I20180511-2000 \ No newline at end of file
diff --git a/bundles/org.eclipse.test.performance/plugin.properties b/bundles/org.eclipse.test.performance/plugin.properties
deleted file mode 100644
index 41d78497..00000000
--- a/bundles/org.eclipse.test.performance/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-Plugin.name= Performance Test Plug-in
-Plugin.providerName= Eclipse.org
diff --git a/bundles/org.eclipse.test.performance/pom.xml b/bundles/org.eclipse.test.performance/pom.xml
deleted file mode 100644
index 71844610..00000000
--- a/bundles/org.eclipse.test.performance/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012, 2017 Eclipse Foundation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>eclipse.platform.releng</groupId>
- <artifactId>eclipse.platform.releng</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.test</groupId>
- <artifactId>org.eclipse.test.performance</artifactId>
- <version>3.18.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
- <properties>
- <code.ignoredWarnings>-warn:-deprecation,unavoidableGenericProblems,raw,unchecked</code.ignoredWarnings>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <configuration>
- <dependency-resolution>
- <optionalDependencies>ignore</optionalDependencies>
- <extraRequirements>
- <requirement>
- <type>eclipse-plugin</type>
- <id>org.eclipse.core.jobs</id>
- <versionRange>0.0.0</versionRange>
- </requirement>
- </extraRequirements>
- </dependency-resolution>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/bundles/org.eclipse.test.performance/scripts/exportplugin.xml b/bundles/org.eclipse.test.performance/scripts/exportplugin.xml
deleted file mode 100644
index 03a67bf3..00000000
--- a/bundles/org.eclipse.test.performance/scripts/exportplugin.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- build script to create a plugin from ${plugin} -->
-<project name="${plugin}" default="export plug-in [_3.5.0]" basedir="..">
-
- <target name="export plug-in [_3.5.0]">
- <tstamp/>
- <antcall target="zz_internal_export">
- <param name="test_performance_version" value="3.5.0"/>
- </antcall>
- </target>
- <target name="export plug-in [_3.4.0]">
- <tstamp/>
- <antcall target="zz_internal_export">
- <param name="test_performance_version" value="3.4.0"/>
- </antcall>
- </target>
-<target name="export plug-in [_3.4.0.qualifier] (binary only)">
- <tstamp/>
- <property name="qualifier" value="${DSTAMP}${TSTAMP}" />
- <antcall target="zz_internal_export_binary_only">
- <param name="test_performance_version" value="3.4.0.${qualifier}"/>
- </antcall>
-</target>
-<target name="export plug-in [_3.4.0.qualifier] (with sources)">
- <tstamp/>
- <property name="qualifier" value="${DSTAMP}${TSTAMP}" />
- <antcall target="zz_internal_export">
- <param name="test_performance_version" value="3.4.0.${qualifier}"/>
- </antcall>
-</target>
-
-<target name="zz_internal_export">
-
- <tstamp/>
- <property name="export-dir" value="./org.eclipse.releng.basebuilder/plugins" />
- <property name="plugin" value="org.eclipse.test.performance" />
- <property name="plugin-dir" value="${export-dir}/${plugin}_${test_performance_version}"/>
-
- <echo message="TARGET: ${export-dir}" />
- <mkdir dir="${export-dir}" />
-
- <echo message="UPDATE ${plugin}_${test_performance_version}.jar" />
- <copy todir="${plugin}/META-INF">
- <fileset dir="META-INF" />
- </copy>
- <replaceregexp file="${export-dir}/META-INF/MANIFEST.MF" match="Bundle-Version: ((\d)+\.(\d)+\.(\d)+\.)qualifier" replace="Bundle-Version: \1${qualifier}" byline="true" />
- <zip zipfile="${export-dir}/${plugin}_${test_performance_version}.jar">
- <fileset dir=".">
- <include name="plugin.xml" />
- <include name="plugin.properties" />
- <include name="about.html"/>
- </fileset>
- <fileset dir="${export-dir}">
- <include name="META-INF/**" />
- </fileset>
- <fileset dir="bin" />
- <zipfileset dir="src" prefix="src"/>
- </zip>
- <delete dir="${export-dir}/META-INF" />
-
-</target>
-
-<target name="zz_internal_export_binary_only">
-
- <tstamp/>
- <property name="export-dir" value="../org.eclipse.releng.basebuilder/plugins" />
- <property name="plugin" value="org.eclipse.test.performance" />
- <property name="plugin-dir" value="${export-dir}/${plugin}_${test_performance_version}"/>
-
- <echo message="TARGET: ${export-dir}" />
- <mkdir dir="${export-dir}" />
-
- <echo message="UPDATE ${plugin}_${test_performance_version}.jar" />
- <copy todir="${export-dir}/META-INF">
- <fileset dir="META-INF" />
- </copy>
- <replaceregexp file="${export-dir}/META-INF/MANIFEST.MF" match="Bundle-Version: ((\d)+\.(\d)+\.(\d)+\.)qualifier" replace="Bundle-Version: \1${qualifier}" byline="true" />
- <zip zipfile="${export-dir}/${plugin}_${test_performance_version}.jar">
- <fileset dir=".">
- <include name="plugin.xml" />
- <include name="plugin.properties" />
- <include name=".options"/>
- <include name="about.html"/>
- </fileset>
- <fileset dir="${export-dir}">
- <include name="META-INF/**" />
- </fileset>
- <fileset dir="bin" />
- </zip>
- <delete dir="${export-dir}/META-INF" />
-
-</target>
-
-</project>
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/perfmsr/core/PerformanceMonitor.java b/bundles/org.eclipse.test.performance/src/org/eclipse/perfmsr/core/PerformanceMonitor.java
deleted file mode 100644
index 44f261f0..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/perfmsr/core/PerformanceMonitor.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.perfmsr.core;
-
-/**
- * Some natives for PerformanceMonitorWindows. (We cannot fold them into the PerformanceMonitorWindows because this would break the
- * natives and we don't want to rebuild them yet).
- */
-public class PerformanceMonitor {
-
- /**
- * ivjperf - name of the library that implements the native methods.
- */
- private static final String NATIVE_LIBRARY_NAME = "ivjperf"; //$NON-NLS-1$
-
- /**
- * Is the native library loaded? 0-don't know, 1-no, 2-yes
- */
- private static int fgIsLoaded = 0;
-
- /**
- * Answer true if the native library for this class has been successfully loaded. If the load has not been attempted yet, try to
- * load it.
- *
- * @return true if native library has been successfully loaded
- */
- public static boolean isLoaded() {
- if (fgIsLoaded == 0) {
- try {
- System.loadLibrary(NATIVE_LIBRARY_NAME);
- fgIsLoaded = 2;
- }
- catch (Throwable e) {
- e.printStackTrace();
- fgIsLoaded = 1;
- }
- }
- return fgIsLoaded == 2;
- }
-
- /**
- * Calls the Windows GetPerformanceInfo function
- *
- * @param counters
- * any array of counters that corresponds to the Windows PERFORMANCE_INFORMATION structure.
- */
- public static native void nativeGetPerformanceInfo(long[] counters);
-
- public static native boolean nativeGetPerformanceCounters(long[] counters);
-
- public static native String nativeGetUUID();
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/OrderedTestSuite.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/OrderedTestSuite.java
deleted file mode 100644
index 2911f10f..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/OrderedTestSuite.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2020 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test;
-
-import java.io.BufferedInputStream;
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- * Test suite with user-specified test order (fails if not all test methods are listed) or bytecode declaration order.
- *
- * <p>
- * <b>Background:</b> {@link java.lang.Class#getDeclaredMethods()} does not specify the order of the methods. Up to Java SE 6, the
- * methods were usually sorted in declaration order, but in Java SE 7 and later, the order is random. This class guarantees reliable
- * test execution order even for questionable VM implementations.
- * </p>
- *
- * @since 3.8
- */
-public class OrderedTestSuite extends TestSuite {
-
- /**
- * Creates a new ordered test suite that runs tests in the specified execution order.
- *
- * @param testClass
- * the JUnit-3-style test class
- * @param testMethods
- * the names of all test methods in the expected execution order
- */
- public OrderedTestSuite(final Class<? extends TestCase> testClass, String[] testMethods) {
- super(testClass.getName());
-
- Set<String> existingMethods = new HashSet<>();
- Method[] methods = testClass.getMethods(); // just public member methods
- for (Method method : methods) {
- existingMethods.add(method.getName());
- }
-
- for (final String testMethod : testMethods) {
- if (existingMethods.remove(testMethod)) {
- addTest(createTest(testClass, testMethod));
- } else {
- addTest(error(testClass, testMethod, new IllegalArgumentException("Class '" + testClass.getName() + " misses test method '" + testMethod + "'."))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- for (String existingMethod : existingMethods) {
- if (existingMethod.startsWith("test")) { //$NON-NLS-1$
- addTest(error(testClass, existingMethod, new IllegalArgumentException("Test method '" + existingMethod + "' not listed in OrderedTestSuite of class '" + testClass.getName() + "'."))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- }
-
- /**
- * Creates a new test suite that runs tests in bytecode declaration order.
- *
- * @param testClass
- * the JUnit-3-style test class
- * @since 3.9
- */
- public OrderedTestSuite(Class<? extends TestCase> testClass) {
- this(testClass, testClass.getName());
- }
-
- /**
- * Creates a new test suite that runs tests in bytecode declaration order.
- *
- * @param testClass
- * the JUnit-3-style test class
- * @param name
- * the name of the suite
- * @since 3.9
- */
- public OrderedTestSuite(Class<? extends TestCase> testClass, String name) {
- super(name);
-
- TestSuite vmOrderSuite = new TestSuite(testClass);
- ArrayList<Test> tests = Collections.list(vmOrderSuite.tests());
-
- class SortingException extends RuntimeException {
-
- private static final long serialVersionUID = 1L;
-
- public SortingException(String message) {
- super(message);
- }
- }
-
- try {
- final List<String> orderedMethodNames = getBytecodeOrderedTestNames(testClass);
- tests.sort((o1, o2) -> {
- if (o1 instanceof TestCase && o2 instanceof TestCase) {
- TestCase t1 = (TestCase) o1;
- TestCase t2 = (TestCase) o2;
- int i1 = orderedMethodNames.indexOf(t1.getName());
- int i2 = orderedMethodNames.indexOf(t2.getName());
- if (i1 != -1 && i2 != -1)
- return i1 - i2;
- }
- throw new SortingException("suite failed to detect test order: " + o1 + ", " + o2); //$NON-NLS-1$ //$NON-NLS-2$
- });
- } catch (SortingException | IOException e) {
- addTest(error(testClass, "suite failed to detect test order", e)); //$NON-NLS-1$
- }
-
- for (Test test : tests) {
- addTest(test);
- }
- }
-
- /**
- * Returns the names of JUnit-3-style test cases declared in the given <code>testClass</code> and its superclasses, in bytecode
- * declaration order, listing test cases from a class before the non-overridden test cases from its superclass.
- *
- * @param testClass
- * the JUnit-3-style test class
- * @return a modifiable <code>List&lt;String&gt;</code> of test names in bytecode declaration order
- * @throws IOException
- * if an I/O error occurs.
- *
- * @since 3.10
- */
- public static List<String> getBytecodeOrderedTestNames(Class<? extends TestCase> testClass) throws IOException {
- ArrayList<String> orderedMethodNames = new ArrayList<>();
- Class<?> c = testClass;
- while (Test.class.isAssignableFrom(c)) {
- addDeclaredTestMethodNames(c, orderedMethodNames);
- c = c.getSuperclass();
- }
- return orderedMethodNames;
- }
-
- private static void addDeclaredTestMethodNames(Class<?> c, ArrayList<String> methodNames) throws IOException {
- /*
- * XXX: This method needs to be updated if new constant pool tags are specified. Current supported major class file version:
- * 52 (Java SE 8).
- *
- * See JVMS 8, 4.4 The Constant Pool.
- */
- String className = c.getName();
- int lastDot = className.lastIndexOf("."); //$NON-NLS-1$
- if (lastDot != -1)
- className = className.substring(lastDot + 1);
- DataInputStream is = new DataInputStream(new BufferedInputStream(c.getResourceAsStream(className + ".class"))); //$NON-NLS-1$
- int magic = is.readInt();
- if (magic != 0xcafebabe)
- throw new IOException("bad magic bytes: 0x" + Integer.toHexString(magic)); //$NON-NLS-1$
- int minor = is.readUnsignedShort();
- int major = is.readUnsignedShort();
- int cpCount = is.readUnsignedShort();
- String[] constantPoolStrings = new String[cpCount];
- for (int i = 1; i < cpCount; i++) {
-
- byte tag = is.readByte();
- switch (tag) {
- case 7: // CONSTANT_Class
- skip(is, 2);
- break;
- case 9: // CONSTANT_Fieldref
- case 10: // CONSTANT_Methodref
- case 11: // CONSTANT_InterfaceMethodref
- skip(is, 4);
- break;
- case 8: // CONSTANT_String
- skip(is, 2);
- break;
- case 3: // CONSTANT_Integer
- case 4: // CONSTANT_Float
- skip(is, 4);
- break;
- case 5: // CONSTANT_Long
- case 6: // CONSTANT_Double
- skip(is, 8);
- i++; // weird spec wants this
- break;
- case 12: // CONSTANT_NameAndType
- skip(is, 4);
- break;
- case 1: // CONSTANT_Utf8
- constantPoolStrings[i] = is.readUTF();
- break;
- case 15: // CONSTANT_MethodHandle
- skip(is, 3);
- break;
- case 16: // CONSTANT_MethodType
- skip(is, 2);
- break;
- case 18: // CONSTANT_InvokeDynamic
- skip(is, 4);
- break;
- default:
- throw new IOException("unknown constant pool tag " + tag + " at index " + i + ". Class file version: " + major + "." + minor); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- }
- skip(is, 2 * 3); // access_flags, this_class, super_class
- int interfacesCount = is.readUnsignedShort();
- skip(is, 2 * interfacesCount);
- int fieldsCount = is.readUnsignedShort();
- for (int i = 0; i < fieldsCount; i++) {
- skip(is, 2 * 3); // access_flags, name_index, descriptor_index
- int attributesCount = is.readUnsignedShort();
- for (int j = 0; j < attributesCount; j++) {
- skip(is, 2); // attribute_name_index
- long attInfoCount = readUnsignedInt(is);
- skip(is, attInfoCount);
- }
- }
-
- int methodsCount = is.readUnsignedShort();
- for (int i = 0; i < methodsCount; i++) {
- skip(is, 2); // access_flags
- int nameIndex = is.readUnsignedShort();
- int descIndex = is.readUnsignedShort();
- if ("()V".equals(constantPoolStrings[descIndex])) { //$NON-NLS-1$
- String name = constantPoolStrings[nameIndex];
- if (name.startsWith("test") && !methodNames.contains(name)) //$NON-NLS-1$
- methodNames.add(name);
- }
- int attributesCount = is.readUnsignedShort();
- for (int j = 0; j < attributesCount; j++) {
- skip(is, 2); // attribute_name_index
- long attInfoCount = readUnsignedInt(is);
- skip(is, attInfoCount);
- }
- }
- }
-
- private static void skip(DataInputStream is, long bytes) throws IOException {
- while (bytes > 0)
- bytes -= is.skip(bytes);
- if (bytes != 0)
- throw new IOException("error in skipping bytes: " + bytes); //$NON-NLS-1$
- }
-
- private static long readUnsignedInt(DataInputStream is) throws IOException {
- return is.readInt() & 0xFFFFffffL;
- }
-
- private static Test error(Class<? extends TestCase> testClass, String testMethod, Exception exception) {
- final Throwable e2 = exception.fillInStackTrace();
- return new TestCase(testMethod + "(" + testClass.getName() + ")") { //$NON-NLS-1$ //$NON-NLS-2$
-
- @Override
- protected void runTest() throws Throwable {
- throw e2;
- }
- };
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/Screenshots.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/Screenshots.java
deleted file mode 100644
index a385da8b..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/Screenshots.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.test;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.test.internal.AwtScreenshot;
-
-/**
- * Helper class to take screenshots from running tests.
- *
- * @since 3.13
- */
-public final class Screenshots {
-
- /**
- * Takes a screenshot and writes the path to the generated image file to System.out.
- * <p>
- * Workaround for missing {@link junit.framework.TestCase#getName()} in JUnit 4:
- * </p>
- *
- * <pre>
- * &#64;Rule
- * public TestName testName = new TestName();
- * </pre>
- *
- * @param testClass
- * test class that takes the screenshot
- * @param name
- * screenshot identifier (e.g. test name)
- * @return file system path to the screenshot file
- */
- public static String takeScreenshot(Class<?> testClass, String name) {
- File resultsDir = getResultsDirectory();
- String filename = new File(resultsDir.getAbsolutePath(), testClass.getName() + "." + name + ".png").getAbsolutePath();
- AwtScreenshot.dumpAwtScreenshot(filename);
- return filename;
- }
-
- /**
- * @return unspecified
- * @noreference This method is not intended to be referenced by clients.
- */
- public static File getResultsDirectory() {
- File resultsDir = getJunitReportOutput(); // ends up in testresults/linux.gtk.x86_6.0/<class>.<test>.png
-
- if (resultsDir == null) {
- File eclipseDir = new File("").getAbsoluteFile();
- if (isRunByGerritHudsonJob()) {
- resultsDir = new File(eclipseDir, "/../").getAbsoluteFile(); // ends up in the workspace root
- } else {
- resultsDir = new File(System.getProperty("java.io.tmpdir"));
- }
- }
-
- resultsDir.mkdirs();
- return resultsDir;
- }
-
- private static File getJunitReportOutput() {
- String[] args = Platform.getCommandLineArgs();
- for (int i = 0; i < args.length - 1; i++) {
- if ("-junitReportOutput".equals(args[i])) { // see library.xml and org.eclipse.test.EclipseTestRunner
- return new File(args[i + 1]).getAbsoluteFile();
- }
- }
- return null;
- }
-
- /**
- * @return unspecified
- * @noreference This method is not intended to be referenced by clients.
- */
- public static boolean isRunByGerritHudsonJob() {
- return System.getProperty("user.dir").matches(".*/(?:eclipse|rt\\.equinox)\\.[^/]+-Gerrit/.*");
- }
-
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/TracingSuite.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/TracingSuite.java
deleted file mode 100644
index 59398d27..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/TracingSuite.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2020 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.test;
-
-import java.io.PrintStream;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import java.lang.management.ManagementFactory;
-import java.lang.management.ThreadInfo;
-import java.lang.management.ThreadMXBean;
-import java.lang.reflect.InaccessibleObjectException;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.junit.runner.Description;
-import org.junit.runner.Result;
-import org.junit.runner.Runner;
-import org.junit.runner.notification.Failure;
-import org.junit.runner.notification.RunListener;
-import org.junit.runner.notification.RunNotifier;
-import org.junit.runner.notification.StoppedByUserException;
-import org.junit.runners.Suite;
-import org.junit.runners.model.InitializationError;
-import org.junit.runners.model.RunnerBuilder;
-
-/**
- * The {@code TracingSuite} runner behaves like a normal {@link Suite}, but additionally logs the
- * start of each atomic test contained in the suite to {@code System.out}, and it tries to collect
- * more information after a timeout.
- * <p>
- * For atomic tests that run longer than 10 minutes, it tries to take a stack trace and a screenshot,
- * and then it tries to throw an IllegalStateException in the "main" thread. The exact behavior can be
- * configured using the {@link TracingOptions} annotation.
- * <p>
- * Usage: Modify an existing JUnit 4 suite class, or create a new one like this:
- * <pre>
-{@literal @}RunWith(TracingSuite.class)
-{@literal @}SuiteClasses(MyTestClass.class)
-{@literal @}TracingOptions(stackDumpTimeoutSeconds = 5)
-public class TracingMyTestClass { }
-</pre>
- * Directly annotating an existing JUnit 4 class that contains atomic tests doesn't work (JUnit 4 design flaw).
- */
-public class TracingSuite extends Suite {
-
- /**
- * Configuration options for classes annotated with {@code @RunWith(TracingSuite.class)}.
- */
- @Retention(RetentionPolicy.RUNTIME)
- @Target(ElementType.TYPE)
- @Inherited
- public @interface TracingOptions {
-
- /**
- * @return true iff start times of atomic tests should be logged to {@code System.out}
- */
- public boolean logTestStart() default true;
-
- /**
- * @return the number of seconds after which a thread dump is initiated,
- * or 0 if no timer should be started
- */
- public long stackDumpTimeoutSeconds() default 10 * 60;
-
- /**
- * @return true iff the runner should try to throw an
- * {@link IllegalStateException} in the main thread after
- * writing a stack dump. This sometimes makes an program proceed
- * when the main thread was stuck in an endless loop.
- */
- public boolean throwExceptionInMainThread() default true;
-
- /**
- * @return the maximum number of screenshots that are taken
- */
- public int maxScreenshotCount() default 5;
- }
-
- private TracingOptions fTracingOptions;
-
- private class TracingRunNotifier extends RunNotifier {
- private RunNotifier fNotifier;
- private Timer fTimer = new Timer(true);
- private ConcurrentHashMap<Description, TimerTask> fRunningTests = new ConcurrentHashMap<>();
-
- public TracingRunNotifier(RunNotifier notifier) {
- fNotifier = notifier;
- }
-
- @Override
- public void addListener(RunListener listener) {
- fNotifier.addListener(listener);
- }
-
- @Override
- public void removeListener(RunListener listener) {
- fNotifier.removeListener(listener);
- }
-
- @Override
- public void fireTestRunStarted(Description description) {
- fNotifier.fireTestRunStarted(description);
- }
-
- @Override
- public void fireTestRunFinished(Result result) {
- fNotifier.fireTestRunFinished(result);
- }
-
- @Override
- public void fireTestStarted(Description description) throws StoppedByUserException {
- Date start = new Date();
- if (fTracingOptions.logTestStart()) {
- String message = format(start, description);
- System.out.println(message);
- }
-
- long seconds = fTracingOptions.stackDumpTimeoutSeconds();
- if (seconds != 0) {
- DumpTask task = new DumpTask(description);
- fRunningTests.put(description, task);
- fTimer.schedule(task, seconds * 1000);
- }
- fNotifier.fireTestStarted(description);
- }
-
- @Override
- public void fireTestFailure(Failure failure) {
- fNotifier.fireTestFailure(failure);
- }
-
- @Override
- public void fireTestAssumptionFailed(Failure failure) {
- fNotifier.fireTestAssumptionFailed(failure);
- }
-
- @Override
- public void fireTestIgnored(Description description) {
- fNotifier.fireTestIgnored(description);
- }
-
- @Override
- public void fireTestFinished(Description description) {
- TimerTask task = fRunningTests.remove(description);
- if (task != null) {
- task.cancel();
- }
- fNotifier.fireTestFinished(description);
- }
-
- @Override
- public void pleaseStop() {
- fNotifier.pleaseStop();
- }
-
- @Override
- public void addFirstListener(RunListener listener) {
- fNotifier.addFirstListener(listener);
- }
- }
-
- private class DumpTask extends TimerTask {
- private volatile int fScreenshotCount;
- private Description fDescription;
-
- public DumpTask(Description description) {
- fDescription = description;
- }
-
- @Override
- public void run() {
- // There are situation where a blocked main thread apparently also blocks output to
- // System.err. Try to dump to System.out first. If both dumps get through, the short
- // delay between the traces may even help identify threads that are still running.
- dumpStackTraces(System.out);
- try {
- Thread.sleep(100);
- } catch (InterruptedException e2) {
- // won't happen, continue
- }
- Thread main = dumpStackTraces(System.err);
-
- if (fScreenshotCount < fTracingOptions.maxScreenshotCount()) {
- String screenshotFile = Screenshots.takeScreenshot(TracingSuite.class, Integer.toString(fScreenshotCount++));
- System.err.println("Timeout screenshot saved to " + screenshotFile);
- }
-
- if (main != null && fTracingOptions.throwExceptionInMainThread()) {
- Throwable toThrow = new IllegalStateException("main thread killed by " + TracingSuite.class.getSimpleName() + " timeout");
- toThrow.initCause(new RuntimeException(toThrow.getMessage()));
- // Set the stack trace to that of the target thread.
- toThrow.setStackTrace(main.getStackTrace());
- // Thread#stop(Throwable) doesn't work any more in JDK 8. Try stop0:
- try {
- Method stop0 = Thread.class.getDeclaredMethod("stop0", Object.class);
- stop0.setAccessible(true);
- stop0.invoke(main, toThrow);
- } catch (
- NoSuchMethodException |
- SecurityException |
- IllegalAccessException |
- IllegalArgumentException |
- InaccessibleObjectException |
- InvocationTargetException e1) {
- e1.printStackTrace();
- }
- }
- }
-
- private Thread dumpStackTraces(PrintStream stream) {
- long seconds = fTracingOptions.stackDumpTimeoutSeconds();
- String message = format(new Date(), fDescription) + " ran for more than " + seconds + " seconds";
- stream.println(message);
-
- stream.format("totalMemory: %11d\n", Runtime.getRuntime().totalMemory());
- stream.format("freeMemory (before GC):%11d\n", Runtime.getRuntime().freeMemory());
- System.gc();
- stream.format("freeMemory (after GC): %11d\n", Runtime.getRuntime().freeMemory());
-
- ThreadMXBean threadStuff = ManagementFactory.getThreadMXBean();
- ThreadInfo[] allThreads = threadStuff.getThreadInfo(threadStuff.getAllThreadIds(), 200);
- for (ThreadInfo threadInfo : allThreads) {
- stream.print("\"");
- stream.print(threadInfo.getThreadName());
- stream.print("\": ");
- stream.print(threadInfo.getThreadState());
- stream.println();
- final StackTraceElement[] elements = threadInfo.getStackTrace();
- for (StackTraceElement element : elements) {
- stream.print(" ");
- stream.print(element);
- stream.println();
- }
- stream.println();
- }
- for (Thread t : Thread.getAllStackTraces().keySet()) {
- String name = t.getName();
- if ("main".equals(name)) {
- return t;
- }
- }
- return null;
- }
- }
-
- static class ThreadDump extends Exception {
- private static final long serialVersionUID = 1L;
- ThreadDump(String message) {
- super(message);
- }
- }
-
- private static String format(Date time, Description description) {
- String now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z", Locale.US).format(time);
- String message = "[" + now + "] " + description.getClassName() + "#" + description.getMethodName() + "()";
- return message;
- }
-
- public TracingSuite(Class<?> klass, RunnerBuilder builder) throws InitializationError {
- super(klass, builder);
- fTracingOptions = klass.getAnnotation(TracingOptions.class);
- if (fTracingOptions == null) {
- @TracingOptions class DefaultTracingOptionsProvider { /* just an annotation holder */ }
- fTracingOptions = DefaultTracingOptionsProvider.class.getAnnotation(TracingOptions.class);
- }
- }
-
- @Override
- protected void runChild(Runner runner, RunNotifier notifier) {
- super.runChild(runner, new TracingRunNotifier(notifier));
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/AwtScreenshot.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/AwtScreenshot.java
deleted file mode 100644
index ee7906dc..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/AwtScreenshot.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal;
-
-import java.awt.AWTException;
-import java.awt.HeadlessException;
-import java.awt.Rectangle;
-import java.awt.Robot;
-import java.awt.Toolkit;
-import java.awt.image.BufferedImage;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintStream;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import javax.imageio.ImageIO;
-
-public class AwtScreenshot {
-
- private static final int TIMEOUT_SECONDS = 15;
-
- public static void main(String[] args) {
- try {
- System.setProperty("java.awt.headless", "false");
- Robot robot = new Robot();
- Rectangle rect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
- BufferedImage image = robot.createScreenCapture(rect);
- File file = new File(args[0]);
- ImageIO.write(image, "png", file);
-
- System.out.println("AWT screenshot saved to: " + file.getAbsolutePath());
- } catch (HeadlessException | AWTException | IOException e) {
- e.printStackTrace();
- }
- }
-
- static class StreamForwarder extends Thread {
-
- private InputStream fProcessOutput;
-
- private PrintStream fStream;
-
- public StreamForwarder(InputStream processOutput, PrintStream stream) {
- fProcessOutput = processOutput;
- fStream = stream;
- }
-
- @Override
- public void run() {
- try (BufferedReader reader = new BufferedReader(new InputStreamReader(fProcessOutput))) {
- String line = null;
- while ((line = reader.readLine()) != null) {
- fStream.println(line);
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
-
- public static void dumpAwtScreenshot(String screenshotFile) {
- try {
- URL location = AwtScreenshot.class.getProtectionDomain().getCodeSource().getLocation();
- String cp = location.toURI().getPath();
- if (new File(cp).isDirectory() && !cp.endsWith(File.separatorChar + "bin" + File.separatorChar)) {
- cp += "bin" + File.separatorChar;
- }
- String javaHome = System.getProperty("java.home");
- String javaExe = javaHome + File.separatorChar + "bin" + File.separatorChar + "java";
- if (File.separatorChar == '\\') {
- javaExe += ".exe"; // assume it's Windows
- }
- String[] args = new String[] { javaExe, "-cp", cp, AwtScreenshot.class.getName(), screenshotFile };
- // System.out.println("Start process: " + Arrays.asList(args));
- ProcessBuilder processBuilder = new ProcessBuilder(args);
- if ("Mac OS X".equals(System.getProperty("os.name"))) {
- processBuilder.environment().put("AWT_TOOLKIT", "CToolkit");
- }
- Process process = processBuilder.start();
- new StreamForwarder(process.getErrorStream(), System.out).start();
- new StreamForwarder(process.getInputStream(), System.out).start();
- long end = System.currentTimeMillis() + TIMEOUT_SECONDS * 1000;
- boolean done = false;
- do {
- try {
- process.exitValue();
- done = true;
- } catch (IllegalThreadStateException e) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException e1) {
- // continue
- }
- }
- } while (!done && System.currentTimeMillis() < end);
-
- if (done) {
- int exitCode = process.exitValue();
- if (exitCode != 0) {
- System.out.println("AwtScreenshot VM finished with exit code " + exitCode + ".");
- }
- } else {
- process.destroy();
- System.out.println("Killed AwtScreenshot VM after " + TIMEOUT_SECONDS + " seconds.");
- }
- } catch (URISyntaxException | IOException e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/InternalDimensions.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/InternalDimensions.java
deleted file mode 100644
index 52d5ad4b..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/InternalDimensions.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.data.Unit;
-
-/**
- * Some hard coded measurement id's.
- */
-public interface InternalDimensions {
-
- // Common:
- // OS Counters:
- Dim SYSTEM_TIME = new Dim(2, Unit.SECOND, 1000), // System.currentTimeMillis. "System Time"
- USED_JAVA_HEAP = new Dim(3, Unit.BYTE), // Runtime.totalMemory() - Runtime.freeMemory()
- WORKING_SET = new Dim(4, Unit.BYTE), // the working set (or on Linux the resident set). "Working Set"
- // USER_TIME= new Dim(10, Unit.SECOND, 1000), // the amount of elapsed user time. "User time"
- KERNEL_TIME = new Dim(11, Unit.SECOND, 1000), // the amount of elapsed kernel time. "Kernel time"
- CPU_TIME = new Dim(20, Unit.SECOND, 1000), // the amount of CPU time we have used so far. "CPU Time"
- INVOCATION_COUNT = new Dim(52, Unit.INVOCATION, 1); // the number of method invocations. "Invocation Count"
-
- // OS Info:
- Dim PHYSICAL_TOTAL = new Dim(24, Unit.BYTE), // the amount of physical memory in bytes. "Physical Memory"
- SYSTEM_CACHE = new Dim(26, Unit.BYTE); // the amount of system cache memory in bytes. "System Cache"
-
- // Windows:
- // OS Counters:
- Dim COMITTED = new Dim(7, Unit.BYTE), // "Committed"
- WORKING_SET_PEAK = new Dim(8, Unit.BYTE), // "Working Set Peak"
- ELAPSED_PROCESS = new Dim(9, Unit.SECOND, 1000), // "Elapsed Process"
- PAGE_FAULTS = new Dim(19), // "Page Faults"
- GDI_OBJECTS = new Dim(34), // "GDI Objects"
- USER_OBJECTS = new Dim(35), // "USER Objects"
- OPEN_HANDLES = new Dim(36), // "Open Handles"
- READ_COUNT = new Dim(38, Unit.BYTE), // "Read Count"
- WRITE_COUNT = new Dim(39, Unit.BYTE), // "Write Count"
- BYTES_READ = new Dim(40, Unit.BYTE), // "Bytes Read"
- BYTES_WRITTEN = new Dim(41, Unit.BYTE); // "Bytes Written"
-
- // OS Info:
- Dim COMMIT_LIMIT = new Dim(22), // "Commit Limit"
- COMMIT_PEAK = new Dim(23), // "Commit Peak"
- PHYSICAL_AVAIL = new Dim(25, Unit.BYTE), // "Physical Available"
- KERNEL_TOTAL = new Dim(27), // "Kernel Total"
- KERNEL_PAGED = new Dim(28), // "Kernel Paged"
- KERNEL_NONPAGED = new Dim(29), // "Kernel Nonpaged"
- PAGE_SIZE = new Dim(30, Unit.BYTE), // "Page Size"
- HANDLE_COUNT = new Dim(31), // "Handle Count"
- PROCESS_COUNT = new Dim(32), // "Process Count"
- THREAD_COUNT = new Dim(33), // "Thread Count"
- COMMIT_TOTAL = new Dim(37); // "Commit Total"
-
- // Linux:
- // OS Counters:
- Dim HARD_PAGE_FAULTS = new Dim(42), // the number of hard page faults. A page had to be fetched from disk. "Hard Page Faults"
- SOFT_PAGE_FAULTS = new Dim(43), // the number of soft page faults. A page was not fetched from disk. "Soft Page Faults"
- TRS = new Dim(44, Unit.BYTE), // the amount of memory in bytes occupied by text (i.e. code). "Text Size"
- DRS = new Dim(45, Unit.BYTE), // the amount of memory in bytes occupied by data or stack. "Data Size"
- LRS = new Dim(46, Unit.BYTE); // the amount of memory in bytes occupied by shared code. "Library Size"
-
- // OS Info:
- Dim USED_LINUX_MEM = new Dim(48, Unit.BYTE), // the amount of memory that Linux reports is used. From /proc/meminfo.
- // "Used Memory"
- FREE_LINUX_MEM = new Dim(49, Unit.BYTE), // the amount of memory that Linux reports is free. From /proc/meminfo.
- // "Free Memory"
- BUFFERS_LINUX = new Dim(50, Unit.BYTE); // the amount of memory that Linux reports is used by buffers. From
- // /proc/meminfo. "Buffers Memory"
-
- // Mac:
- // OS Counters:
- // OS Info:
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/InternalPerformanceMeter.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/InternalPerformanceMeter.java
deleted file mode 100644
index 9be96768..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/InternalPerformanceMeter.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2019 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.io.PrintStream;
-import java.text.MessageFormat;
-import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.test.internal.performance.data.DataPoint;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.data.Sample;
-import org.eclipse.test.internal.performance.db.Variations;
-import org.eclipse.test.internal.performance.eval.StatisticsSession;
-import org.eclipse.test.internal.performance.eval.StatisticsUtil;
-import org.eclipse.test.internal.performance.eval.StatisticsUtil.Percentile;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.PerformanceMeter;
-
-public abstract class InternalPerformanceMeter extends PerformanceMeter {
-
- private static class DimensionComparator implements Comparator<Dim> {
-
- @Override
- public int compare(Dim o1, Dim o2) {
- return o1.getId() - o2.getId();
- }
-
- }
-
- public static final int AVERAGE = -3;
- public static final int SIZE = -4;
- public static final int STDEV = -5;
- public static final int BEFORE = 0;
- public static final int AFTER = 1;
-
- protected static final String VERBOSE_PERFORMANCE_METER_PROPERTY = "InternalPrintPerformanceResults"; //$NON-NLS-1$
- protected static final String CSV_PERFORMANCE_METER_PROPERTY = "InternalPrintCsvPerformanceResults"; //$NON-NLS-1$
- private static final String DUMP_PERFORMANCE_DATA_PROPERTY = "InternalWriteRawPerformanceData"; //$NON-NLS-1$
-
- private String fScenarioId;
-
- private String fShortName;
- private Dimension[] fSummaryDimensions;
- private boolean fSummaryIsGlobal;
- private int fCommentType;
- private String fComment;
-
- public InternalPerformanceMeter(String scenarioId) {
- fScenarioId = scenarioId;
- }
-
- @Override
- public void dispose() {
- fScenarioId = null;
- }
-
- public abstract Sample getSample();
-
- /**
- * Answer the scenario ID.
- *
- * @return the scenario ID
- */
- public String getScenarioName() {
- return fScenarioId;
- }
-
- @Override
- public void commit() {
- Sample sample = getSample();
- if (sample != null) {
- if (fSummaryDimensions != null) {
- sample.tagAsSummary(fSummaryIsGlobal, fShortName, fSummaryDimensions, fCommentType, fComment);
- } else if (this.fComment != null) {
- sample.setComment(this.fCommentType, this.fComment);
- }
- Variations variations = PerformanceTestPlugin.getVariations();
- if (System.getProperty(VERBOSE_PERFORMANCE_METER_PROPERTY) != null) {
- printSample(System.out, sample);
- // printSampleCSV(System.out, sample);
- }
- String property = System.getProperty(CSV_PERFORMANCE_METER_PROPERTY);
- if (property != null) {
- File output = new File(property);
- try (PrintStream ps = new PrintStream(new FileOutputStream(output))) {
- printSampleCSV(ps, sample);
- } catch (IOException e) {
- // It turns out you cannot write.
- e.printStackTrace();
- }
- }
- property = System.getProperty(DUMP_PERFORMANCE_DATA_PROPERTY);
- if (property != null) {
- File output = new File(property);
- try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(output, true))) {
- oos.writeObject(fScenarioId);
- oos.writeObject(variations);
- oos.writeObject(sample);
- } catch (IOException e) {
- // It turns out you cannot write.
- e.printStackTrace();
- }
- }
- }
- }
-
- private void printSample(PrintStream ps, Sample sample) {
- ps.print("Scenario '" + getScenarioName() + "' "); //$NON-NLS-1$ //$NON-NLS-2$
- DataPoint[] dataPoints = sample.getDataPoints();
- if (dataPoints.length > 0) {
- StatisticsSession s = new StatisticsSession(dataPoints);
- Dim[] dimensions = dataPoints[0].getDimensions();
- Arrays.sort(dimensions, new DimensionComparator());
- if (dimensions.length > 0) {
- List<Dim> badDimensions = new ArrayList<>();
- long n = s.getCount(dimensions[0]);
- MessageFormat format = new MessageFormat("({0,number,percent} in [{1}, {2}])"); //$NON-NLS-1$
-
- String spaces = " "; //$NON-NLS-1$
-
- ps.println("(average over " + n + " samples):"); //$NON-NLS-1$ //$NON-NLS-2$
- for (Dim dimension : dimensions) {
- double mean = s.getAverage(dimension);
-
- String nameString = " " + dimension.getName() + ":"; //$NON-NLS-1$ //$NON-NLS-2$
- String meanString = dimension.getDisplayValue(mean);
- int align = firstNonDigit(meanString);
- int endIndex = 30 - align - nameString.length();
- if (endIndex > 0)
- meanString = spaces.substring(0, endIndex) + meanString;
-
- align = nameString.length() + meanString.length();
-
- Percentile percentile = StatisticsUtil.T95;
- double[] confidenceInterval = s.getConfidenceInterval(dimension, percentile);
-
- StringBuffer printBuffer;
- if (n <= 2) {
- printBuffer = new StringBuffer(" (no confidence)"); //$NON-NLS-1$
- } else {
- printBuffer = new StringBuffer();
- int ns = align;
- while (ns++ < 40)
- printBuffer.append(' ');
- printBuffer
- .append(format.format(new Object[] { Double.valueOf(percentile.inside()),
- dimension.getDisplayValue(confidenceInterval[0]),
- dimension.getDisplayValue(confidenceInterval[1]) }));
- }
-
- align += printBuffer.length();
- try {
- while (align++ < 70)
- printBuffer.append(' ');
- printBuffer.append(checkSampleSize(s, sample, dimension));
- }
- catch (CoreException x) {
- badDimensions.add(dimension);
- continue;
- }
-
- ps.print(nameString);
- ps.print(meanString);
- ps.println(printBuffer);
- }
-
- if (!badDimensions.isEmpty()) {
- ps.print(" Dimensions with unusable statistical properties: "); //$NON-NLS-1$
- for (Iterator<Dim> iter = badDimensions.iterator(); iter.hasNext();) {
- Dim dimension = iter.next();
- ps.print(dimension.getName());
- if (iter.hasNext())
- ps.print(", "); //$NON-NLS-1$
- }
- ps.println();
- }
- }
- }
- ps.println();
- }
-
- private String checkSampleSize(StatisticsSession s, Sample sample, Dim dimension) throws CoreException {
- long sampleSize = s.getCount(dimension);
- double stdev = s.getStddev(dimension);
- double mean = s.getAverage(dimension);
-
- if (stdev == 0)
- return ""; //$NON-NLS-1$
-
- // measurable effect size
- // sampleSize= 16 * stdev^2 / effect^2
- double effectSize = 4 * Math.sqrt(stdev * stdev / sampleSize);
-
- double base;
- String baseName;
- if (stdev > Math.abs(mean)) {
- base = stdev;
- baseName = "stdev"; //$NON-NLS-1$
- } else {
- base = Math.abs(mean);
- baseName = "mean"; //$NON-NLS-1$
- }
- double fivePercentEffect = 0.05 * base;
- long requiredSampleSizeForFivePercentEffect = Math.round(16 * stdev * stdev / fivePercentEffect / fivePercentEffect + 0.5);
-
- // if (requiredSampleSizeForFivePercentEffect > 1000 || Double.isNaN(stdev))
- // throw new CoreException(new Status(IStatus.OK, "org.eclipse.text.performance", IStatus.OK, "no message", null)); //$NON-NLS-1$ //$NON-NLS-2$
-
- NumberFormat numberInstance = NumberFormat.getNumberInstance();
- numberInstance.setMaximumFractionDigits(1);
- numberInstance.setMinimumFractionDigits(1);
-
- String measurableMsg = " Measurable effect: " + dimension.getDisplayValue(effectSize) + " (" + numberInstance.format(effectSize / stdev) + " SDs)"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (fivePercentEffect < effectSize)
- measurableMsg += " (required sample size for an effect of 5% of " + baseName + ": " + requiredSampleSizeForFivePercentEffect + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- return measurableMsg;
- }
-
- private int firstNonDigit(String string) {
- int length = string.length();
- for (int i = 0; i < length; i++)
- if (!Character.isDigit(string.charAt(i)) && string.charAt(i) != '-' && string.charAt(i) != '.')
- return i;
- return length;
- }
-
- void printSampleCSV(PrintStream ps, Sample sample) {
- final char SEPARATOR = '\t';
- DataPoint[] dataPoints = sample.getDataPoints();
- if (dataPoints.length > 0) {
- Dim[] dimensions = dataPoints[0].getDimensions();
- Arrays.sort(dimensions, new DimensionComparator());
- if (dimensions.length > 0) {
- /* print dimensions */
- for (Dim dimension : dimensions) {
- ps.print(dimension.getName());
- ps.print(SEPARATOR);
- }
- ps.println("scenario"); //$NON-NLS-1$
-
- for (int p = 0; p < dataPoints.length - 1; p += 2) {
- DataPoint before = dataPoints[p];
- DataPoint after = dataPoints[p + 1];
- for (Dim dimension : dimensions) {
- long valBefore = before.getScalar(dimension).getMagnitude();
- long valAfter = after.getScalar(dimension).getMagnitude();
- ps.print(valAfter - valBefore);
- ps.print(SEPARATOR);
- }
- ps.print(sample.getShortname() != null ? sample.getShortname() : sample.getScenarioID());
- ps.println();
- }
-
- ps.println();
- }
- }
- }
-
- public void tagAsSummary(boolean global, String shortName, Dimension[] dims) {
- fSummaryIsGlobal = global;
- fShortName = shortName;
- fSummaryDimensions = dims;
- }
-
- public void setComment(int commentType, String comment) {
- fCommentType = commentType;
- fComment = comment;
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/NullPerformanceMeter.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/NullPerformanceMeter.java
deleted file mode 100644
index 0444faef..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/NullPerformanceMeter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import org.eclipse.test.performance.PerformanceMeter;
-
-/**
- * Null performance meter.
- */
-public class NullPerformanceMeter extends PerformanceMeter {
-
- @Override
- public void start() {
- // do nothing
- }
-
- @Override
- public void stop() {
- // do nothing
- }
-
- @Override
- public void commit() {
- // do nothing
- }
-
- @Override
- public void dispose() {
- // do nothing
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/OSPerformanceMeter.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/OSPerformanceMeter.java
deleted file mode 100644
index 1ad4caff..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/OSPerformanceMeter.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.test.internal.performance.data.DataPoint;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.data.Sample;
-import org.eclipse.test.internal.performance.data.Scalar;
-
-/**
- * Performance meter that makes its measurements with OS functionality.
- */
-public class OSPerformanceMeter extends InternalPerformanceMeter {
-
- private PerformanceMonitor fPerformanceMonitor;
- private long fStartTime;
- private List<DataPoint> fDataPoints = new ArrayList<>();
-
- /**
- * @param scenarioId
- * the scenario id
- */
- public OSPerformanceMeter(String scenarioId) {
- super(scenarioId);
- fPerformanceMonitor = PerformanceMonitor.getPerformanceMonitor();
- fStartTime = System.currentTimeMillis();
- }
-
- @Override
- public void dispose() {
- fPerformanceMonitor = null;
- fDataPoints = null;
- super.dispose();
- }
-
- @Override
- public void start() {
- snapshot(BEFORE);
- }
-
- @Override
- public void stop() {
- snapshot(AFTER);
- }
-
- @Override
- public Sample getSample() {
- if (fDataPoints != null) {
- HashMap<String, String> runProperties = new HashMap<>();
- collectRunInfo(runProperties);
- return new Sample(getScenarioName(), fStartTime, runProperties,
- fDataPoints.toArray(new DataPoint[fDataPoints.size()]));
- }
- return null;
- }
-
- // ---- private stuff ------
-
- private void snapshot(int step) {
- HashMap<Dim, Scalar> map = new HashMap<>();
- fPerformanceMonitor.collectOperatingSystemCounters(map);
- fDataPoints.add(new DataPoint(step, map));
- }
-
- /**
- * Write out the run element if it hasn't been written out yet.
- *
- * @param runProperties
- */
- private void collectRunInfo(HashMap runProperties) {
- fPerformanceMonitor.collectGlobalPerformanceInfo(runProperties);
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/OSPerformanceMeterFactory.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/OSPerformanceMeterFactory.java
deleted file mode 100644
index 88f2100f..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/OSPerformanceMeterFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import org.eclipse.test.performance.PerformanceMeter;
-
-public class OSPerformanceMeterFactory extends PerformanceMeterFactory {
-
- @Override
- protected PerformanceMeter doCreatePerformanceMeter(String scenario) {
- return new OSPerformanceMeter(scenario);
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMeterFactory.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMeterFactory.java
deleted file mode 100644
index cb959261..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMeterFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-
-import junit.framework.TestCase;
-
-public abstract class PerformanceMeterFactory {
-
- private static Set<String> fScenarios = new HashSet<>();
-
- public PerformanceMeter createPerformanceMeter(String scenario) {
- assertUniqueScenario(scenario);
- return doCreatePerformanceMeter(scenario);
- }
-
- public PerformanceMeter createPerformanceMeter(TestCase testCase, String monitorId) {
- return createPerformanceMeter(Performance.getDefault().getDefaultScenarioId(testCase, monitorId));
- }
-
- public PerformanceMeter createPerformanceMeter(TestCase testCase) {
- return createPerformanceMeter(Performance.getDefault().getDefaultScenarioId(testCase));
- }
-
- protected abstract PerformanceMeter doCreatePerformanceMeter(String scenario);
-
- private static void assertUniqueScenario(String scenario) {
- if (fScenarios.contains(scenario))
- throw new IllegalArgumentException();
- fScenarios.add(scenario);
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitor.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitor.java
deleted file mode 100644
index 77068e63..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitor.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import java.util.Map;
-
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.data.Scalar;
-
-class PerformanceMonitor {
-
- private static PerformanceMonitor fgPerformanceMonitor;
-
- public static PerformanceMonitor getPerformanceMonitor() {
- if (fgPerformanceMonitor == null) {
- String os = System.getProperty("os.name"); //$NON-NLS-1$
- if (os.startsWith("Windows")) //$NON-NLS-1$
- fgPerformanceMonitor = new PerformanceMonitorWindows();
- else if (os.startsWith("Mac OS X")) //$NON-NLS-1$
- fgPerformanceMonitor = new PerformanceMonitorMac();
- else
- fgPerformanceMonitor = new PerformanceMonitorLinux();
- }
- return fgPerformanceMonitor;
- }
-
- protected void collectOperatingSystemCounters(Map scalars) {
- Runtime runtime = Runtime.getRuntime();
- // runtime.gc();
- addScalar(scalars, InternalDimensions.USED_JAVA_HEAP, runtime.totalMemory() - runtime.freeMemory());
- }
-
- protected void collectGlobalPerformanceInfo(Map scalars) {
- // no default implementation
- }
-
- void addScalar(Map scalars, Dim dimension, long value) {
- scalars.put(dimension, new Scalar(dimension, value));
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorLinux.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorLinux.java
deleted file mode 100644
index 25330023..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorLinux.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-class PerformanceMonitorLinux extends PerformanceMonitor {
-
- private static long PAGESIZE = 4096;
- private static long JIFFIES = 10L;
- private static boolean fgHasElapsedTime = true;
- private static long fgStartupTime;
-
- /**
- * Write out operating system counters for Linux.
- *
- * @param scalars
- */
- @Override
- protected void collectOperatingSystemCounters(Map scalars) {
- synchronized (this) {
- /**
- * The status values for a Linux process, that is the values that come from /proc/self/stat. The names of the variables match
- * the man proc page.
- */
- StringTokenizer st = readTokens("/proc/self/stat", false); //$NON-NLS-1$
- if (st != null) {
- st.nextToken(); // int pid; // Process id.
- st.nextToken(); // String comm; // The command name.
- st.nextToken(); // String state;
- st.nextToken(); // int ppid; // Parent process id. */
- st.nextToken(); // int pgrp; // Process group. */
- st.nextToken(); // int session;
- st.nextToken(); // int ttry_nr;
- st.nextToken(); // int tpgid;
- st.nextToken(); // long flags;
- long minflt = Long.parseLong(st.nextToken()); // Minor page faults (didn't need to load a page from disk). */
- st.nextToken(); // long cminflt; // Minor page faults for the process and it's children. */
- long majflt = Long.parseLong(st.nextToken()); // Major page faults. */
- st.nextToken(); // long cmajflt; // Major page faults for the process and it's children. */
- long utime = Long.parseLong(st.nextToken()); // User time in jiffies. */
- long stime = Long.parseLong(st.nextToken()); // System time in jiffies. */
- st.nextToken(); // long cutime; // User time for the process and it's children. */
- st.nextToken(); // long cstime; // System time for the process and it's children. */
-
- // addScalar(scalars, InternalDimensions.USER_TIME, utime*JIFFIES);
- addScalar(scalars, InternalDimensions.KERNEL_TIME, stime * JIFFIES);
- addScalar(scalars, InternalDimensions.CPU_TIME, (utime + stime) * JIFFIES);
- addScalar(scalars, InternalDimensions.SOFT_PAGE_FAULTS, minflt);
- addScalar(scalars, InternalDimensions.HARD_PAGE_FAULTS, majflt);
- }
-
- /**
- * The status memory values values for a Linux process, that is the values that come from /proc/self/statm. The names of the
- * variables match the man proc page.
- */
- st = readTokens("/proc/self/statm", false); //$NON-NLS-1$
- if (st != null) {
- st.nextToken(); // int size; // Size of the process in pages
- int resident = Integer.parseInt(st.nextToken()); // Resident size in pages.
- st.nextToken(); // int shared; // Shared size in pages.
- int trs = Integer.parseInt(st.nextToken()); // Text (code) size in pages.
- int drs = Integer.parseInt(st.nextToken()); // Data/Stack size in pages.
- int lrs = Integer.parseInt(st.nextToken()); // Library size in pages.
- // st.nextToken(); // int dt; // Dirty pages.
-
- addScalar(scalars, InternalDimensions.WORKING_SET, resident * PAGESIZE);
- addScalar(scalars, InternalDimensions.TRS, trs * PAGESIZE);
- addScalar(scalars, InternalDimensions.DRS, drs * PAGESIZE);
- addScalar(scalars, InternalDimensions.LRS, lrs * PAGESIZE);
- }
-
- long currentTime = System.currentTimeMillis();
-
- addScalar(scalars, InternalDimensions.SYSTEM_TIME, currentTime);
-
- if (fgHasElapsedTime) {
- if (fgStartupTime == 0) {
- String t = System.getProperty("eclipse.startTime"); //$NON-NLS-1$
- if (t != null) {
- try {
- fgStartupTime = Long.parseLong(t);
- } catch (NumberFormatException e) {
- fgHasElapsedTime = false;
- }
- } else
- fgHasElapsedTime = false;
- }
- if (fgHasElapsedTime)
- addScalar(scalars, InternalDimensions.ELAPSED_PROCESS, currentTime - fgStartupTime);
- }
-
- super.collectOperatingSystemCounters(scalars);
- }
- }
-
- /**
- * Write out the global machine counters for Linux.
- *
- * @param scalars
- */
- @Override
- protected void collectGlobalPerformanceInfo(Map scalars) {
- synchronized (this) {
- /**
- * The meminfo values for a Linux machine, that is the values that come from /proc/meminfo.
- */
- // /proc/meminfo is formatted on linux - use byte-counted output from free
- StringTokenizer st = readOutput("free -b", true); //$NON-NLS-1$
- if (st != null) {
- st.nextToken(); // throw away label
- long total = Long.parseLong(st.nextToken());
- long used = Long.parseLong(st.nextToken());
- long free = Long.parseLong(st.nextToken());
- st.nextToken(); // long shared;
- long buffers = Long.parseLong(st.nextToken());
- long cache = Long.parseLong(st.nextToken());
-
- addScalar(scalars, InternalDimensions.PHYSICAL_TOTAL, total);
- addScalar(scalars, InternalDimensions.USED_LINUX_MEM, used);
- addScalar(scalars, InternalDimensions.FREE_LINUX_MEM, free);
- addScalar(scalars, InternalDimensions.BUFFERS_LINUX, buffers);
- addScalar(scalars, InternalDimensions.SYSTEM_CACHE, cache);
- }
- super.collectGlobalPerformanceInfo(scalars);
- }
- }
-
- private StringTokenizer readTokens(String procPath, boolean skipFirst) {
- try (BufferedReader rdr = new BufferedReader(new FileReader(procPath));){
- if (skipFirst)
- rdr.readLine(); // throw away the heading line
- return new StringTokenizer(rdr.readLine());
- } catch (IOException e) {
- PerformanceTestPlugin.log(e);
- }
- return null;
- }
-
- private StringTokenizer readOutput(String cmd, boolean skipFirst) {
- BufferedReader rdr = null;
- try {
- Process process = Runtime.getRuntime().exec(cmd);
- rdr = new BufferedReader(new InputStreamReader(process.getInputStream()));
- if (skipFirst)
- rdr.readLine(); // throw away the heading line
- return new StringTokenizer(rdr.readLine());
- } catch (IOException e) {
- PerformanceTestPlugin.log(e);
- }
- finally {
- try {
- if (rdr != null)
- rdr.close();
- } catch (IOException e) {
- // silently ignored
- }
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorMac.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorMac.java
deleted file mode 100644
index 22945a0d..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorMac.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import java.util.Map;
-
-/**
- * The Mac OS X version of the performance monitor. (Uses default implementation for now).
- */
-class PerformanceMonitorMac extends PerformanceMonitor {
-
- private static boolean fgHasElapsedTime = true;
- private static long fgStartupTime;
-
- /**
- * name of the library that implements the native methods.
- */
- private static final String NATIVE_LIBRARY_NAME = "perf_3_1_0"; //$NON-NLS-1$
-
- /**
- * Is the native library loaded? 0-don't know, 1-no, 2-yes
- */
- private static int fgIsLoaded = 0;
-
- /**
- * Answer true if the native library for this class has been successfully loaded. If the load has not been attempted yet, try to
- * load it.
- *
- * @return returns true if native library has been successfullz loaded
- */
- public static boolean isLoaded() {
- if (fgIsLoaded == 0) {
- try {
- System.loadLibrary(NATIVE_LIBRARY_NAME);
- fgIsLoaded = 2;
- } catch (Throwable e) {
- // e.printStackTrace();
- // PerformanceTestPlugin.log(e);
- fgIsLoaded = 1;
- }
- }
- return fgIsLoaded == 2;
- }
-
- /**
- * Write out operating system counters for Mac OS X.
- *
- * @param scalars
- * where to collect the data
- */
- @Override
- protected void collectOperatingSystemCounters(Map scalars) {
- synchronized (this) {
- if (isLoaded()) {
- int[] counters = new int[18];
- if (getrusage(0, counters) == 0) {
-
- int user_time = counters[0] * 1000 + counters[1] / 1000;
- int kernel_time = counters[2] * 1000 + counters[3] / 1000;
-
- addScalar(scalars, InternalDimensions.KERNEL_TIME, kernel_time);
- addScalar(scalars, InternalDimensions.CPU_TIME, user_time + kernel_time);
- }
- }
-
- long currentTime = System.currentTimeMillis();
-
- addScalar(scalars, InternalDimensions.SYSTEM_TIME, currentTime);
-
- if (fgHasElapsedTime) {
- if (fgStartupTime == 0) {
- String t = System.getProperty("eclipse.startTime"); //$NON-NLS-1$
- if (t != null) {
- try {
- fgStartupTime = Long.parseLong(t);
- } catch (NumberFormatException e) {
- fgHasElapsedTime = false;
- }
- } else
- fgHasElapsedTime = false;
- }
- if (fgHasElapsedTime)
- addScalar(scalars, InternalDimensions.ELAPSED_PROCESS, currentTime - fgStartupTime);
- }
-
- super.collectOperatingSystemCounters(scalars);
- }
- }
-
- // struct rusage {
- // 0,1 struct timeval ru_utime; /* user time used */
- // 2,3 struct timeval ru_stime; /* system time used */
- // 4 long ru_maxrss; /* integral max resident set size */
- // 5 long ru_ixrss; /* integral shared text memory size */
- // 6 long ru_idrss; /* integral unshared data size */
- // 7 long ru_isrss; /* integral unshared stack size */
- // 8 long ru_minflt; /* page reclaims */
- // 9 long ru_majflt; /* page faults */
- // 10 long ru_nswap; /* swaps */
- // 11 long ru_inblock; /* block input operations */
- // 12 long ru_oublock; /* block output operations */
- // 13 long ru_msgsnd; /* messages sent */
- // 14 long ru_msgrcv; /* messages received */
- // 15 long ru_nsignals; /* signals received */
- // 16 long ru_nvcsw; /* voluntary context switches */
- // 17 long ru_nivcsw; /* involuntary context switches */
- // };
- private static native int getrusage(int who, int[] counters);
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorWindows.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorWindows.java
deleted file mode 100644
index dc873d26..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceMonitorWindows.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import java.util.Map;
-
-/**
- * The PerformanceMonitor for Windows.
- */
-class PerformanceMonitorWindows extends PerformanceMonitor {
-
- private boolean fgNativeGetPerformanceInfoNotAvailable;
-
- @Override
- protected void collectOperatingSystemCounters(Map scalars) {
- synchronized (this) {
- if (org.eclipse.perfmsr.core.PerformanceMonitor.isLoaded()) {
- long[] counters = new long[14];
- if (org.eclipse.perfmsr.core.PerformanceMonitor.nativeGetPerformanceCounters(counters)) {
- addScalar(scalars, InternalDimensions.WORKING_SET, counters[0]);
- addScalar(scalars, InternalDimensions.WORKING_SET_PEAK, counters[1]);
- addScalar(scalars, InternalDimensions.ELAPSED_PROCESS, counters[2]);
- // addScalar(scalars, InternalDimensions.USER_TIME, counters[3]);
- addScalar(scalars, InternalDimensions.KERNEL_TIME, counters[4]);
- addScalar(scalars, InternalDimensions.CPU_TIME, counters[3] + counters[4]);
- addScalar(scalars, InternalDimensions.PAGE_FAULTS, counters[5]);
- if (counters[6] != -1)
- addScalar(scalars, InternalDimensions.COMITTED, counters[6]);
- addScalar(scalars, InternalDimensions.GDI_OBJECTS, counters[7]);
- // addScalar(scalars, Dimensions.USER_OBJECTS, counters[8]);
- // if (counters[9] != -1)
- // addScalar(scalars, InternalDimensions.OPEN_HANDLES, counters[9]);
- // addScalar(scalars, InternalDimensions.READ_COUNT, counters[10]);
- // addScalar(scalars, InternalDimensions.WRITE_COUNT, counters[11]);
- // addScalar(scalars, InternalDimensions.BYTES_READ, counters[12]);
- // addScalar(scalars, InternalDimensions.BYTES_WRITTEN, counters[13]);
- }
- }
- super.collectOperatingSystemCounters(scalars);
- }
- }
-
- /**
- * Collect global performance info. This includes things like the total committed memory for the entire system.
- *
- * This function depends on the GetPerformanceInfo() function being available in the Windows ivjperf.dll. This is available in
- * XP but is usually not available in Win2000. If it is not available then this function throws an
- * UnsupportedOperationException.
- *
- * @param scalars
- */
- @Override
- protected void collectGlobalPerformanceInfo(Map scalars) {
- synchronized (this) {
- if (!fgNativeGetPerformanceInfoNotAvailable && org.eclipse.perfmsr.core.PerformanceMonitor.isLoaded()) {
- long[] counters = new long[13];
- try {
- org.eclipse.perfmsr.core.PerformanceMonitor.nativeGetPerformanceInfo(counters);
- long pageSize = counters[9];
- addScalar(scalars, InternalDimensions.COMMIT_TOTAL, counters[0] * pageSize);
- addScalar(scalars, InternalDimensions.COMMIT_LIMIT, counters[1] * pageSize);
- addScalar(scalars, InternalDimensions.COMMIT_PEAK, counters[2] * pageSize);
- addScalar(scalars, InternalDimensions.PHYSICAL_TOTAL, counters[3] * pageSize);
- addScalar(scalars, InternalDimensions.PHYSICAL_AVAIL, counters[4] * pageSize);
- addScalar(scalars, InternalDimensions.SYSTEM_CACHE, counters[5] * pageSize);
- addScalar(scalars, InternalDimensions.KERNEL_TOTAL, counters[6] * pageSize);
- addScalar(scalars, InternalDimensions.KERNEL_PAGED, counters[7] * pageSize);
- addScalar(scalars, InternalDimensions.KERNEL_NONPAGED, counters[8] * pageSize);
- addScalar(scalars, InternalDimensions.PAGE_SIZE, counters[9]);
- addScalar(scalars, InternalDimensions.HANDLE_COUNT, counters[10]);
- addScalar(scalars, InternalDimensions.PROCESS_COUNT, counters[11]);
- addScalar(scalars, InternalDimensions.THREAD_COUNT, counters[12]);
- }
- catch (Exception e) {
- PerformanceTestPlugin
- .logWarning("native function GetPerformanceInfo() not available on this version of Windows"); //$NON-NLS-1$
- fgNativeGetPerformanceInfoNotAvailable = true;
- }
- }
- super.collectGlobalPerformanceInfo(scalars);
- }
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceTestPlugin.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceTestPlugin.java
deleted file mode 100644
index 3726dea6..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/PerformanceTestPlugin.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.db.Variations;
-import org.eclipse.test.performance.Dimension;
-
-/**
- * @since 3.1
- */
-public class PerformanceTestPlugin extends Plugin {
-
- public static final String CONFIG = "config"; //$NON-NLS-1$
- public static final String BUILD = "build"; //$NON-NLS-1$
-
- private static final String DEFAULT_DB_NAME = "perfDB"; //$NON-NLS-1$
- private static final String DEFAULT_DB_USER = "guest"; //$NON-NLS-1$
- private static final String DEFAULT_DB_PASSWORD = "guest"; //$NON-NLS-1$
-
- private static final String DB_NAME = "dbname"; //$NON-NLS-1$
- private static final String DB_USER = "dbuser"; //$NON-NLS-1$
- private static final String DB_PASSWD = "dbpasswd"; //$NON-NLS-1$
-
- /*
- * New properties
- */
- private static final String ECLIPSE_PERF_DBLOC = "eclipse.perf.dbloc"; //$NON-NLS-1$
- public static final String ECLIPSE_PERF_ASSERTAGAINST = "eclipse.perf.assertAgainst"; //$NON-NLS-1$
- private static final String ECLIPSE_PERF_CONFIG = "eclipse.perf.config"; //$NON-NLS-1$
- private static final String ECLIPSE_PERF_DEFAULT_DIM = "eclipse.perf.default.dim"; //$NON-NLS-1$
- private static final String ECLIPSE_PERF_RESULTS_DIMENSIONS = "eclipse.perf.results.dimensions"; //$NON-NLS-1$
- private static final String ECLIPSE_PERF_CONFIGS_DESCRIPTOR = "eclipse.perf.configs.descriptor"; //$NON-NLS-1$
-
- /**
- * Supported dimensions.
- * <p>
- * Currently all the dimensions accessible through this interface:
- * <ul>
- * <li>{@link Dimension#KERNEL_TIME}</li>
- * <li>{@link Dimension#CPU_TIME}</li>
- * <li>{@link Dimension#WORKING_SET}</li>
- * <li>{@link Dimension#ELAPSED_PROCESS}</li>
- * <li>{@link Dimension#USED_JAVA_HEAP}</li>
- * <li>{@link Dimension#WORKING_SET_PEAK}</li>
- * <li>{@link Dimension#KERNEL_TIME}</li>
- * </ul>
- * </p>
- */
- private static final Dim[] SUPPORTED_DIMENSIONS = { InternalDimensions.KERNEL_TIME, InternalDimensions.CPU_TIME, InternalDimensions.WORKING_SET, InternalDimensions.ELAPSED_PROCESS, InternalDimensions.USED_JAVA_HEAP,
- InternalDimensions.WORKING_SET_PEAK, InternalDimensions.COMITTED, };
-
- /**
- * Identifiers of the supported dimensions.
- */
- private static final int[] SUPPORTED_DIMENSIONS_ID = new int[SUPPORTED_DIMENSIONS.length];
- static {
- int length = SUPPORTED_DIMENSIONS.length;
- for (int i = 0; i < length; i++) {
- SUPPORTED_DIMENSIONS_ID[i] = SUPPORTED_DIMENSIONS[i].getId();
- }
- }
-
- /**
- * Default machines names.
- */
- private static final String DEFAULT_CONFIG_DESCRIPTORS = ""; //$NON-NLS-1$
-
- /**
- * Default dimension use for performance results.
- */
- private static final Dim DEFAULT_DIMENSION = InternalDimensions.ELAPSED_PROCESS;
-
- /**
- * The dimensions which are put in the generated performance results pages.
- */
- private static final Dim[] DEFAULT_RESULTS_DIMENSIONS = { InternalDimensions.ELAPSED_PROCESS, InternalDimensions.CPU_TIME, };
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.test.performance"; //$NON-NLS-1$
-
- /** Status code describing an internal error */
- public static final int INTERNAL_ERROR = 1;
-
- /**
- * The shared instance.
- */
- private static PerformanceTestPlugin fgPlugin;
-
- /**
- * The constructor.
- */
- public PerformanceTestPlugin() {
- super();
- fgPlugin = this;
- }
-
- /*
- * Returns the shared instance.
- */
- public static PerformanceTestPlugin getDefault() {
- return fgPlugin;
- }
-
- /*
- * -Declipse.perf.dbloc=net://localhost
- */
- public static String getDBLocation() {
- String dbloc = System.getProperty(ECLIPSE_PERF_DBLOC);
- if (dbloc != null) {
- logInfo("System property " + ECLIPSE_PERF_DBLOC + " found to equal " + dbloc + " in getDBLocation"); //$NON-NLS-1$ //$NON-NLS-2$
- Variations keys = new Variations();
- keys.parsePairs(ECLIPSE_PERF_DBLOC + '=' + dbloc);
- return keys.getProperty(ECLIPSE_PERF_DBLOC);
- }
- return null;
- }
-
- public static String getDBName() {
- String dbloc = System.getProperty(ECLIPSE_PERF_DBLOC);
- if (dbloc != null) {
- logInfo("System property " + ECLIPSE_PERF_DBLOC + " found to equal " + dbloc + " in getDBName"); //$NON-NLS-1$ //$NON-NLS-2$
- Variations keys = new Variations();
- keys.parsePairs(ECLIPSE_PERF_DBLOC + '=' + dbloc);
- return keys.getProperty(DB_NAME, DEFAULT_DB_NAME);
- }
- return DEFAULT_DB_NAME;
- }
-
- public static String getDBUser() {
- String dbloc = System.getProperty(ECLIPSE_PERF_DBLOC);
- if (dbloc != null) {
- logInfo("System property " + ECLIPSE_PERF_DBLOC + " found to equal " + dbloc + " in getDBUser"); //$NON-NLS-1$ //$NON-NLS-2$
- Variations keys = new Variations();
- keys.parsePairs(ECLIPSE_PERF_DBLOC + '=' + dbloc);
- return keys.getProperty(DB_USER, DEFAULT_DB_USER);
- }
- return DEFAULT_DB_USER;
- }
-
- /**
- * Returns the default dimension used for performance results.
- *
- * @return The default {@link Dimension} or <code>null</code> if the specified default dimension does not match any known
- * dimensions name.
- */
- public static Dimension getDefaultDimension() {
- String defaultDim = System.getProperty(ECLIPSE_PERF_DEFAULT_DIM);
- if (defaultDim == null)
- return DEFAULT_DIMENSION;
- Dimension dimension = getDimension(defaultDim);
- Assert.isNotNull(dimension, "Invalid default dimension found in system property '" + ECLIPSE_PERF_DEFAULT_DIM + "': " + defaultDim); //$NON-NLS-1$ //$NON-NLS-2$
- return dimension;
- }
-
- /**
- * Returns the dimensions displayed in the performance results.
- *
- * @return The list of {@link Dimension} which will be displayed in the generated results data pages.
- */
- public static Dimension[] getResultsDimensions() {
- String resultsDimension = System.getProperty(ECLIPSE_PERF_RESULTS_DIMENSIONS);
- if (resultsDimension == null)
- return DEFAULT_RESULTS_DIMENSIONS;
- StringTokenizer tokenizer = new StringTokenizer(resultsDimension, ","); //$NON-NLS-1$
- List<Dimension> list = new ArrayList<>();
- while (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken().trim();
- Dimension dimension = getDimension(token);
- if (dimension == null) {
- try {
- dimension = getDimension(Integer.parseInt(token));
- } catch (NumberFormatException e) {
- // skip
- }
- if (dimension == null) {
- System.err.println("Skip invalid results dimension found in system property '" + ECLIPSE_PERF_RESULTS_DIMENSIONS + "': " + resultsDimension); //$NON-NLS-1$ //$NON-NLS-2$
- continue;
- }
- }
- list.add(dimension);
- }
- int size = list.size();
- if (size == 0) {
- System.err.println("No valid dimension was found in system property '" + ECLIPSE_PERF_RESULTS_DIMENSIONS + "'!"); //$NON-NLS-1$ //$NON-NLS-2$
- System.err.println("=> default results dimensions will be used instead!"); //$NON-NLS-1$
- return DEFAULT_RESULTS_DIMENSIONS;
- }
- Dimension[] dimensions = new Dimension[size];
- list.toArray(dimensions);
- return dimensions;
- }
-
- /**
- * Returns the names of the dimensions which may be used in the performance results.
- *
- * @return The list of the dimension names
- */
- public static List<String> getDimensions() {
- List<String> dimensions = new ArrayList<>();
- for (Dim element : SUPPORTED_DIMENSIONS) {
- dimensions.add(element.getName());
- }
- return dimensions;
- }
-
- /**
- * Return the dimension corresponding to the given id.
- *
- * @param id
- * The id of the searched dimension.
- * @return The {@link Dimension} or <code>null</code> if none is found.
- */
- public static Dimension getDimension(int id) {
- int length = SUPPORTED_DIMENSIONS.length;
- for (int i = 0; i < length; i++) {
- if (SUPPORTED_DIMENSIONS[i].getId() == id) {
- return SUPPORTED_DIMENSIONS[i];
- }
- }
- return null;
- }
-
- /**
- * Return the dimension corresponding to the given id.
- *
- * @param name
- * The name of the searched dimension.
- * @return The {@link Dimension} or <code>null</code> if none is found.
- */
- public static Dimension getDimension(String name) {
- int length = SUPPORTED_DIMENSIONS.length;
- for (int i = 0; i < length; i++) {
- if (SUPPORTED_DIMENSIONS[i].getName().equals(name)) {
- return SUPPORTED_DIMENSIONS[i];
- }
- }
- return null;
- }
-
- /**
- * Return the descriptors of the configurations used for the performances.
- *
- * @return An array of 2 strings, the former is the name of the configuration and the latter its description.
- */
- public static String[][] getConfigDescriptors() {
- String descriptors = System.getProperty(ECLIPSE_PERF_CONFIGS_DESCRIPTOR, DEFAULT_CONFIG_DESCRIPTORS);
- StringTokenizer tokenizer = new StringTokenizer(descriptors, ",;"); //$NON-NLS-1$
- List<String[]> list = new ArrayList<>();
- while (tokenizer.hasMoreTokens()) {
- String[] config = new String[2];
- config[0] = tokenizer.nextToken().trim(); // config name
- config[1] = tokenizer.nextToken().trim(); // config description
- list.add(config);
- }
- String[][] configDescriptors = new String[list.size()][];
- list.toArray(configDescriptors);
- return configDescriptors;
- }
-
- public static String getDBPassword() {
- String dbloc = System.getProperty(ECLIPSE_PERF_DBLOC);
- if (dbloc != null) {
- logInfo("System property " + ECLIPSE_PERF_DBLOC + " found to equal " + dbloc + " in getDBPassword"); //$NON-NLS-1$ //$NON-NLS-2$
- Variations keys = new Variations();
- keys.parsePairs(ECLIPSE_PERF_DBLOC + '=' + dbloc);
- return keys.getProperty(DB_PASSWD, DEFAULT_DB_PASSWORD);
- }
- return DEFAULT_DB_PASSWORD;
- }
-
- /*
- * -Declipse.perf.config=<varname1>=<varval1>;<varname2>=<varval2>;...;<varnameN>=<varvalN>
- */
- public static Variations getVariations() {
- Variations keys = new Variations();
- String configKey = System.getProperty(ECLIPSE_PERF_CONFIG);
- if (configKey != null)
- keys.parsePairs(configKey);
- return keys;
- }
-
- /*
- * -Declipse.perf.assertAgainst=<varname1>=<varval1>;<varname2>=<varval2>;...;<varnameN>=<varvalN> Returns null if assertAgainst
- * property isn't defined.
- */
- public static Variations getAssertAgainst() {
- String assertKey = System.getProperty(ECLIPSE_PERF_ASSERTAGAINST);
- if (assertKey != null) {
- Variations keys = getVariations();
- if (keys == null)
- keys = new Variations();
- keys.parsePairs(assertKey);
- return keys;
- }
- return null;
- }
-
- // logging
-
- public static void logError(String message) {
- if (message == null)
- message = ""; //$NON-NLS-1$
- log(new Status(IStatus.ERROR, PLUGIN_ID, INTERNAL_ERROR, message, null));
- }
-
- public static void logWarning(String message) {
- if (message == null)
- message = ""; //$NON-NLS-1$
- log(new Status(IStatus.WARNING, PLUGIN_ID, IStatus.OK, message, null));
- }
- public static void logInfo(String message) {
- if (message == null)
- message = ""; //$NON-NLS-1$
- log(new Status(IStatus.INFO, PLUGIN_ID, IStatus.OK, message, null));
- }
- public static void log(Throwable e) {
- log(new Status(IStatus.ERROR, PLUGIN_ID, INTERNAL_ERROR, "Internal Error", e)); //$NON-NLS-1$
- }
-
- public static void log(IStatus status) {
- if (fgPlugin != null) {
- fgPlugin.getLog().log(status);
- } else {
- switch (status.getSeverity()) {
- case IStatus.ERROR:
- System.err.println("Error: " + status.getMessage()); //$NON-NLS-1$
- break;
- case IStatus.WARNING:
- System.err.println("Warning: " + status.getMessage()); //$NON-NLS-1$
- break;
- default:
- break;
- }
- Throwable exception = status.getException();
- if (exception != null)
- exception.printStackTrace(System.err);
- }
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/SystemTimePerformanceMeter.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/SystemTimePerformanceMeter.java
deleted file mode 100644
index 0cd3b918..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/SystemTimePerformanceMeter.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.test.internal.performance.data.DataPoint;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.data.Sample;
-import org.eclipse.test.internal.performance.data.Scalar;
-
-public class SystemTimePerformanceMeter extends InternalPerformanceMeter {
-
- private static final int DEFAULT_INITIAL_CAPACITY = 3;
-
- private long fStartDate;
- private List<Long> fStartTime;
- private List<Long> fStopTime;
-
- /**
- * @param scenarioId
- * the scenario id
- */
- public SystemTimePerformanceMeter(String scenarioId) {
- this(scenarioId, DEFAULT_INITIAL_CAPACITY);
- fStartDate = System.currentTimeMillis();
- }
-
- /**
- * @param scenarioId
- * the scenario id
- * @param initalCapacity
- * the initial capacity in the number of measurments
- */
- public SystemTimePerformanceMeter(String scenarioId, int initalCapacity) {
- super(scenarioId);
- fStartTime = new ArrayList<>(initalCapacity);
- fStopTime = new ArrayList<>(initalCapacity);
- }
-
- @Override
- public void start() {
- fStartTime.add(Long.valueOf(System.currentTimeMillis()));
- }
-
- @Override
- public void stop() {
- fStopTime.add(Long.valueOf(System.currentTimeMillis()));
- }
-
- @Override
- public void commit() {
- Assert.isTrue(fStartTime.size() == fStopTime.size());
- System.out.println("Scenario: " + getScenarioName()); //$NON-NLS-1$
- int maxOccurenceLength = String.valueOf(fStartTime.size()).length();
- for (int i = 0; i < fStartTime.size(); i++) {
- String occurence = String.valueOf(i + 1);
- System.out
- .println("Occurence " + replicate(" ", maxOccurenceLength - occurence.length()) + occurence + ": " + (fStopTime.get(i).longValue() - fStartTime.get(i).longValue())); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- private String replicate(String s, int n) {
- StringBuilder buf = new StringBuilder(n * s.length());
- for (int i = 0; i < n; i++)
- buf.append(s);
- return buf.toString();
- }
-
- @Override
- public void dispose() {
- fStartTime = null;
- fStopTime = null;
- super.dispose();
- }
-
- @Override
- public Sample getSample() {
- Assert.isTrue(fStartTime.size() == fStopTime.size());
-
- Map<String, String> properties = new HashMap<>();
- /*
- * properties.put(DRIVER_PROPERTY, PerformanceTestPlugin.getBuildId()); properties.put(HOSTNAME_PROPERTY, getHostName());
- */
-
- DataPoint[] data = new DataPoint[2 * fStartTime.size()];
- for (int i = 0; i < fStartTime.size(); i++) {
- data[2 * i] = createDataPoint(BEFORE, InternalDimensions.SYSTEM_TIME, fStartTime.get(i).longValue());
- data[2 * i + 1] = createDataPoint(AFTER, InternalDimensions.SYSTEM_TIME, fStopTime.get(i).longValue());
- }
-
- return new Sample(getScenarioName(), fStartDate, properties, data);
- }
-
- private DataPoint createDataPoint(int step, Dim dimension, long value) {
- Map<Dim, Scalar> scalars = new HashMap<>();
- scalars.put(dimension, new Scalar(dimension, value));
- return new DataPoint(step, scalars);
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/SystemTimePerformanceMeterFactory.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/SystemTimePerformanceMeterFactory.java
deleted file mode 100644
index b10d2102..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/SystemTimePerformanceMeterFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance;
-
-import org.eclipse.test.performance.PerformanceMeter;
-
-public class SystemTimePerformanceMeterFactory extends PerformanceMeterFactory {
-
- @Override
- protected PerformanceMeter doCreatePerformanceMeter(String scenario) {
- return new SystemTimePerformanceMeter(scenario);
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DataPoint.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DataPoint.java
deleted file mode 100644
index 92f75425..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DataPoint.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.data;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @since 3.1
- */
-public class DataPoint implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- private int fStep;
- private Map<Dim, Scalar> fScalars;
-
- public DataPoint(int step, Map<Dim, Scalar> values) {
- fStep = step;
- fScalars = values;
- }
-
- public int getStep() {
- return fStep;
- }
-
- public Dim[] getDimensions() {
- Set<Dim> set = fScalars.keySet();
- return set.toArray(new Dim[set.size()]);
- }
-
- public Collection<Dim> getDimensions2() {
- return fScalars.keySet();
- }
-
- public boolean contains(Dim dimension) {
- return fScalars.containsKey(dimension);
- }
-
- public Scalar[] getScalars() {
- return fScalars.values().toArray(new Scalar[fScalars.size()]);
- }
-
- public Scalar getScalar(Dim dimension) {
- return fScalars.get(dimension);
- }
-
- @Override
- public String toString() {
- return "DataPoint [step= " + fStep + ", #dimensions: " + fScalars.size() + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Dim.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Dim.java
deleted file mode 100644
index c1bdc8cd..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Dim.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.data;
-
-import org.eclipse.test.internal.performance.InternalDimensions;
-import org.eclipse.test.internal.performance.PerformanceTestPlugin;
-import org.eclipse.test.performance.Dimension;
-
-/**
- * @since 3.1
- */
-public class Dim implements Dimension {
-
- private static final long serialVersionUID = 1L;
-
- private static Dim[] fgRegisteredDimensions = new Dim[100];
-
- private final int fId;
- private final Unit fUnit;
- private final int fMultiplier;
- private String shortName;
-
- public static Dim getDimension(int id) {
- InternalDimensions.COMITTED.getId(); // trigger loading class InternalDimensions
- if (id >= 0 && id < fgRegisteredDimensions.length)
- return fgRegisteredDimensions[id];
- return null;
- }
-
- public Dim(int id) {
- this(id, Unit.CARDINAL, 1);
- }
-
- public Dim(int id, Unit unit) {
- this(id, unit, 1);
- }
-
- public Dim(int id, Unit unit, int multiplier) {
-
- if (id >= 0 && id < fgRegisteredDimensions.length) {
- if (fgRegisteredDimensions[id] == null) {
- fgRegisteredDimensions[id] = this;
- } else
- PerformanceTestPlugin.logError("dimension with id '" + id + "' already registered"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- this.fId = id;
- this.fUnit = unit;
- this.fMultiplier = multiplier;
- }
-
- public int getId() {
- return this.fId;
- }
-
- public Unit getUnit() {
- return this.fUnit;
- }
-
- public int getMultiplier() {
- return this.fMultiplier;
- }
-
- public String getName() {
- return DimensionMessages.getString(this.fId);
- }
-
- /**
- * Returns the label for the current dimension. This label is done keeping only uppercase characters from the name. It's
- * typically used for anchor references based on dimension.
- *
- * @return The short name of the dimension
- */
- public String getLabel() {
- if (this.shortName == null) {
- String name = getName();
- StringBuilder buffer = new StringBuilder();
- int length = name.length();
- for (int i = 0; i < length; i++) {
- if (Character.isUpperCase(name.charAt(i))) {
- buffer.append(name.charAt(i));
- }
- }
- this.shortName = buffer.toString();
- }
- return this.shortName;
- }
-
- public String getDescription() {
- return DimensionMessages.getString(this.fId);
- }
-
- @Override
- public String toString() {
- return "Dimension [name=" + getName() + ", " + this.fUnit + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- public String getDisplayValue(Scalar scalar) {
- return this.fUnit.getDisplayValue1(scalar.getMagnitude(), this.fMultiplier);
- }
-
- public String getDisplayValue(double scalar) {
- return this.fUnit.getDisplayValue1(scalar / this.fMultiplier);
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DimensionMessages.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DimensionMessages.java
deleted file mode 100644
index 0ff24829..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DimensionMessages.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.data;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @since 3.1
- */
-public class DimensionMessages {
-
- private static final String BUNDLE_NAME = "org.eclipse.test.internal.performance.data.DimensionMessages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
- private DimensionMessages() {
- // emtpy
- }
-
- public static String getString(int id) {
- return getString("dimension." + id); //$NON-NLS-1$
- }
-
- public static String getDescription(int id) {
- return getString("dimension.description." + id); //$NON-NLS-1$
- }
-
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- }
- catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DimensionMessages.properties b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DimensionMessages.properties
deleted file mode 100644
index 4a2f5158..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/DimensionMessages.properties
+++ /dev/null
@@ -1,97 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-# Dimension Name
-dimension.2=System Time
-dimension.3=Used Java Heap
-dimension.4=Working Set
-dimension.7=Committed
-dimension.8=Working Set Peak
-dimension.9=Elapsed Process
-dimension.10=User time
-dimension.11=Kernel time
-dimension.19=Page Faults
-dimension.20=CPU Time
-dimension.22=Commit Limit
-dimension.23=Commit Peak
-dimension.24=Physical Memory
-dimension.25=Physical Available
-dimension.26=System Cache
-dimension.27=Kernel Total
-dimension.28=Kernel Paged
-dimension.29=Kernel Nonpaged
-dimension.30=Page Size
-dimension.31=Handle Count
-dimension.32=Process Count
-dimension.33=Thread Count
-dimension.34=GDI Objects
-dimension.35=USER Objects
-dimension.36=Open Handles
-dimension.37=Commit Total
-dimension.38=Read Count
-dimension.39=Write Count
-dimension.40=Bytes Read
-dimension.41=Bytes Written
-dimension.42=Hard Page Faults
-dimension.43=Soft Page Faults
-dimension.44=Text Size
-dimension.45=Data Size
-dimension.46=Library Size
-dimension.48=Used Memory
-dimension.49=Free Memory
-dimension.50=Buffers Memory
-dimension.51=Free Java Memory
-dimension.52=Invocation Count
-
-# Dimension Description
-dimension.description.2=* no longer measured, same as elapsed time, see PerformanceMonitor *
-dimension.description.3=Change in the amount of memory allocated for Java objects.
-dimension.description.4=Change in the amount of physical memory used by the process (other data resides in swap space).
-dimension.description.7=Change in the amount of allocated memory (both, in physical memory and swap space, can be preallocated for future use).
-dimension.description.8=Increase of the maximum working set size, useful with start-up tests.
-dimension.description.9=Amount of wall-clock time.
-dimension.description.10=User time
-dimension.description.11=Amount of time the process ran on the CPU, while the CPU was in kernel mode.
-dimension.description.19=Number of memory pages that were loaded from swap space on disk or from memory (i.e., in the latter case, they were not mapped in the process' page table, but already present in memory for some reason).
-dimension.description.20=Amount of time the process ran on the CPU.
-dimension.description.22=Commit Limit
-dimension.description.23=Commit Peak
-dimension.description.24=Physical Memory
-dimension.description.25=Physical Available
-dimension.description.26=System Cache
-dimension.description.27=Kernel Total
-dimension.description.28=Kernel Paged
-dimension.description.29=Kernel Nonpaged
-dimension.description.30=Page Size
-dimension.description.31=Handle Count
-dimension.description.32=Process Count
-dimension.description.33=Thread Count
-dimension.description.34=Change in the number of GDI (Graphics Device Interface) objects, can be useful for UI tests (particularly start-up tests).
-dimension.description.35=USER Objects
-dimension.description.36=Open Handles
-dimension.description.37=Commit Total
-dimension.description.38=Read Count
-dimension.description.39=Write Count
-dimension.description.40=Bytes Read
-dimension.description.41=Bytes Written
-dimension.description.42=Number of memory pages that were loaded from swap space on disk.
-dimension.description.43=Number of memory pages that were loaded from memory (i.e., they were not mapped in the process' page table, but already present in memory for some reason).
-dimension.description.44=Change in the process' code memory size, useful with start-up tests.
-dimension.description.45=Change in the process' data and stack memory size.
-dimension.description.46=Change in the process' library memory size.
-dimension.description.48=Used Memory
-dimension.description.49=Free Memory
-dimension.description.50=Buffers Memory
-dimension.description.51=Free Java Memory
-dimension.description.52=Invocation Count
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Sample.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Sample.java
deleted file mode 100644
index 32d5196c..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Sample.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2019 IBM Corporation and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.data;
-
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.test.performance.Dimension;
-import org.junit.Assert;
-
-/**
- * @since 3.1
- */
-public class Sample implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- String fScenarioID;
- long fStartTime;
- Map<String, String> fProperties;
- DataPoint[] fDataPoints;
-
- boolean fIsSummary;
- boolean fSummaryIsGlobal;
- String fShortName;
- Dimension[] fSummaryDimensions;
- int fCommentType;
- String fComment;
-
- public Sample(String scenarioID, long starttime, Map<String, String> properties, DataPoint[] dataPoints) {
- Assert.assertTrue("scenarioID is null", scenarioID != null); //$NON-NLS-1$
- fScenarioID = scenarioID;
- fStartTime = starttime;
- fProperties = properties;
- fDataPoints = dataPoints;
- }
-
- public Sample(DataPoint[] dataPoints) {
- fDataPoints = dataPoints;
- }
-
- public void setComment(int commentType, String comment) {
- fCommentType = commentType;
- fComment = comment;
- }
-
- public void tagAsSummary(boolean global, String shortName, Dimension[] summaryDimensions, int commentType, String comment) {
- fIsSummary = true;
- fSummaryIsGlobal = global;
- fShortName = shortName;
- fSummaryDimensions = summaryDimensions;
- fCommentType = commentType;
- fComment = comment;
- }
-
- public String getScenarioID() {
- return fScenarioID;
- }
-
- public long getStartTime() {
- return fStartTime;
- }
-
- public String getProperty(String name) {
- return fProperties.get(name);
- }
-
- public String[] getPropertyKeys() {
- if (fProperties == null)
- return new String[0];
- Set<String> set = fProperties.keySet();
- return set.toArray(new String[set.size()]);
- }
-
- public DataPoint[] getDataPoints() {
- DataPoint[] dataPoints = new DataPoint[fDataPoints.length];
- System.arraycopy(fDataPoints, 0, dataPoints, 0, fDataPoints.length);
- return dataPoints;
- }
-
- @Override
- public String toString() {
- return "MeteringSession [scenarioID= " + fScenarioID + ", #datapoints: " + fDataPoints.length + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- public boolean isSummary() {
- return fIsSummary;
- }
-
- public boolean isGlobal() {
- return fSummaryIsGlobal;
- }
-
- public String getShortname() {
- return fShortName;
- }
-
- public Dimension[] getSummaryDimensions() {
- return fSummaryDimensions;
- }
-
- public int getCommentType() {
- return fCommentType;
- }
-
- public String getComment() {
- return fComment;
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Scalar.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Scalar.java
deleted file mode 100644
index f9c65465..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Scalar.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.data;
-
-import java.io.Serializable;
-
-/**
- * @since 3.1
- */
-public class Scalar implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- private Dim fDimension;
- private long fMagnitude;
-
- public Scalar(Dim dimension, long extent) {
- fDimension = dimension;
- fMagnitude = extent;
- }
-
- public Dim getDimension() {
- return fDimension;
- }
-
- public long getMagnitude() {
- return fMagnitude;
- }
-
- @Override
- public String toString() {
- if (fDimension == null)
- return "Scalar [dimension= " + fDimension + ", magnitude= " + fMagnitude + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return "Scalar [" + fDimension.getName() + ": " + fDimension.getDisplayValue(this) + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Unit.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Unit.java
deleted file mode 100644
index 99e91ebe..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/data/Unit.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.data;
-
-import java.io.Serializable;
-import java.text.NumberFormat;
-
-/**
- * @since 3.1
- */
-public class Unit implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- public static final Unit SECOND = new Unit("s", "second", false); //$NON-NLS-1$ //$NON-NLS-2$
- public static final Unit BYTE = new Unit("byte", "byte", true); //$NON-NLS-1$ //$NON-NLS-2$
- public static final Unit CARDINAL = new Unit("", "", false); //$NON-NLS-1$ //$NON-NLS-2$
- public static final Unit INVOCATION = new Unit("invoc.", "invocation", false); //$NON-NLS-1$ //$NON-NLS-2$
-
- private static final int T_DECIMAL = 1000;
- private static final int T_BINARY = 1024;
-
- // protected static final String[] PREFIXES= new String[] { "y", "z", "a", "f", "p", "n", "u", "m", "", "k", "M", "G", "T", "P",
- // "E", "Z", "Y" };
- // protected static final String[] FULL_PREFIXES= new String[] { "yocto", "zepto", "atto", "femto", "pico", "nano", "micro",
- // "milli", "", "kilo", "mega", "giga", "tera", "peta", "exa", "zetta", "yotta" };
- // protected static final String[] BINARY_PREFIXES= new String[] { "", "", "", "", "", "", "", "", "", "ki", "Mi", "Gi", "Ti",
- // "Pi", "Ei", "Zi", "Yi" };
- // protected static final String[] BINARY_FULL_PREFIXES= new String[] { "", "", "", "", "", "", "", "", "", "kibi", "mebi",
- // "gibi", "tebi", "pebi", "exbi", "zebi", "yobi" };
-
- private final String fShortName;
- private final String fFullName;
- private final boolean fIsBinary;
-
- // private final int fPrecision= 2;
-
- public Unit(String shortName, String fullName, boolean binary) {
- fShortName = shortName;
- fFullName = fullName;
- fIsBinary = binary;
- }
-
- public String getShortName() {
- return fShortName;
- }
-
- public String getFullName() {
- return fFullName;
- }
-
- public String getDisplayValue1(long magnitudel, int multiplier) {
-
- // return getDisplayValue1(magnitudel / multiplier);
- // return Long.toString((double)(magnitudel / multiplier));
- return getDisplayValue1(magnitudel / multiplier);
- }
-
- public String getDisplayValue1(double magnitude) {
-
- if (this == SECOND)
- return formatedTime((long) (magnitude * 1000.0));
- return formatEng((long) (magnitude));
-
- /*
- * int div= fIsBinary ? T_BINARY : T_DECIMAL; boolean negative= magnitude < 0; double mag= Math.abs(magnitude), ratio= mag /
- * div; int divs= PREFIXES.length / 2; while (ratio >= 1) { mag= ratio; divs++; ratio= mag / div; } ratio= mag * div; while
- * (ratio > 0.0 && ratio < div) { mag= ratio; divs--; ratio= mag * div; }
- *
- * if (negative) mag= -mag;
- *
- * String[] prefixes= fIsBinary ? BINARY_PREFIXES : PREFIXES; NumberFormat format= NumberFormat.getInstance();
- * format.setMaximumFractionDigits(fPrecision); if (divs > 0 && divs <= prefixes.length) return prefixes[divs] +
- * getShortName() + format.format(mag); else return getShortName() + magnitude;
- */
- }
-
- @Override
- public String toString() {
- return "Unit [" + getShortName() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Answer a formatted string for the elapsed time (minutes, hours or days) that is appropriate for the scale of the time.
- *
- * @param diff
- * time in milliseconds
- *
- * I copied this from karasiuk.utility.TimeIt
- * @return the formatted time
- */
- public static String formatedTime(long diff) {
- long sign = diff < 0 ? -1 : 1;
- diff = Math.abs(diff);
-
- if (diff < 1000)
- return String.valueOf(sign * diff) + "ms"; //$NON-NLS-1$
-
- NumberFormat nf = NumberFormat.getInstance();
- nf.setMaximumFractionDigits(2);
- double d = diff / 1000.0;
- if (d < 60)
- return nf.format(sign * d) + "s"; //$NON-NLS-1$
-
- d = d / 60.0;
- if (d < 60.0)
- return nf.format(sign * d) + "m"; //$NON-NLS-1$
-
- d = d / 60.0;
- if (d < 24.0)
- return nf.format(sign * d) + "h"; //$NON-NLS-1$
-
- d = d / 24.0;
- return nf.format(sign * d) + "d"; //$NON-NLS-1$
- }
-
- /**
- * Answer a number formatted using engineering conventions, K thousands, M millions, G billions and T trillions.
- *
- * I copied this method from karasiuk.utility.Misc.
- *
- * @param n
- * the number to format
- * @return the formatted number
- */
- public String formatEng(long n) {
- long sign = n < 0 ? -1 : 1;
- n = Math.abs(n);
- int TSD = fIsBinary ? T_BINARY : T_DECIMAL;
- if (n < TSD)
- return String.valueOf(sign * n);
- double d = ((double) n) / TSD;
- NumberFormat nf = NumberFormat.getInstance();
- nf.setMaximumFractionDigits(2);
- if (d < TSD)
- return nf.format(sign * d) + "K"; //$NON-NLS-1$
-
- d = d / TSD;
- if (d < TSD)
- return nf.format(sign * d) + "M"; //$NON-NLS-1$
-
- d = d / TSD;
- if (d < TSD)
- return nf.format(sign * d) + "G"; //$NON-NLS-1$
-
- d = d / TSD;
- return nf.format(sign * d) + "T"; //$NON-NLS-1$
- }
-
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/Report.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/Report.java
deleted file mode 100644
index 9cd22c4f..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/Report.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.db;
-
-import java.io.PrintStream;
-import java.util.HashMap;
-
-public class Report {
-
- private static final String LEFT = "l"; //$NON-NLS-1$
- private static final String RIGHT = "r"; //$NON-NLS-1$
-
- private int fGap;
- private int fColumn;
- private int fRow;
- private int fRows;
- private HashMap<String, String> fContent = new HashMap<>();
- private HashMap<String, Integer> fWidths = new HashMap<>();
- private HashMap<String, String> fAlignment = new HashMap<>();
-
- public Report(int gap) {
- fGap = gap;
- }
-
- public void addCell(String value) {
- setCell(fColumn, fRow, value, LEFT);
- fColumn++;
- }
-
- public void addCellRight(String value) {
- setCell(fColumn, fRow, value, RIGHT);
- fColumn++;
- }
-
- public void nextRow() {
- fRow++;
- fColumn = 0;
- }
-
- private void setCell(int x, int y, String value, String align) {
- fContent.put(String.valueOf(x + "/" + y), value); //$NON-NLS-1$
- fAlignment.put(String.valueOf(x + "/" + y), align); //$NON-NLS-1$
- Integer w = fWidths.get(Integer.toString(x));
- if (w == null)
- w = Integer.valueOf(value.length());
- else
- w = Integer.valueOf(Math.max(w.intValue(), value.length()));
- fWidths.put(Integer.toString(x), w);
- fRows = Math.max(fRows, y + 1);
- }
-
- private String getCell(int x, int y) {
- return fContent.get(x + "/" + y); //$NON-NLS-1$
- }
-
- public void print(PrintStream ps) {
- int n = fWidths.size();
- for (int y = 0; y < fRows; y++) {
- for (int x = 0; x < n; x++) {
- Integer w = fWidths.get(Integer.toString(x));
- int ww = w.intValue();
- String s = getCell(x, y);
- if (s == null)
- s = ""; //$NON-NLS-1$
-
- if (x > 0)
- for (int g = 0; g < fGap; g++)
- ps.print(' ');
-
- int www = ww - s.length();
- String align = fAlignment.get(x + "/" + y); //$NON-NLS-1$
- if (LEFT.equalsIgnoreCase(align))
- ps.print(s);
- for (int l = 0; l < www; l++)
- ps.print(' ');
- if (RIGHT.equalsIgnoreCase(align))
- ps.print(s);
- }
- ps.println();
- }
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/SQL.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/SQL.java
deleted file mode 100644
index a725a126..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/SQL.java
+++ /dev/null
@@ -1,517 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.db;
-
-import java.math.BigDecimal;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.sql.Timestamp;
-
-/*
- * Any SQL should only be used here.
- */
-public class SQL {
-
- private boolean fCompatibility = false;
-
- protected Connection fConnection;
-
- private PreparedStatement fInsertVariation, fInsertScenario, fInsertSample, fInsertDataPoint, fInsertScalar;
- private PreparedStatement fQueryComment, fInsertComment, fQueryComment2;
- private PreparedStatement fQueryVariation, fQueryVariations, fQueryScenario, fQueryAllScenarios, fQueryDatapoints,
- fQueryScalars;
- private PreparedStatement fInsertSummaryEntry, fUpdateScenarioShortName, fQuerySummaryEntry, fQueryGlobalSummaryEntries,
- fQuerySummaryEntries;
- private PreparedStatement fInsertFailure, fQueryFailure;
-
- protected SQL(Connection con) throws SQLException {
- fConnection = con;
-
- boolean needsUpgrade = true;
- boolean needsInitialization = true;
- boolean needsFailures = true;
- boolean needsComments = true;
-
- try (Statement statement = fConnection.createStatement()) {
- try (ResultSet rs = statement.executeQuery("select SYS.SYSTABLES.TABLENAME from SYS.SYSTABLES where SYS.SYSTABLES.TABLENAME not like 'SYS%'")) { //$NON-NLS-1$
- while (rs.next()) {
- String tablename = rs.getString(1);
- if ("SUMMARYENTRY".equals(tablename)) //$NON-NLS-1$
- needsUpgrade = false;
- else if ("CONFIG_ORG".equals(tablename)) //$NON-NLS-1$
- fCompatibility = true;
- else if ("VARIATION".equals(tablename)) //$NON-NLS-1$
- needsInitialization = false;
- else if ("FAILURE".equals(tablename)) //$NON-NLS-1$
- needsFailures = false;
- else if ("COMMENT".equals(tablename)) //$NON-NLS-1$
- needsComments = false;
- }
- }
- if (!fCompatibility) {
- // check whether table SAMPLE still has the CONFIG_ID column
- try (ResultSet rs = statement.executeQuery("select count(*) from SYS.SYSTABLES, SYS.SYSCOLUMNS where SYS.SYSTABLES.TABLENAME = 'SAMPLE' and " + //$NON-NLS-1$
- "SYS.SYSTABLES.TABLEID = SYS.SYSCOLUMNS.REFERENCEID and SYS.SYSCOLUMNS.COLUMNNAME = 'CONFIG_ID' ")) { //$NON-NLS-1$
- if (rs.next() && rs.getInt(1) == 1)
- fCompatibility = true;
- }
- }
- }
-
- if (needsInitialization)
- initialize();
- else {
- if (needsUpgrade)
- upgradeDB();
- else if (needsFailures)
- addFailureTable();
- if (needsComments)
- addCommentTable();
- }
- }
-
- protected void dispose() throws SQLException {
- if (fInsertVariation != null)
- fInsertVariation.close();
- if (fInsertScenario != null)
- fInsertScenario.close();
- if (fInsertSample != null)
- fInsertSample.close();
- if (fInsertDataPoint != null)
- fInsertDataPoint.close();
- if (fInsertScalar != null)
- fInsertScalar.close();
- if (fInsertSummaryEntry != null)
- fInsertSummaryEntry.close();
- if (fInsertFailure != null)
- fInsertFailure.close();
- if (fInsertComment != null)
- fInsertComment.close();
- if (fUpdateScenarioShortName != null)
- fUpdateScenarioShortName.close();
- if (fQueryDatapoints != null)
- fQueryDatapoints.close();
- if (fQueryScalars != null)
- fQueryScalars.close();
- if (fQueryVariation != null)
- fQueryVariation.close();
- if (fQueryScenario != null)
- fQueryScenario.close();
- if (fQueryAllScenarios != null)
- fQueryAllScenarios.close();
- if (fQueryVariations != null)
- fQueryVariations.close();
- if (fQueryGlobalSummaryEntries != null)
- fQueryGlobalSummaryEntries.close();
- if (fQuerySummaryEntries != null)
- fQuerySummaryEntries.close();
- if (fQueryFailure != null)
- fQueryFailure.close();
- if (fQueryComment != null)
- fQueryComment.close();
- if (fQueryComment2 != null)
- fQueryComment2.close();
- }
-
- private void initialize() throws SQLException {
- try (Statement stmt = fConnection.createStatement()) {
- stmt.executeUpdate("create table VARIATION (" + //$NON-NLS-1$
- "ID int unique not null GENERATED ALWAYS AS IDENTITY," + //$NON-NLS-1$
- "KEYVALPAIRS varchar(10000) not null " + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
- stmt.executeUpdate("create table SCENARIO (" + //$NON-NLS-1$
- "ID int unique not null GENERATED ALWAYS AS IDENTITY," + //$NON-NLS-1$
- "NAME varchar(256) not null," + //$NON-NLS-1$
- "SHORT_NAME varchar(40)" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
- stmt.executeUpdate("create table SAMPLE (" + //$NON-NLS-1$
- "ID int not null GENERATED ALWAYS AS IDENTITY," + //$NON-NLS-1$
- "VARIATION_ID int not null," + //$NON-NLS-1$
- "SCENARIO_ID int not null," + //$NON-NLS-1$
- "STARTTIME timestamp" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
- stmt.executeUpdate("create table DATAPOINT (" + //$NON-NLS-1$
- "ID int not null GENERATED ALWAYS AS IDENTITY," + //$NON-NLS-1$
- "SAMPLE_ID int not null," + //$NON-NLS-1$
- "SEQ int," + //$NON-NLS-1$
- "STEP int" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
- stmt.executeUpdate("create table SCALAR (" + //$NON-NLS-1$
- "DATAPOINT_ID int not null," + //$NON-NLS-1$
- "DIM_ID int not null," + //$NON-NLS-1$
- "VALUE bigint" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
- stmt.executeUpdate("create table SUMMARYENTRY (" + //$NON-NLS-1$
- "VARIATION_ID int not null," + //$NON-NLS-1$
- "SCENARIO_ID int not null," + //$NON-NLS-1$
- "DIM_ID int not null," + //$NON-NLS-1$
- "IS_GLOBAL smallint not null," + //$NON-NLS-1$
- "COMMENT_ID int not null" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
- stmt.executeUpdate("create table FAILURE (" + //$NON-NLS-1$
- "VARIATION_ID int not null," + //$NON-NLS-1$
- "SCENARIO_ID int not null," + //$NON-NLS-1$
- "MESSAGE varchar(1000) not null" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
- stmt.executeUpdate("create table COMMENT (" + //$NON-NLS-1$
- "ID int unique not null GENERATED ALWAYS AS IDENTITY," + //$NON-NLS-1$
- "KIND int not null," + //$NON-NLS-1$
- "TEXT varchar(400) not null" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
-
- // Primary/unique
- stmt.executeUpdate("alter table VARIATION add constraint VA_KVP primary key (KEYVALPAIRS)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table SCENARIO add constraint SC_NAME primary key (NAME)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table SAMPLE add constraint SA_ID primary key (ID)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table DATAPOINT add constraint DP_ID primary key (ID)"); //$NON-NLS-1$
-
- // Foreign
- stmt.executeUpdate("alter table SAMPLE add constraint SAMPLE_CONSTRAINT " + //$NON-NLS-1$
- "foreign key (VARIATION_ID) references VARIATION (ID)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table SAMPLE add constraint SAMPLE_CONSTRAINT2 " + //$NON-NLS-1$
- "foreign key (SCENARIO_ID) references SCENARIO (ID)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table DATAPOINT add constraint DP_CONSTRAINT " + //$NON-NLS-1$
- "foreign key (SAMPLE_ID) references SAMPLE (ID)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table SCALAR add constraint SCALAR_CONSTRAINT " + //$NON-NLS-1$
- "foreign key (DATAPOINT_ID) references DATAPOINT (ID)"); //$NON-NLS-1$
-
- stmt.executeUpdate("alter table SUMMARYENTRY add constraint FP_CONSTRAINT " + //$NON-NLS-1$
- "foreign key (VARIATION_ID) references VARIATION (ID)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table SUMMARYENTRY add constraint FP_CONSTRAINT2 " + //$NON-NLS-1$
- "foreign key (SCENARIO_ID) references SCENARIO (ID)"); //$NON-NLS-1$
-
- stmt.executeUpdate("alter table FAILURE add constraint FA_CONSTRAINT " + //$NON-NLS-1$
- "foreign key (VARIATION_ID) references VARIATION (ID)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table FAILURE add constraint FA_CONSTRAINT2 " + //$NON-NLS-1$
- "foreign key (SCENARIO_ID) references SCENARIO (ID)"); //$NON-NLS-1$
-
- fConnection.commit();
-
- }
- }
-
- private void upgradeDB() throws SQLException {
- try (Statement stmt = fConnection.createStatement();){
- stmt.executeUpdate("create table SUMMARYENTRY (" + //$NON-NLS-1$
- "VARIATION_ID int not null," + //$NON-NLS-1$
- "SCENARIO_ID int not null," + //$NON-NLS-1$
- "DIM_ID int not null," + //$NON-NLS-1$
- "IS_GLOBAL smallint not null," + //$NON-NLS-1$
- "COMMENT_ID int not null" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
- stmt.executeUpdate("alter table SUMMARYENTRY add constraint FP_CONSTRAINT " + //$NON-NLS-1$
- "foreign key (VARIATION_ID) references VARIATION (ID)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table SUMMARYENTRY add constraint FP_CONSTRAINT2 " + //$NON-NLS-1$
- "foreign key (SCENARIO_ID) references SCENARIO (ID)"); //$NON-NLS-1$
-
- stmt.executeUpdate("alter table SCENARIO add column SHORT_NAME varchar(40)"); //$NON-NLS-1$
-
- fConnection.commit();
-
- }
- }
-
- private void addCommentTable() throws SQLException {
- try (Statement stmt = fConnection.createStatement()){
- stmt.executeUpdate("create table COMMENT (" + //$NON-NLS-1$
- "ID int unique not null GENERATED ALWAYS AS IDENTITY," + //$NON-NLS-1$
- "KIND int not null," + //$NON-NLS-1$
- "TEXT varchar(400) not null" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
-
- stmt.executeUpdate("alter table SUMMARYENTRY add column COMMENT_ID int not null default 0"); //$NON-NLS-1$
-
- fConnection.commit();
-
- }
- }
-
- private void addFailureTable() throws SQLException {
- try (Statement stmt = fConnection.createStatement();){
- stmt.executeUpdate("create table FAILURE (" + //$NON-NLS-1$
- "VARIATION_ID int not null," + //$NON-NLS-1$
- "SCENARIO_ID int not null," + //$NON-NLS-1$
- "MESSAGE varchar(1000) not null" + //$NON-NLS-1$
- ")" //$NON-NLS-1$
- );
-
- stmt.executeUpdate("alter table FAILURE add constraint FA_CONSTRAINT " + //$NON-NLS-1$
- "foreign key (VARIATION_ID) references VARIATION (ID)"); //$NON-NLS-1$
- stmt.executeUpdate("alter table FAILURE add constraint FA_CONSTRAINT2 " + //$NON-NLS-1$
- "foreign key (SCENARIO_ID) references SCENARIO (ID)"); //$NON-NLS-1$
-
- fConnection.commit();
-
- }
- }
-
- static int create(PreparedStatement stmt) throws SQLException {
- stmt.executeUpdate();
- try (ResultSet rs = stmt.getGeneratedKeys()) {
- if (rs != null) {
- if (rs.next()) {
- BigDecimal idColVar = rs.getBigDecimal(1);
- return idColVar.intValue();
- }
- }
- }
- return 0;
- }
-
- int getScenario(String scenarioPattern) throws SQLException {
- if (fQueryScenario == null)
- fQueryScenario = fConnection.prepareStatement("select ID from SCENARIO where NAME = ?"); //$NON-NLS-1$
- fQueryScenario.setString(1, scenarioPattern);
- try (ResultSet result = fQueryScenario.executeQuery()) {
- while (result.next())
- return result.getInt(1);
- }
- if (fInsertScenario == null)
- fInsertScenario = fConnection.prepareStatement(
- "insert into SCENARIO (NAME) values (?)", Statement.RETURN_GENERATED_KEYS); //$NON-NLS-1$
- fInsertScenario.setString(1, scenarioPattern);
- return create(fInsertScenario);
- }
-
- int getVariations(Variations variations) throws SQLException {
- if (fQueryVariation == null)
- fQueryVariation = fConnection.prepareStatement("select ID from VARIATION where KEYVALPAIRS = ?"); //$NON-NLS-1$
- String exactMatchString = variations.toExactMatchString();
- fQueryVariation.setString(1, exactMatchString);
- try (ResultSet result = fQueryVariation.executeQuery()) {
- while (result.next())
- return result.getInt(1);
- }
- if (fInsertVariation == null)
- fInsertVariation = fConnection.prepareStatement(
- "insert into VARIATION (KEYVALPAIRS) values (?)", Statement.RETURN_GENERATED_KEYS); //$NON-NLS-1$
- fInsertVariation.setString(1, exactMatchString);
- return create(fInsertVariation);
- }
-
- int createSample(int variation_id, int scenario_id, Timestamp starttime) throws SQLException {
- if (fInsertSample == null) {
- if (fCompatibility) {
- // since we cannot remove table columns in cloudscape we have to
- // provide a non-null value for CONFIG_ID
- fInsertSample = fConnection
- .prepareStatement(
- "insert into SAMPLE (VARIATION_ID, SCENARIO_ID, STARTTIME, CONFIG_ID) values (?, ?, ?, 0)", Statement.RETURN_GENERATED_KEYS); //$NON-NLS-1$
- } else {
- fInsertSample = fConnection
- .prepareStatement(
- "insert into SAMPLE (VARIATION_ID, SCENARIO_ID, STARTTIME) values (?, ?, ?)", Statement.RETURN_GENERATED_KEYS); //$NON-NLS-1$
- }
- }
- fInsertSample.setInt(1, variation_id);
- fInsertSample.setInt(2, scenario_id);
- fInsertSample.setTimestamp(3, starttime);
- return create(fInsertSample);
- }
-
- int createDataPoint(int sample_id, int seq, int step) throws SQLException {
- if (fInsertDataPoint == null)
- fInsertDataPoint = fConnection.prepareStatement(
- "insert into DATAPOINT (SAMPLE_ID, SEQ, STEP) values (?, ?, ?)", Statement.RETURN_GENERATED_KEYS); //$NON-NLS-1$
- fInsertDataPoint.setInt(1, sample_id);
- fInsertDataPoint.setInt(2, seq);
- fInsertDataPoint.setInt(3, step);
- return create(fInsertDataPoint);
- }
-
- void insertScalar(int datapoint_id, int dim_id, long value) throws SQLException {
- if (fInsertScalar == null)
- fInsertScalar = fConnection.prepareStatement("insert into SCALAR values (?, ?, ?)"); //$NON-NLS-1$
- fInsertScalar.setInt(1, datapoint_id);
- fInsertScalar.setInt(2, dim_id);
- fInsertScalar.setLong(3, value);
- fInsertScalar.executeUpdate();
- }
-
- ResultSet queryDataPoints(Variations variations, String scenarioName) throws SQLException {
- if (fQueryDatapoints == null)
- fQueryDatapoints = fConnection
- .prepareStatement("select DATAPOINT.ID, DATAPOINT.STEP from VARIATION, SCENARIO, SAMPLE, DATAPOINT " + //$NON-NLS-1$
- "where " + //$NON-NLS-1$
- "SAMPLE.VARIATION_ID = VARIATION.ID and VARIATION.KEYVALPAIRS = ? and " + //$NON-NLS-1$
- "SAMPLE.SCENARIO_ID = SCENARIO.ID and SCENARIO.NAME LIKE ? and " + //$NON-NLS-1$
- "DATAPOINT.SAMPLE_ID = SAMPLE.ID " //$NON-NLS-1$
- );
- fQueryDatapoints.setString(1, variations.toExactMatchString());
- fQueryDatapoints.setString(2, scenarioName);
- return fQueryDatapoints.executeQuery();
- }
-
- ResultSet queryScalars(int datapointId) throws SQLException {
- if (fQueryScalars == null)
- fQueryScalars = fConnection
- .prepareStatement("select SCALAR.DIM_ID, SCALAR.VALUE from SCALAR where SCALAR.DATAPOINT_ID = ?"); //$NON-NLS-1$
- fQueryScalars.setInt(1, datapointId);
- return fQueryScalars.executeQuery();
- }
-
- /*
- * Returns SCENARIO.NAME
- */
- ResultSet queryScenarios(Variations variations, String scenarioPattern) throws SQLException {
- if (fQueryAllScenarios == null)
- fQueryAllScenarios = fConnection
- .prepareStatement("select distinct SCENARIO.NAME from SCENARIO, SAMPLE, VARIATION where " + //$NON-NLS-1$
- "SAMPLE.VARIATION_ID = VARIATION.ID and VARIATION.KEYVALPAIRS LIKE ? and " + //$NON-NLS-1$
- "SAMPLE.SCENARIO_ID = SCENARIO.ID and SCENARIO.NAME LIKE ?" //$NON-NLS-1$
- );
- fQueryAllScenarios.setString(1, variations.toQueryPattern());
- fQueryAllScenarios.setString(2, scenarioPattern);
- return fQueryAllScenarios.executeQuery();
- }
-
- /*
- * Returns VARIATION.KEYVALPAIRS
- */
- ResultSet queryVariations(String variations, String scenarioPattern) throws SQLException {
- if (fQueryVariations == null)
- fQueryVariations = fConnection
- .prepareStatement("select distinct VARIATION.KEYVALPAIRS from VARIATION, SAMPLE, SCENARIO where " + //$NON-NLS-1$
- "SAMPLE.VARIATION_ID = VARIATION.ID and VARIATION.KEYVALPAIRS LIKE ? and " + //$NON-NLS-1$
- "SAMPLE.SCENARIO_ID = SCENARIO.ID and SCENARIO.NAME LIKE ?" //$NON-NLS-1$
- );
- fQueryVariations.setString(1, variations);
- fQueryVariations.setString(2, scenarioPattern);
- return fQueryVariations.executeQuery();
- }
-
- void createSummaryEntry(int variation_id, int scenario_id, int dim_id, boolean isGlobal, int comment_id) throws SQLException {
- if (fQuerySummaryEntry == null)
- fQuerySummaryEntry = fConnection
- .prepareStatement("select count(*) from SUMMARYENTRY where VARIATION_ID = ? and SCENARIO_ID = ? and DIM_ID = ? and IS_GLOBAL = ? and COMMENT_ID = ?"); //$NON-NLS-1$
- fQuerySummaryEntry.setInt(1, variation_id);
- fQuerySummaryEntry.setInt(2, scenario_id);
- fQuerySummaryEntry.setInt(3, dim_id);
- fQuerySummaryEntry.setShort(4, (short) (isGlobal ? 1 : 0));
- fQuerySummaryEntry.setInt(5, comment_id);
- try (ResultSet result = fQuerySummaryEntry.executeQuery()) {
- if (result.next() && result.getInt(1) > 0)
- return;
- }
- if (fInsertSummaryEntry == null)
- fInsertSummaryEntry = fConnection
- .prepareStatement("insert into SUMMARYENTRY (VARIATION_ID, SCENARIO_ID, DIM_ID, IS_GLOBAL, COMMENT_ID) values (?, ?, ?, ?, ?)"); //$NON-NLS-1$
- fInsertSummaryEntry.setInt(1, variation_id);
- fInsertSummaryEntry.setInt(2, scenario_id);
- fInsertSummaryEntry.setInt(3, dim_id);
- fInsertSummaryEntry.setShort(4, (short) (isGlobal ? 1 : 0));
- fInsertSummaryEntry.setInt(5, comment_id);
- fInsertSummaryEntry.executeUpdate();
- }
-
- public void setScenarioShortName(int scenario_id, String shortName) throws SQLException {
- if (shortName.length() >= 40)
- shortName = shortName.substring(0, 40);
- if (fUpdateScenarioShortName == null)
- fUpdateScenarioShortName = fConnection.prepareStatement("update SCENARIO set SHORT_NAME = ? where SCENARIO.ID = ?"); //$NON-NLS-1$
- fUpdateScenarioShortName.setString(1, shortName);
- fUpdateScenarioShortName.setInt(2, scenario_id);
- fUpdateScenarioShortName.executeUpdate();
- }
-
- ResultSet queryGlobalSummaryEntries(Variations variations) throws SQLException {
- if (fQueryGlobalSummaryEntries == null)
- fQueryGlobalSummaryEntries = fConnection
- .prepareStatement("select distinct SCENARIO.NAME, SCENARIO.SHORT_NAME, SUMMARYENTRY.DIM_ID, SUMMARYENTRY.IS_GLOBAL, SUMMARYENTRY.COMMENT_ID " + //$NON-NLS-1$
- "from VARIATION, SCENARIO, SUMMARYENTRY " + //$NON-NLS-1$
- "where SUMMARYENTRY.VARIATION_ID = VARIATION.ID " + //$NON-NLS-1$
- "and VARIATION.KEYVALPAIRS LIKE ? " + //$NON-NLS-1$
- "and SUMMARYENTRY.SCENARIO_ID = SCENARIO.ID " + //$NON-NLS-1$
- "and SUMMARYENTRY.IS_GLOBAL = 1 " + //$NON-NLS-1$
- "order by SCENARIO.NAME" //$NON-NLS-1$
- );
- fQueryGlobalSummaryEntries.setString(1, variations.toExactMatchString());
- return fQueryGlobalSummaryEntries.executeQuery();
- }
-
- ResultSet querySummaryEntries(Variations variations, String scenarioPattern) throws SQLException {
- if (fQuerySummaryEntries == null)
- fQuerySummaryEntries = fConnection
- .prepareStatement("select distinct SCENARIO.NAME, SCENARIO.SHORT_NAME, SUMMARYENTRY.DIM_ID, SUMMARYENTRY.IS_GLOBAL, SUMMARYENTRY.COMMENT_ID " + //$NON-NLS-1$
- "from VARIATION, SCENARIO, SUMMARYENTRY " + //$NON-NLS-1$
- "where SUMMARYENTRY.VARIATION_ID = VARIATION.ID " + //$NON-NLS-1$
- "and VARIATION.KEYVALPAIRS LIKE ? " + //$NON-NLS-1$
- "and SUMMARYENTRY.SCENARIO_ID = SCENARIO.ID " + //$NON-NLS-1$
- "and SCENARIO.NAME like ? " + //$NON-NLS-1$
- "order by SCENARIO.NAME" //$NON-NLS-1$
- );
- fQuerySummaryEntries.setString(1, variations.toExactMatchString());
- fQuerySummaryEntries.setString(2, scenarioPattern);
- return fQuerySummaryEntries.executeQuery();
- }
-
- void insertFailure(int variation_id, int scenario_id, String message) throws SQLException {
- if (fInsertFailure == null)
- fInsertFailure = fConnection.prepareStatement("insert into FAILURE values (?, ?, ?)"); //$NON-NLS-1$
- fInsertFailure.setInt(1, variation_id);
- fInsertFailure.setInt(2, scenario_id);
- fInsertFailure.setString(3, message);
- fInsertFailure.executeUpdate();
- }
-
- public ResultSet queryFailure(Variations variations, String scenarioPattern) throws SQLException {
- if (fQueryFailure == null)
- fQueryFailure = fConnection
- .prepareStatement("select SCENARIO.NAME, FAILURE.MESSAGE from FAILURE, VARIATION, SCENARIO where " + //$NON-NLS-1$
- "FAILURE.VARIATION_ID = VARIATION.ID and VARIATION.KEYVALPAIRS LIKE ? and " + //$NON-NLS-1$
- "FAILURE.SCENARIO_ID = SCENARIO.ID and SCENARIO.NAME LIKE ?" //$NON-NLS-1$
- );
- fQueryFailure.setString(1, variations.toExactMatchString());
- fQueryFailure.setString(2, scenarioPattern);
- return fQueryFailure.executeQuery();
- }
-
- int getCommentId(int commentKind, String comment) throws SQLException {
- if (comment.length() > 400)
- comment = comment.substring(0, 400);
- if (fQueryComment == null)
- fQueryComment = fConnection.prepareStatement("select ID from COMMENT where KIND = ? and TEXT = ?"); //$NON-NLS-1$
- fQueryComment.setInt(1, commentKind);
- fQueryComment.setString(2, comment);
- try (ResultSet result = fQueryComment.executeQuery()) {
- while (result.next())
- return result.getInt(1);
- }
- if (fInsertComment == null)
- fInsertComment = fConnection.prepareStatement(
- "insert into COMMENT (KIND, TEXT) values (?, ?)", Statement.RETURN_GENERATED_KEYS); //$NON-NLS-1$
- fInsertComment.setInt(1, commentKind);
- fInsertComment.setString(2, comment);
- return create(fInsertComment);
- }
-
- public ResultSet getComment(int comment_id) throws SQLException {
- if (fQueryComment2 == null)
- fQueryComment2 = fConnection.prepareStatement("select KIND, TEXT from COMMENT where ID = ?"); //$NON-NLS-1$
- fQueryComment2.setInt(1, comment_id);
- return fQueryComment2.executeQuery();
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/SummaryEntry.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/SummaryEntry.java
deleted file mode 100644
index dbcdfaf5..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/SummaryEntry.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.db;
-
-import org.eclipse.test.internal.performance.data.Dim;
-
-public class SummaryEntry {
-
- public String scenarioName;
- public String shortName;
- public Dim dimension;
- public boolean isGlobal;
- public int commentKind;
- public String comment;
-
- SummaryEntry(String scenarioName, String shortName, Dim dimension, boolean isGlobal) {
- this.scenarioName = scenarioName;
- this.shortName = shortName;
- this.dimension = dimension;
- this.isGlobal = isGlobal;
- }
-
- SummaryEntry(String scenarioName, String shortName, Dim dimension, boolean isGlobal, int commentKind, String comment) {
- this.scenarioName = scenarioName;
- this.shortName = shortName;
- this.dimension = dimension;
- this.isGlobal = isGlobal;
- this.commentKind = commentKind;
- this.comment = comment;
- }
-
- @Override
- public String toString() {
- return "SummaryEntry(" + isGlobal + "): <" + scenarioName + "> <" + shortName + "> <" + dimension + '>'; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/TimeSeries.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/TimeSeries.java
deleted file mode 100644
index 81f47499..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/TimeSeries.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.db;
-
-public class TimeSeries {
-
- private String[] fBuildNames;
- private double[] fAverages;
- private double[] fStddev;
- private long[] fCount;
-
- TimeSeries(String[] tags, double[] averages, double[] stddev, long[] sizes) {
- fBuildNames = tags;
- fAverages = averages;
- fStddev = stddev;
- fCount = sizes;
- }
-
- /**
- * Returns length of series.
- *
- * @return length of series
- */
- public int getLength() {
- return fBuildNames.length;
- }
-
- /**
- * Returns value at given index.
- *
- * @param ix
- * @return value at given index
- */
- public double getValue(int ix) {
- return fAverages[ix];
- }
-
- /**
- * Returns std dev at given index.
- *
- * @param ix
- * @return std dev at given index
- */
- public double getStddev(int ix) {
- return fStddev[ix];
- }
-
- /**
- * Returns label at given index.
- *
- * @param ix
- * @return label at given index
- */
- public String getLabel(int ix) {
- return fBuildNames[ix];
- }
-
- /**
- * Returns the sample size at the given index.
- *
- * @param ix
- * @return the sample size at the given index
- */
- public long getCount(int ix) {
- return fCount[ix];
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/Variations.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/Variations.java
deleted file mode 100644
index e3cc6c64..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/db/Variations.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2019 IBM Corporation and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.db;
-
-import java.util.Arrays;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.test.internal.performance.PerformanceTestPlugin;
-
-/**
- * The <code>Variations</code> class represents a set of key/value pairs and is used to tag data stored in the performance database
- * and when querying for data from the database.
- */
-public class Variations extends Properties {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Creates an empty set of key/value pairs.
- */
- public Variations() {
- //
- }
-
- /**
- * Creates a Variations object that is populated with a "config" and a "build" key/value pair.
- *
- * @param configValue
- * a value to store under the config key
- * @param buildValue
- * a value to store under the build key
- * @deprecated Use the default constructor instead and fill in key/value pairs explicitely.
- */
- @Deprecated
- public Variations(String configValue, String buildValue) {
- if (configValue != null)
- put(PerformanceTestPlugin.CONFIG, configValue);
- if (buildValue != null)
- put(PerformanceTestPlugin.BUILD, buildValue);
- }
-
- /**
- * Creates a set of key/value pairs by parsing the given string. The format of the string must be:
- *
- * <pre>
- * key1=value1;key2=value2; .... ; keyn=valuen
- * </pre>
- *
- * @param keyValuePairs
- */
- public Variations(String keyValuePairs) {
- parsePairs(keyValuePairs);
- }
-
- public String toExactMatchString() {
- return toDB(this, false);
- }
-
- public String toQueryPattern() {
- return toDB(this, true);
- }
-
- public void parsePairs(String keyvaluepairs) {
- parse(keyvaluepairs, ";"); //$NON-NLS-1$
- }
-
- public void parseDB(String keyvaluepairs) {
- parse(keyvaluepairs, "|"); //$NON-NLS-1$
- }
-
- /**
- * parsing the given string as key/value pairs and stores them in Variations. The string's format is an implementation detail of
- * the database.
- *
- * @param keyvaluepairs
- * @param separator
- */
- private void parse(String keyvaluepairs, String separator) {
- StringTokenizer st = new StringTokenizer(keyvaluepairs, separator);
- while (st.hasMoreTokens()) {
- String token = st.nextToken();
- int i = token.indexOf('=');
- if (i < 1)
- throw new IllegalArgumentException("kev/value pair '" + token + "' is illformed"); //$NON-NLS-1$ //$NON-NLS-2$
- String value = token.substring(i + 1);
- token = token.substring(0, i);
- // System.out.println(token + ": <" + value + ">");
- put(token, value);
- }
- }
-
- /*
- * TODO: we need to escape '=' and ';' characters in key/values.
- */
- private static String toDB(Properties keyValues, boolean asQuery) {
- Set<String> set = keyValues.stringPropertyNames();
- String[] keys = set.toArray(new String[set.size()]);
- Arrays.sort(keys);
- StringBuilder sb = new StringBuilder();
-
- for (String key : keys) {
- if (asQuery)
- sb.append('%');
- String value = keyValues.getProperty(key);
- sb.append('|');
- sb.append(key);
- sb.append('=');
- if (value != null)
- sb.append(value);
- sb.append('|');
- }
- if (asQuery)
- sb.append('%');
- return sb.toString();
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/AbsoluteBandChecker.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/AbsoluteBandChecker.java
deleted file mode 100644
index 15cb412d..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/AbsoluteBandChecker.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.eval;
-
-import org.eclipse.test.internal.performance.PerformanceTestPlugin;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.data.Scalar;
-
-/**
- * @since 3.1
- */
-public class AbsoluteBandChecker extends AssertChecker {
-
- private long fLowerBand;
- private long fUpperBand;
-
- public AbsoluteBandChecker(Dim dimension, long lowerBand, long upperBand) {
- super(dimension);
- fLowerBand = lowerBand;
- fUpperBand = upperBand;
- }
-
- @Override
- public boolean test(StatisticsSession reference, StatisticsSession measured, StringBuffer message) {
- Dim dimension = getDimension();
-
- if (!measured.contains(dimension)) {
- PerformanceTestPlugin.logWarning("collected data provides no dimension '" + dimension.getName() + '\''); //$NON-NLS-1$
- return true;
- }
- if (!reference.contains(dimension)) {
- PerformanceTestPlugin.logWarning("reference data provides no dimension '" + dimension.getName() + '\''); //$NON-NLS-1$
- return true;
- }
-
- double actual = measured.getAverage(dimension);
- double test = reference.getAverage(dimension);
-
- if (actual > fUpperBand + test || actual < test - fLowerBand) {
- message.append('\n'
- + dimension.getName()
- + ": " + dimension.getDisplayValue(actual) + " is not within [-" + dimension.getDisplayValue(new Scalar(null, fLowerBand)) + ", +" + dimension.getDisplayValue(new Scalar(null, fUpperBand)) + "] of " + dimension.getDisplayValue(test)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return false;
- }
-
- return true;
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/AssertChecker.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/AssertChecker.java
deleted file mode 100644
index b00d0391..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/AssertChecker.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.eval;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.test.internal.performance.data.Dim;
-
-/**
- * @since 3.1
- */
-public abstract class AssertChecker {
-
- private Set<Dim> fDimensions;
-
- public AssertChecker(Dim dimension) {
- this(new Dim[] { dimension });
- }
-
- public AssertChecker(Dim[] dimensions) {
- fDimensions = new HashSet<>();
- fDimensions.addAll(Arrays.asList(dimensions));
- }
-
- public Dim[] getDimensions() {
- return fDimensions.toArray(new Dim[fDimensions.size()]);
- }
-
- protected Dim getDimension() {
- Assert.isTrue(fDimensions.size() == 1);
- return getDimensions()[0];
- }
-
- /**
- * Evaluates the predicate.
- *
- * @param reference
- * statistics of dimensions of the reference metering session
- * @param measured
- * statistics of dimensions of the metering session to be tested
- * @param message
- * a message presented to the user upon failure
- * @return <code>true</code> if the predicate passes, <code>false</code> if it fails
- */
- public abstract boolean test(StatisticsSession reference, StatisticsSession measured, StringBuffer message);
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/EmptyEvaluator.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/EmptyEvaluator.java
deleted file mode 100644
index cff6cba8..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/EmptyEvaluator.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.eval;
-
-import org.eclipse.test.performance.PerformanceMeter;
-
-/**
- * The empty evaluator. Does nothing.
- */
-public class EmptyEvaluator implements IEvaluator {
-
- @Override
- public void evaluate(PerformanceMeter performanceMeter) throws RuntimeException {
- // empty
- }
-
- @Override
- public void setAssertCheckers(AssertChecker[] asserts) {
- // empty
- }
-
- @Override
- public void setReferenceFilterProperties(String driver, String timestamp) {
- // empty
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/Evaluator.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/Evaluator.java
deleted file mode 100644
index 4a187e4b..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/Evaluator.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.eval;
-
-import java.util.HashSet;
-
-import org.eclipse.test.internal.performance.InternalPerformanceMeter;
-import org.eclipse.test.internal.performance.PerformanceTestPlugin;
-import org.eclipse.test.internal.performance.data.DataPoint;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.data.Sample;
-import org.eclipse.test.internal.performance.db.Variations;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.Assert;
-
-/**
- * The default implementation of an evaluator backed by a database.
- *
- * @since 3.1
- */
-public class Evaluator extends EmptyEvaluator {
-
- private AssertChecker[] fCheckers;
-
- @Override
- public void setAssertCheckers(AssertChecker[] asserts) {
- fCheckers = asserts;
- }
-
- @Override
- public void evaluate(PerformanceMeter performanceMeter) throws RuntimeException {
-
- if (fCheckers == null)
- return; // nothing to do
-
- // get reference build tag
- Variations refKeys = PerformanceTestPlugin.getAssertAgainst();
- String assertKey = System.getProperty(PerformanceTestPlugin.ECLIPSE_PERF_ASSERTAGAINST);
- if (refKeys == null) {
- PerformanceTestPlugin.logWarning("refkeys was null. " + PerformanceTestPlugin.ECLIPSE_PERF_ASSERTAGAINST + " was " + assertKey); //$NON-NLS-1$ //$NON-NLS-2$
- return; // nothing to do
- }
- // else
- PerformanceTestPlugin.logInfo("refkeys was: " + refKeys.toString() + " \n\t based on " + PerformanceTestPlugin.ECLIPSE_PERF_ASSERTAGAINST + " being set to " + assertKey); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-
- if (!(performanceMeter instanceof InternalPerformanceMeter))
- return; // we cannot handle this.
-
- InternalPerformanceMeter ipm = (InternalPerformanceMeter) performanceMeter;
- Sample session = ipm.getSample();
- Assert.assertTrue("metering session is null", session != null); //$NON-NLS-1$
-
- // determine all dimensions we need
- HashSet<Dim> allDimensions = new HashSet<>();
- for (AssertChecker chk : fCheckers) {
- for (Dim dim : chk.getDimensions())
- allDimensions.add(dim);
- }
-
- // get data for this session
- DataPoint[] sessionDatapoints = session.getDataPoints();
- Variations config = PerformanceTestPlugin.getVariations();
- if (sessionDatapoints == null || sessionDatapoints.length == 0) {
- PerformanceTestPlugin.logWarning("no session data named '" + config + "' found"); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
-
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/IEvaluator.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/IEvaluator.java
deleted file mode 100644
index cc00d3da..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/IEvaluator.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.eval;
-
-import org.eclipse.test.performance.PerformanceMeter;
-
-/**
- * @since 3.1
- */
-public interface IEvaluator {
-
- /**
- * Evaluates the given performance meter by comparing its measurements against the reference data selected with
- * <code>setReferenceFilterProperties</code>.
- *
- * @param performanceMeter
- * the performance meter
- * @throws RuntimeException
- * when the comparison does not pass
- */
- void evaluate(PerformanceMeter performanceMeter) throws RuntimeException;
-
- /**
- * Sets the asserts that should be evaluated by the evaluator.
- *
- * @param asserts
- * the assert checkers that should be evaluated by the evaluator
- */
- void setAssertCheckers(AssertChecker[] asserts);
-
- /**
- * Selects the reference build against which the current session will be compared in <code>evaluate</code>.
- *
- * @param driver
- * @param timestamp
- * the timestamp of the reference, may be null to use any
- */
- void setReferenceFilterProperties(String driver, String timestamp);
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/RelativeBandChecker.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/RelativeBandChecker.java
deleted file mode 100644
index 8270240e..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/RelativeBandChecker.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.eval;
-
-import org.eclipse.test.internal.performance.PerformanceTestPlugin;
-import org.eclipse.test.internal.performance.data.Dim;
-
-/**
- * @since 3.1
- */
-public class RelativeBandChecker extends AssertChecker {
-
- private final double fLowerBand;
- private final double fUpperBand;
-
- public RelativeBandChecker(Dim dimension, double lowerBand, double upperBand) {
- super(dimension);
- fLowerBand = lowerBand;
- fUpperBand = upperBand;
- }
-
- @Override
- public boolean test(StatisticsSession reference, StatisticsSession measured, StringBuffer message) {
- Dim dimension = getDimension();
-
- if (!measured.contains(dimension)) {
- PerformanceTestPlugin.logWarning("collected data provides no dimension '" + dimension.getName() + '\''); //$NON-NLS-1$
- return true;
- }
- if (!reference.contains(dimension)) {
- PerformanceTestPlugin.logWarning("reference data provides no dimension '" + dimension.getName() + '\''); //$NON-NLS-1$
- return true;
- }
-
- double actual = measured.getAverage(dimension);
- double test = reference.getAverage(dimension);
-
- if (test < 0.001 && test > -0.001) {
- // we don't fail for reference value of zero
- PerformanceTestPlugin.logWarning("ref value for '" + dimension.getName() + "' is too small"); //$NON-NLS-1$ //$NON-NLS-2$
- return true;
- }
- if (actual < 0) {
- // we don't fail for negative values
- PerformanceTestPlugin.logWarning("actual value for '" + dimension.getName() + "' is negative"); //$NON-NLS-1$ //$NON-NLS-2$
- return true;
- }
-
- if (actual > fUpperBand * test || actual < fLowerBand * test) {
- message.append('\n'
- + dimension.getName()
- + ": " + dimension.getDisplayValue(actual) + " is not within [" + Math.round(fLowerBand * 100) + "%, " + Math.round(fUpperBand * 100) + "%] of " + dimension.getDisplayValue(test)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return false;
- }
- return true;
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/StatisticsSession.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/StatisticsSession.java
deleted file mode 100644
index f27e8742..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/StatisticsSession.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.eval;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.test.internal.performance.InternalPerformanceMeter;
-import org.eclipse.test.internal.performance.data.DataPoint;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.data.Scalar;
-import org.eclipse.test.internal.performance.eval.StatisticsUtil.Percentile;
-import org.junit.Assert;
-
-/**
- * @since 3.1
- */
-public class StatisticsSession {
-
- static final class Statistics {
-
- public long count;
- public long sum;
- public double average;
- public double stddev;
- }
-
- private final DataPoint[] fDataPoints;
- private final Map<Dim, Statistics> fStatistics = new HashMap<>();
-
- public StatisticsSession(DataPoint[] datapoints) {
- fDataPoints = datapoints;
- }
-
- public double getAverage(Dim dimension) {
- return getStats(dimension).average;
- }
-
- public long getSum(Dim dimension) {
- return getStats(dimension).sum;
- }
-
- public long getCount(Dim dimension) {
- return getStats(dimension).count;
- }
-
- public double getStddev(Dim dimension) {
- return getStats(dimension).stddev;
- }
-
- double getStderr_mean(Dim dimension) {
- return getStats(dimension).stddev / Math.sqrt(getStats(dimension).count);
- }
-
- double getStudentsT(Dim dimension, Percentile percentile) {
- int df = (int) getStats(dimension).count - 1;
- return StatisticsUtil.getStudentsT(df, percentile);
- }
-
- /**
- * Returns the confidence interval for the given dimension and the percentile.
- *
- * @param dimension
- * the dimension
- * @param percentile
- * the percentile
- * @return an array of length two, with the lower and upper bounds of the confidence interval
- */
- public double[] getConfidenceInterval(Dim dimension, Percentile percentile) {
- double mean = getAverage(dimension);
- double stat_err = getStderr_mean(dimension);
-
- double t = getStudentsT(dimension, percentile);
-
- double[] interval = { mean - t * stat_err, mean + t * stat_err };
-
- return interval;
- }
-
- private Statistics getStats(Dim dimension) {
- Statistics stats = fStatistics.get(dimension);
- if (stats == null) {
- stats = computeStats(dimension);
- fStatistics.put(dimension, stats);
- }
- return stats;
- }
-
- private Statistics computeStats(Dim dimension) {
-
- Statistics stats;
-
- Set<Integer> steps = new HashSet<>();
- for (DataPoint dp : fDataPoints) {
- steps.add(Integer.valueOf(dp.getStep()));
- }
-
- if (steps.contains(Integer.valueOf(InternalPerformanceMeter.AVERAGE))) {
- // an already aggregated set of data points from the DB
- stats = computeStatsFromAggregates(dimension);
- } else if (steps.contains(Integer.valueOf(InternalPerformanceMeter.AFTER))) {
- // raw values from measurement
- stats = computeStatsFromMeasurements(dimension, steps);
- } else {
- Assert.fail("illegal data set: contains neither AVERAGE nor AFTER values."); //$NON-NLS-1$
- stats = null; // dummy
- }
-
- return stats;
- }
-
- private Statistics computeStatsFromAggregates(Dim dimension) {
- Statistics stats = new Statistics();
- long aggregateCount = 0;
- double averageSum = 0;
- long countSum = 0;
- double stdevSum = 0;
-
- // Set acquiredAggregates= new HashSet();
- for (DataPoint point : fDataPoints) {
- Scalar scalar = point.getScalar(dimension);
- if (scalar == null)
- continue;
-
- Integer aggregate = Integer.valueOf(point.getStep());
- // allow for multiple measurements that were each stored with their own
- // aggregate values
- // Assert.assertTrue(acquiredAggregates.add(aggregate));
-
- long magnitude = scalar.getMagnitude();
- switch (aggregate.intValue()) {
- case InternalPerformanceMeter.AVERAGE:
- averageSum += magnitude;
- aggregateCount++;
- break;
- case InternalPerformanceMeter.STDEV:
- // see DB.internalStore
- stdevSum += Double.longBitsToDouble(magnitude);
- break;
- case InternalPerformanceMeter.SIZE:
- countSum += magnitude;
- break;
- default:
- Assert.fail("only average, stdev and size are supported in aggregate mode"); //$NON-NLS-1$
- break;
- }
- }
-
- stats.average = averageSum / aggregateCount;
- stats.stddev = stdevSum / aggregateCount; // XXX this does not work! have to treat multiple runs like normal measurement
- // data
- stats.count = countSum;
- stats.sum = Math.round(stats.count * stats.average);
-
- return stats;
- }
-
- private Statistics computeStatsFromMeasurements(Dim dimension, Set<Integer> steps) {
- Statistics stats = new Statistics();
- long mags[];
- switch (steps.size()) {
- case 1:
- // if there is only one Step, we don't calculate the delta. happens for startup tests
- mags = new long[fDataPoints.length];
- for (int i = 0; i < fDataPoints.length; i++) {
- Scalar sc = fDataPoints[i].getScalar(dimension);
- mags[i] = sc == null ? 0 : sc.getMagnitude();
- }
- break;
- case 2:
- int count = fDataPoints.length / 2;
- mags = new long[count];
- for (int i = 0; i < count; i++) {
- DataPoint before = fDataPoints[2 * i];
- Assert.assertTrue("wrong order of steps", before.getStep() == InternalPerformanceMeter.BEFORE); //$NON-NLS-1$
- DataPoint after = fDataPoints[2 * i + 1];
- Assert.assertTrue("wrong order of steps", after.getStep() == InternalPerformanceMeter.AFTER); //$NON-NLS-1$
-
- Scalar delta = getDelta(before, after, dimension);
- long magnitude = delta.getMagnitude();
- mags[i] = magnitude;
- }
- break;
- default:
- Assert.fail("cannot handle more than two steps in measurement mode"); //$NON-NLS-1$
- return null; // dummy
- }
-
- for (long mag : mags) {
- stats.sum += mag;
- stats.count++;
- }
-
- if (stats.count > 0) {
- stats.average = (double) stats.sum / stats.count;
- if (stats.count == 1) {
- stats.stddev = 0;
- } else {
- double squaredDeviations = 0;
- for (long mag : mags) {
- double deviation = stats.average - mag;
- squaredDeviations += deviation * deviation;
- }
- stats.stddev = Math.sqrt(squaredDeviations / (stats.count - 1)); // unbiased sample stdev
- }
- } else {
- stats.average = 0;
- stats.stddev = 0;
- }
-
- return stats;
- }
-
- private Scalar getDelta(DataPoint before, DataPoint after, Dim dimension) {
- Scalar one = before.getScalar(dimension);
- Assert.assertTrue("reference has no value for dimension " + dimension, one != null); //$NON-NLS-1$
-
- Scalar two = after.getScalar(dimension);
- Assert.assertTrue("reference has no value for dimension " + dimension, two != null); //$NON-NLS-1$
-
- return new Scalar(one.getDimension(), two.getMagnitude() - one.getMagnitude());
- }
-
- public boolean contains(Dim dimension) {
- if (fDataPoints.length > 0)
- return fDataPoints[0].contains(dimension);
- return false;
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/StatisticsUtil.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/StatisticsUtil.java
deleted file mode 100644
index e25df504..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/eval/StatisticsUtil.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.eval;
-
-import org.eclipse.test.internal.performance.db.TimeSeries;
-
-/**
- * Utility methods for statistics.
- *
- * @since 3.2
- */
-public final class StatisticsUtil {
-
- /**
- * Percentile constants class.
- *
- * @since 3.2
- */
- public static final class Percentile {
-
- final int fColumn;
- private final double fInside;
-
- private Percentile(int column, double inside) {
- fColumn = column;
- fInside = inside;
- }
-
- /**
- * Returns how much is within the percentile, [0, 1]
- *
- * @return the inside quotient
- */
- public double inside() {
- return fInside;
- }
- }
-
- public static final Percentile T90 = new Percentile(0, 0.9);
- public static final Percentile T95 = new Percentile(1, 0.95);
- public static final Percentile T97_5 = new Percentile(2, 0.975);
- public static final Percentile T99 = new Percentile(3, 0.99);
-
- /**
- * Returns the student's t value from the two-tailed t-table. For a degree-of-freedom larger than 100, the value for 100 is
- * returned.
- *
- * @param df
- * the degrees of freedom (usually sample size - 1)
- * @param percentile
- * the percentile
- * @return the corresponding student's t value
- */
- public static double getStudentsT(int df, Percentile percentile) {
- if (df < 0)
- df = 0;
- else if (df > 100)
- df = 100;
- return T[df][percentile.fColumn];
- }
-
- /**
- * Returns <code>true</code> if the mean of two data sets is significantly different, such that the probability that they are
- * from the same population is lower than <code>percentile</code>, <code>false</code> otherwise. The data sets are taken from
- * <code>series</code> at <code>index1</code> and <code>index2</code>.
- * <p>
- * Note that no conclusion must be drawn from a <code>false</code> return value: it does not indicate that the two data sets are
- * from the same population - there may simply be not enough data to conclude the other way, for example due to a small sample
- * size or large standard deviation.
- * </p>
- * <p>
- * Also note that a <code>true</code> return value does not say anything about the relevance of the difference - a statistically
- * significant difference may be practically irrelevant if it is small.
- * </p>
- * <p>
- * XXX the current implementation assumes that the standard deviations are sufficiently similar.
- * </p>
- *
- * @param refSeries
- * the time series containing the first data set
- * @param index1
- * the index into <code>series1</code> for the first data set
- * @param testSeries
- * the time series containing the second data set
- * @param index2
- * the index into <code>series2</code> for the second data set
- * @param percentile
- * the percentile level to use
- * @return <code>true</code> if the null hypothesis is rejected on the <code>percentile</code> level, <code>false</code> if it
- * cannot be rejected based on the given data
- */
- public static double[] statisticsForTimeSeries(TimeSeries refSeries, int index1, TimeSeries testSeries, int index2,
- Percentile percentile) {
- // see http://bmj.bmjjournals.com/collections/statsbk/7.shtml
-
- double[] values = new double[] { refSeries.getValue(index1), testSeries.getValue(index2) };
- long[] counts = new long[] { refSeries.getCount(index1), testSeries.getCount(index2) };
- double[] stddevs = new double[] { refSeries.getStddev(index1), testSeries.getStddev(index2) };
- double ttest = studentTtest(values, stddevs, counts, percentile);
- return new double[] { getStudentsT((int) (counts[0] + counts[1] - 2), percentile), ttest,
- standardError(values, stddevs, counts), deviation(values), };
- }
-
- public static double studentTtest(double[] values, double[] stddevs, long[] counts, Percentile percentile) {
-
- double ref = values[0];
- double val = values[1];
-
- double delta = ref - val;
- long df1 = counts[0] - 1;
- double sd1 = stddevs[0];
- long df2 = counts[1];
- double sd2 = stddevs[1];
- // TODO if the stdev's are not sufficiently similar, we have to take a different approach
-
- if (!Double.isNaN(sd1) && !Double.isNaN(sd2) && df1 > 0 && df2 > 0) {
- long df = df1 + df2;
- double sp_square = (df1 * sd1 * sd1 + df2 * sd2 * sd2) / df;
-
- double se_diff = Math.sqrt(sp_square * (1.0 / (df1 + 1) + 1.0 / (df2 + 1)));
- return Math.abs(delta / se_diff);
- }
-
- return -1;
- }
-
- public static double deviation(double[] values) {
- return (values[1] - values[0]) / values[0];
- }
-
- public static double standardError(double[] values, double[] stddevs, long[] counts) {
- return Math.sqrt((stddevs[0] * stddevs[0] / counts[0]) + (stddevs[1] * stddevs[1] / counts[1])) / values[0];
- }
-
- /**
- * The (two-tailed) T-table. [degrees_of_freedom][percentile]
- */
- private static final double[][] T = { { Double.NaN, Double.NaN, Double.NaN, Double.NaN },
- { Double.NaN, Double.NaN, Double.NaN, Double.NaN }, { 2.92, 4.3027, 6.2054, 9.925 },
- { 2.3534, 3.1824, 4.1765, 5.8408 }, { 2.1318, 2.7765, 3.4954, 4.6041 }, { 2.015, 2.5706, 3.1634, 4.0321 },
- { 1.9432, 2.4469, 2.9687, 3.7074 }, { 1.8946, 2.3646, 2.8412, 3.4995 }, { 1.8595, 2.306, 2.7515, 3.3554 },
- { 1.8331, 2.2622, 2.685, 3.2498 }, { 1.8125, 2.2281, 2.6338, 3.1693 }, { 1.7959, 2.201, 2.5931, 3.1058 },
- { 1.7823, 2.1788, 2.56, 3.0545 }, { 1.7709, 2.1604, 2.5326, 3.0123 }, { 1.7613, 2.1448, 2.5096, 2.9768 },
- { 1.7531, 2.1315, 2.4899, 2.9467 }, { 1.7459, 2.1199, 2.4729, 2.9208 }, { 1.7396, 2.1098, 2.4581, 2.8982 },
- { 1.7341, 2.1009, 2.445, 2.8784 }, { 1.7291, 2.093, 2.4334, 2.8609 }, { 1.7247, 2.086, 2.4231, 2.8453 },
- { 1.7207, 2.0796, 2.4138, 2.8314 }, { 1.7171, 2.0739, 2.4055, 2.8188 }, { 1.7139, 2.0687, 2.3979, 2.8073 },
- { 1.7109, 2.0639, 2.391, 2.797 }, { 1.7081, 2.0595, 2.3846, 2.7874 }, { 1.7056, 2.0555, 2.3788, 2.7787 },
- { 1.7033, 2.0518, 2.3734, 2.7707 }, { 1.7011, 2.0484, 2.3685, 2.7633 }, { 1.6991, 2.0452, 2.3638, 2.7564 },
- { 1.6973, 2.0423, 2.3596, 2.75 }, { 1.6955, 2.0395, 2.3556, 2.744 }, { 1.6939, 2.0369, 2.3518, 2.7385 },
- { 1.6924, 2.0345, 2.3483, 2.7333 }, { 1.6909, 2.0322, 2.3451, 2.7284 }, { 1.6896, 2.0301, 2.342, 2.7238 },
- { 1.6883, 2.0281, 2.3391, 2.7195 }, { 1.6871, 2.0262, 2.3363, 2.7154 }, { 1.686, 2.0244, 2.3337, 2.7116 },
- { 1.6849, 2.0227, 2.3313, 2.7079 }, { 1.6839, 2.0211, 2.3289, 2.7045 }, { 1.6829, 2.0195, 2.3267, 2.7012 },
- { 1.682, 2.0181, 2.3246, 2.6981 }, { 1.6811, 2.0167, 2.3226, 2.6951 }, { 1.6802, 2.0154, 2.3207, 2.6923 },
- { 1.6794, 2.0141, 2.3189, 2.6896 }, { 1.6787, 2.0129, 2.3172, 2.687 }, { 1.6779, 2.0117, 2.3155, 2.6846 },
- { 1.6772, 2.0106, 2.3139, 2.6822 }, { 1.6766, 2.0096, 2.3124, 2.68 }, { 1.6759, 2.0086, 2.3109, 2.6778 },
- { 1.6753, 2.0076, 2.3095, 2.6757 }, { 1.6747, 2.0066, 2.3082, 2.6737 }, { 1.6741, 2.0057, 2.3069, 2.6718 },
- { 1.6736, 2.0049, 2.3056, 2.67 }, { 1.673, 2.004, 2.3044, 2.6682 }, { 1.6725, 2.0032, 2.3033, 2.6665 },
- { 1.672, 2.0025, 2.3022, 2.6649 }, { 1.6716, 2.0017, 2.3011, 2.6633 }, { 1.6711, 2.001, 2.3, 2.6618 },
- { 1.6706, 2.0003, 2.299, 2.6603 }, { 1.6702, 1.9996, 2.2981, 2.6589 }, { 1.6698, 1.999, 2.2971, 2.6575 },
- { 1.6694, 1.9983, 2.2962, 2.6561 }, { 1.669, 1.9977, 2.2954, 2.6549 }, { 1.6686, 1.9971, 2.2945, 2.6536 },
- { 1.6683, 1.9966, 2.2937, 2.6524 }, { 1.6679, 1.996, 2.2929, 2.6512 }, { 1.6676, 1.9955, 2.2921, 2.6501 },
- { 1.6672, 1.9949, 2.2914, 2.649 }, { 1.6669, 1.9944, 2.2906, 2.6479 }, { 1.6666, 1.9939, 2.2899, 2.6469 },
- { 1.6663, 1.9935, 2.2892, 2.6458 }, { 1.666, 1.993, 2.2886, 2.6449 }, { 1.6657, 1.9925, 2.2879, 2.6439 },
- { 1.6654, 1.9921, 2.2873, 2.643 }, { 1.6652, 1.9917, 2.2867, 2.6421 }, { 1.6649, 1.9913, 2.2861, 2.6412 },
- { 1.6646, 1.9908, 2.2855, 2.6403 }, { 1.6644, 1.9905, 2.2849, 2.6395 }, { 1.6641, 1.9901, 2.2844, 2.6387 },
- { 1.6639, 1.9897, 2.2838, 2.6379 }, { 1.6636, 1.9893, 2.2833, 2.6371 }, { 1.6634, 1.989, 2.2828, 2.6364 },
- { 1.6632, 1.9886, 2.2823, 2.6356 }, { 1.663, 1.9883, 2.2818, 2.6349 }, { 1.6628, 1.9879, 2.2813, 2.6342 },
- { 1.6626, 1.9876, 2.2809, 2.6335 }, { 1.6624, 1.9873, 2.2804, 2.6329 }, { 1.6622, 1.987, 2.28, 2.6322 },
- { 1.662, 1.9867, 2.2795, 2.6316 }, { 1.6618, 1.9864, 2.2791, 2.6309 }, { 1.6616, 1.9861, 2.2787, 2.6303 },
- { 1.6614, 1.9858, 2.2783, 2.6297 }, { 1.6612, 1.9855, 2.2779, 2.6291 }, { 1.6611, 1.9852, 2.2775, 2.6286 },
- { 1.6609, 1.985, 2.2771, 2.628 }, { 1.6607, 1.9847, 2.2767, 2.6275 }, { 1.6606, 1.9845, 2.2764, 2.6269 },
- { 1.6604, 1.9842, 2.276, 2.6264 }, { 1.6602, 1.984, 2.2757, 2.6259 }, };
-
- private StatisticsUtil() {
- // don't instantiate
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/AllTests.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/AllTests.java
deleted file mode 100644
index 23654cdf..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-
- public static Test suite() {
- TestSuite suite = new TestSuite("Performance Test plugin tests"); //$NON-NLS-1$
-
- // suite.addTestSuite(SimplePerformanceMeterTest.class);
- suite.addTestSuite(VariationsTests.class);
- suite.addTestSuite(PerformanceMeterFactoryTest.class);
-
- return suite;
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/PerformanceMeterFactoryTest.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/PerformanceMeterFactoryTest.java
deleted file mode 100644
index a605169c..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/PerformanceMeterFactoryTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.tests;
-
-import org.eclipse.test.internal.performance.OSPerformanceMeter;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-
-import junit.framework.TestCase;
-
-public class PerformanceMeterFactoryTest extends TestCase {
-
- public void testPerformanceMeterFactory() {
- System.setProperty(
- "PerformanceMeterFactory", "org.eclipse.test.performance:org.eclipse.test.internal.performance.OSPerformanceMeterFactory"); //$NON-NLS-1$ //$NON-NLS-2$
-
- PerformanceMeter pm = Performance.getDefault().createPerformanceMeter("scenarioId"); //$NON-NLS-1$
-
- assertTrue(pm instanceof OSPerformanceMeter);
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/SimplePerformanceMeterTest.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/SimplePerformanceMeterTest.java
deleted file mode 100644
index d008fbde..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/SimplePerformanceMeterTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.tests;
-
-import org.eclipse.test.internal.performance.OSPerformanceMeter;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-
-import junit.framework.TestCase;
-
-public class SimplePerformanceMeterTest extends TestCase {
-
- public void testPerformanceMeterFactory() {
- PerformanceMeter meter = Performance.getDefault().createPerformanceMeter("scenarioId"); //$NON-NLS-1$
-
- assertTrue(meter instanceof OSPerformanceMeter);
-
- meter.start();
- meter.stop();
-
- meter.commit();
-
- meter.dispose();
- }
-
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/TestPerformanceMeter.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/TestPerformanceMeter.java
deleted file mode 100644
index ffa9df44..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/TestPerformanceMeter.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.tests;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.test.internal.performance.InternalPerformanceMeter;
-import org.eclipse.test.internal.performance.data.DataPoint;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.data.Sample;
-import org.eclipse.test.internal.performance.data.Scalar;
-
-/**
- * Mock performance meter that generates deterministic values for two dimensions.
- */
-class TestPerformanceMeter extends InternalPerformanceMeter {
-
- private long fStartTime;
- private List<DataPoint> fDataPoints = new ArrayList<>();
- private Map<Dim, Scalar> fStart = new HashMap<>();
- private Map<Dim, Scalar> fStop = new HashMap<>();
-
- /**
- * @param scenarioId
- * the scenario id
- */
- TestPerformanceMeter(String scenarioId) {
- super(scenarioId);
- fStartTime = System.currentTimeMillis();
- }
-
- void addPair(Dim dimension, long start, long end) {
- fStart.put(dimension, new Scalar(dimension, start));
- fStop.put(dimension, new Scalar(dimension, end));
- }
-
- @Override
- public void dispose() {
- fDataPoints = null;
- super.dispose();
- }
-
- @Override
- public Sample getSample() {
- if (fDataPoints != null)
- return new Sample(getScenarioName(), fStartTime, new HashMap<>(),
- fDataPoints.toArray(new DataPoint[fDataPoints.size()]));
- return null;
- }
-
- @Override
- public void start() {
- fDataPoints.add(new DataPoint(BEFORE, fStart));
- }
-
- @Override
- public void stop() {
- fDataPoints.add(new DataPoint(AFTER, fStop));
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/VariationsTests.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/VariationsTests.java
deleted file mode 100644
index ac2cc80a..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/internal/performance/tests/VariationsTests.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.internal.performance.tests;
-
-import org.eclipse.test.internal.performance.db.Variations;
-
-import junit.framework.TestCase;
-
-public class VariationsTests extends TestCase {
-
- public void testVariations() {
- Variations v1 = new Variations();
- v1.put("k1", "foo"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("|k1=foo|", v1.toExactMatchString()); //$NON-NLS-1$
- assertEquals("%|k1=foo|%", v1.toQueryPattern()); //$NON-NLS-1$
-
- Variations v2 = new Variations();
- v2.put("k1", "foo"); //$NON-NLS-1$ //$NON-NLS-2$
- v2.put("k2", "bar"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("|k1=foo||k2=bar|", v2.toExactMatchString()); //$NON-NLS-1$
- assertEquals("%|k1=foo|%|k2=bar|%", v2.toQueryPattern()); //$NON-NLS-1$
-
- Variations v3 = new Variations();
- v3.put("k1", "foo"); //$NON-NLS-1$ //$NON-NLS-2$
- v3.put("k2", "bar"); //$NON-NLS-1$ //$NON-NLS-2$
- v3.put("k3", "xyz"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("|k1=foo||k2=bar||k3=xyz|", v3.toExactMatchString()); //$NON-NLS-1$
- assertEquals("%|k1=foo|%|k2=bar|%|k3=xyz|%", v3.toQueryPattern()); //$NON-NLS-1$
- }
-
- public void testParseVariations() {
- Variations v1 = new Variations();
- v1.put("k1", "foo"); //$NON-NLS-1$ //$NON-NLS-2$
-
- Variations v = new Variations();
- v.parseDB(v1.toExactMatchString());
- assertEquals(v1, v);
-
- Variations v2 = new Variations();
- v2.put("k1", "foo"); //$NON-NLS-1$ //$NON-NLS-2$
- v2.put("k2", "bar"); //$NON-NLS-1$ //$NON-NLS-2$
- v = new Variations();
- v.parseDB(v2.toExactMatchString());
- assertEquals(v2, v);
-
- Variations v3 = new Variations();
- v3.put("k1", "foo"); //$NON-NLS-1$ //$NON-NLS-2$
- v3.put("k2", "bar"); //$NON-NLS-1$ //$NON-NLS-2$
- v3.put("k3", "xyz"); //$NON-NLS-1$ //$NON-NLS-2$
- v = new Variations();
- v.parseDB(v3.toExactMatchString());
- assertEquals(v3, v);
- }
-
- // public void testMaxLength() {
- // StringBuffer sb= new StringBuffer();
- // for (int i= 0; i < 1000; i++)
- // sb.append("0123456789"); //$NON-NLS-1$
- // Variations v= new Variations(sb.toString(), null);
- //
- // String s1= v.toExactMatchString();
- // assertTrue(s1.length() == 10000);
- //
- // String s2= v.toQueryPattern();
- // assertTrue(s2.length() == 10000);
- // }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/AbstractPerformanceTestCase.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/AbstractPerformanceTestCase.java
deleted file mode 100644
index 8ed034f2..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/AbstractPerformanceTestCase.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2020 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Copied and modified from PerformanceTestCase.java
- *******************************************************************************/
-
-package org.eclipse.test.performance;
-
-/**
- * Common parts of Junit4 and Junit5
- *
- * @since 3.16
- */
-public class AbstractPerformanceTestCase {
-
- protected PerformanceMeter fPerformanceMeter;
-
- /**
- * Mark the scenario of this test case to be included into the global and the component performance summary. The summary shows
- * the given dimension of the scenario and labels the scenario with the short name.
- *
- * @param shortName
- * a short (shorter than 40 characters) descritive name of the scenario
- * @param dimension
- * the dimension to show in the summary
- */
- public void tagAsGlobalSummary(String shortName, Dimension dimension) {
- Performance performance = Performance.getDefault();
- performance.tagAsGlobalSummary(fPerformanceMeter, shortName, new Dimension[] { dimension });
- }
-
- /**
- * Mark the scenario represented by the given PerformanceMeter to be included into the global and the component performance
- * summary. The summary shows the given dimensions of the scenario and labels the scenario with the short name.
- *
- * @param shortName
- * a short (shorter than 40 characters) descritive name of the scenario
- * @param dimensions
- * an array of dimensions to show in the summary
- */
- public void tagAsGlobalSummary(String shortName, Dimension[] dimensions) {
- Performance performance = Performance.getDefault();
- performance.tagAsGlobalSummary(fPerformanceMeter, shortName, dimensions);
- }
-
- /**
- * Mark the scenario of this test case to be included into the component performance summary. The summary shows the given
- * dimension of the scenario and labels the scenario with the short name.
- *
- * @param shortName
- * a short (shorter than 40 characters) descritive name of the scenario
- * @param dimension
- * the dimension to show in the summary
- */
- public void tagAsSummary(String shortName, Dimension dimension) {
- Performance performance = Performance.getDefault();
- performance.tagAsSummary(fPerformanceMeter, shortName, new Dimension[] { dimension });
- }
-
- /**
- * Mark the scenario represented by the given PerformanceMeter to be included into the component performance summary. The
- * summary shows the given dimensions of the scenario and labels the scenario with the short name.
- *
- * @param shortName
- * a short (shorter than 40 characters) descritive name of the scenario
- * @param dimensions
- * an array of dimensions to show in the summary
- */
- public void tagAsSummary(String shortName, Dimension[] dimensions) {
- Performance performance = Performance.getDefault();
- performance.tagAsSummary(fPerformanceMeter, shortName, dimensions);
- }
-
- /**
- * Set a comment for the scenario represented by this TestCase. Currently only comments with a commentKind of
- * EXPLAINS_DEGRADATION_COMMENT are used. Their commentText is shown in a hover of the performance summaries graph if a
- * performance degradation exists.
- *
- * @param commentKind
- * kind of comment. Must be EXPLAINS_DEGRADATION_COMMENT to have an effect.
- * @param commentText
- * the comment (shorter than 400 characters)
- */
- public void setComment(int commentKind, String commentText) {
- Performance performance = Performance.getDefault();
- performance.setComment(fPerformanceMeter, commentKind, commentText);
- }
-
- /**
- * Called from within a test case immediately before the code to measure is run. It starts capturing of performance data. Must
- * be followed by a call to {@link AbstractPerformanceTestCase#stopMeasuring()} before subsequent calls to this method or
- * {@link AbstractPerformanceTestCase#commitMeasurements()}.
- *
- * @see PerformanceMeter#start()
- */
- protected void startMeasuring() {
- fPerformanceMeter.start();
- }
-
- /**
- * Called from within a test case immediately after the operation to measure. Must be preceded by a call to
- * {@link AbstractPerformanceTestCase#startMeasuring()}, that follows any previous call to this method.
- *
- * @see PerformanceMeter#stop()
- */
- protected void stopMeasuring() {
- fPerformanceMeter.stop();
- }
-
- /**
- * Called exactly once after repeated measurements are done and before their analysis. Afterwards
- * {@link AbstractPerformanceTestCase#startMeasuring()} and {@link AbstractPerformanceTestCase#stopMeasuring()} must not be called.
- *
- * @see PerformanceMeter#commit()
- */
- protected void commitMeasurements() {
- fPerformanceMeter.commit();
- }
-
- /**
- * Asserts default properties of the measurements captured for this test case.
- *
- * @throws RuntimeException
- * if the properties do not hold
- */
- protected void assertPerformance() {
- Performance.getDefault().assertPerformance(fPerformanceMeter);
- }
-
- /**
- * Asserts that the measurement specified by the given dimension is within a certain range with respect to some reference value.
- * If the specified dimension isn't available, the call has no effect.
- *
- * @param dim
- * the Dimension to check
- * @param lowerPercentage
- * a negative number indicating the percentage the measured value is allowed to be smaller than some reference value
- * @param upperPercentage
- * a positive number indicating the percentage the measured value is allowed to be greater than some reference value
- * @throws RuntimeException
- * if the properties do not hold
- */
- protected void assertPerformanceInRelativeBand(Dimension dim, int lowerPercentage, int upperPercentage) {
- Performance.getDefault().assertPerformanceInRelativeBand(fPerformanceMeter, dim, lowerPercentage, upperPercentage);
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/Dimension.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/Dimension.java
deleted file mode 100644
index eca8db99..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/Dimension.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.performance;
-
-import java.io.Serializable;
-
-import org.eclipse.test.internal.performance.InternalDimensions;
-
-/**
- * Some predefined dimensions most likely supported on all platforms.
- *
- * This interface is not intended to be implemented by clients.
- *
- * @since 3.1
- */
-public interface Dimension extends Serializable {
-
- // Dimensions available on all platforms:
-
- /**
- * The amount of time that the process has executed in kernel mode. It is calculated by taking the sum of the time that each of
- * the threads of the process has executed in kernel mode.
- */
- public Dimension KERNEL_TIME = InternalDimensions.KERNEL_TIME;
-
- /**
- * The amount of CPU time used so far by this process. It is calculated by adding the KERNEL_TIME and the amount of time that
- * the process has executed in user mode. The user time is calculated by taking the sum of the time that each of the threads of
- * the process has executed in user mode. It does not include any time where the process is waiting for OS resources. It is the
- * best approximation for ELAPSED_PROCESS (which is not available on all platforms).
- */
- public Dimension CPU_TIME = InternalDimensions.CPU_TIME;
-
- /**
- * WORKING_SET is the amount of memory in the working set of this process. The working set is the set of memory pages touched
- * recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the working
- * set of a process even if they are not in use. When free memory falls below a threshold, pages are removed from working sets.
- */
- public Dimension WORKING_SET = InternalDimensions.WORKING_SET;
-
- /**
- * The total elapsed time this process has been running. Since it starts at 0 on process start it can be used to measure startup
- * time. On Windows it is calculated by subtracting the creation time of the process from the current system time. On Linux it
- * is calculated by subtracting the value of the system property "eclipse.startTime" from System.currentTimeMillis() Please note
- * that in contrast to the CPU_TIME the elapsed time of a process is influenced by other processes running in parallel.
- */
- public Dimension ELAPSED_PROCESS = InternalDimensions.ELAPSED_PROCESS;
-
- /**
- * The amount of memory used in the JVM. It is calculated by subtracting <code>Runtime.freeMemory()</code> from
- * <code>Runtime.totalMemory()</code>.
- */
- public Dimension USED_JAVA_HEAP = InternalDimensions.USED_JAVA_HEAP;
-
- // the following Dimensions not available on all platforms!
-
- /**
- * WORKING_SET_PEAK is the maximum amount of memory in the working set of this process at any point in time. The working set is
- * the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold,
- * pages are left in the working set of a process even if they are not in use. When free memory falls below a threshold, pages
- * are removed from working sets. Currently this dimension is only available on Windows.
- */
- public Dimension WORKING_SET_PEAK = InternalDimensions.WORKING_SET_PEAK;
-
- /**
- * The total amount of committed memory (for the entire machine). Committed memory is the size of virtual memory that has been
- * committed (as opposed to simply reserved). Committed memory must have backing (i.e., disk) storage available, or must be
- * assured never to need disk storage (because main memory is large enough to hold it.) Notice that this is an instantaneous
- * count, not an average over the time interval. Currently this dimension is only available on Windows.
- */
- public Dimension COMITTED = InternalDimensions.COMITTED;
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/Performance.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/Performance.java
deleted file mode 100644
index 2a964c9f..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/Performance.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2018 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.performance;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.test.internal.performance.InternalDimensions;
-import org.eclipse.test.internal.performance.InternalPerformanceMeter;
-import org.eclipse.test.internal.performance.NullPerformanceMeter;
-import org.eclipse.test.internal.performance.OSPerformanceMeterFactory;
-import org.eclipse.test.internal.performance.PerformanceMeterFactory;
-import org.eclipse.test.internal.performance.PerformanceTestPlugin;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.eval.AbsoluteBandChecker;
-import org.eclipse.test.internal.performance.eval.AssertChecker;
-import org.eclipse.test.internal.performance.eval.Evaluator;
-import org.eclipse.test.internal.performance.eval.IEvaluator;
-import org.eclipse.test.internal.performance.eval.RelativeBandChecker;
-import org.osgi.framework.Bundle;
-
-import junit.framework.TestCase;
-
-/**
- * Helper for performance measurements. Currently provides performance meter creation and checking of measurements.
- *
- * This class is not intended to be subclassed by clients.
- *
- * @since 3.1
- */
-public class Performance {
-
- /**
- * A comment kind of a comment that explains a performance degradation.
- */
- public static final int EXPLAINS_DEGRADATION_COMMENT = 1;
-
- private static final String PERFORMANCE_METER_FACTORY = "/option/performanceMeterFactory"; //$NON-NLS-1$
- private static final String PERFORMANCE_METER_FACTORY_PROPERTY = "PerformanceMeterFactory"; //$NON-NLS-1$
-
- private static Performance fgDefault;
-
- private PerformanceMeterFactory fPerformanceMeterFactory;
- private IEvaluator fDefaultEvaluator;
-
- /** Null performance meter singleton */
- private NullPerformanceMeter fNullPeformanceMeter;
-
- /**
- * Private constructor to block instance creation.
- */
- private Performance() {
- // empty
- }
-
- /**
- * Returns the singleton of <code>Performance</code>
- *
- * @return the singleton of <code>Performance</code>
- */
- public static Performance getDefault() {
- if (fgDefault == null)
- fgDefault = new Performance();
- return fgDefault;
- }
-
- /**
- * Asserts default properties of the measurements captured by the given performance meter.
- *
- * @param performanceMeter
- * the performance meter
- * @throws RuntimeException
- * if the properties do not hold
- */
- public void assertPerformance(PerformanceMeter performanceMeter) {
- if (fDefaultEvaluator == null) {
- fDefaultEvaluator = new Evaluator();
- fDefaultEvaluator.setAssertCheckers(new AssertChecker[] { new RelativeBandChecker(InternalDimensions.ELAPSED_PROCESS,
- 0.0f, 1.10f),
- // new RelativeBandChecker(InternalDimensions.CPU_TIME, 0.0f, 1.10f),
- // new RelativeBandChecker(InternalDimensions.WORKING_SET, 0.0f, 3.00f),
- // new RelativeBandChecker(InternalDimensions.USED_JAVA_HEAP, 0.0f, 2.00f),
- // new RelativeBandChecker(InternalDimensions.SYSTEM_TIME, 0.0f, 1.10f)
- });
- }
- fDefaultEvaluator.evaluate(performanceMeter);
- }
-
- /**
- * Asserts that the measurement specified by the dimension captured in the given performance meter is within a certain range
- * with respect to some reference value. If the performance meter doesn't provide the specified dimension, the call has no
- * effect.
- *
- * @param performanceMeter
- * the performance meter
- * @param dim
- * the Dimension to check
- * @param lowerPercentage
- * a negative number indicating the percentage the measured value is allowed to be smaller than some reference value
- * @param upperPercentage
- * a positive number indicating the percentage the measured value is allowed to be greater than some reference value
- * @throws RuntimeException
- * if the properties do not hold
- */
- public void assertPerformanceInRelativeBand(PerformanceMeter performanceMeter, Dimension dim, int lowerPercentage,
- int upperPercentage) {
- Evaluator e = new Evaluator();
- e.setAssertCheckers(new AssertChecker[] { new RelativeBandChecker((Dim) dim, 1.0 + (lowerPercentage / 100.0),
- 1.0 + (upperPercentage / 100.0)), });
- e.evaluate(performanceMeter);
- }
-
- /**
- * Asserts that the measurement specified by the dimension captured in the given performance meter is within a certain range
- * with respect to some reference value. If the performance meter doesn't provide the specified dimension, the call has no
- * effect.
- *
- * @param performanceMeter
- * the performance meter
- * @param dim
- * the Dimension to check
- * @param lowerBand
- * a negative number indicating the absolute amount the measured value is allowed to be smaller than some reference
- * value
- * @param upperBand
- * a positive number indicating the absolute amount the measured value is allowed to be greater than some reference
- * value
- * @throws RuntimeException
- * if the properties do not hold
- */
- public void assertPerformanceInAbsoluteBand(PerformanceMeter performanceMeter, Dimension dim, int lowerBand, int upperBand) {
- Evaluator e = new Evaluator();
- e.setAssertCheckers(new AssertChecker[] { new AbsoluteBandChecker((Dim) dim, lowerBand, upperBand), });
- e.evaluate(performanceMeter);
- }
-
- /**
- * Creates a performance meter for the given scenario id.
- *
- * @param scenarioId
- * the scenario id
- * @return a performance meter for the given scenario id
- * @throws IllegalArgumentException
- * if a performance meter for the given scenario id has already been created
- */
- public PerformanceMeter createPerformanceMeter(String scenarioId) {
- return getPeformanceMeterFactory().createPerformanceMeter(scenarioId);
- }
-
- /**
- * Returns the null performance meter singleton.
- *
- * @return the null performance meter singleton
- */
- public PerformanceMeter getNullPerformanceMeter() {
- if (fNullPeformanceMeter == null)
- fNullPeformanceMeter = new NullPerformanceMeter();
- return fNullPeformanceMeter;
- }
-
- /**
- * Returns a default scenario id for the given test. The test's name must have been set, such that <code>test.getName()</code>
- * is not <code>null</code>.
- *
- * @param test
- * the test
- * @return the default scenario id for the test
- */
- public String getDefaultScenarioId(TestCase test) {
- return test.getClass().getName() + '#' + test.getName() + "()"; //$NON-NLS-1$
- }
-
- /**
- * Returns a default scenario id for the given test class.
- *
- * @param test
- * the test class
- * @return the default scenario id for the test
- * @since 3.15
- */
- public String getDefaultScenarioId(Class<?> test) {
- return test.getName() + '#' + test.getName() + "()"; //$NON-NLS-1$
- }
-
- /**
- * Returns a default scenario id for the given test class.
- *
- * @param test
- * the test class
- * @param methodName
- * the methodname of the test method
- * @return the default scenario id for the test
- * @since 3.16
- */
- public String getDefaultScenarioId(Class<?> test, String methodName) {
- return test.getName() + '#' + methodName + "()"; //$NON-NLS-1$
- }
-
- /**
- * Returns a default scenario id for the given test and id. The test's name must have been set, such that
- * <code>test.getName()</code> is not <code>null</code>. The id distinguishes multiple scenarios in the same test.
- *
- * @param test
- * the test
- * @param id
- * the id
- * @return the default scenario id for the test and the id
- */
- public String getDefaultScenarioId(TestCase test, String id) {
- return getDefaultScenarioId(test) + '-' + id;
- }
-
- private PerformanceMeterFactory getPeformanceMeterFactory() {
- if (fPerformanceMeterFactory == null)
- fPerformanceMeterFactory = createPerformanceMeterFactory();
- return fPerformanceMeterFactory;
- }
-
- private PerformanceMeterFactory createPerformanceMeterFactory() {
- PerformanceMeterFactory factory;
- factory = tryInstantiate(System.getProperty(PERFORMANCE_METER_FACTORY_PROPERTY));
- if (factory != null)
- return factory;
-
- factory = tryInstantiate(Platform.getDebugOption(PerformanceTestPlugin.PLUGIN_ID + PERFORMANCE_METER_FACTORY));
- if (factory != null)
- return factory;
-
- return createDefaultPerformanceMeterFactory();
- }
-
- private PerformanceMeterFactory tryInstantiate(String className) {
- PerformanceMeterFactory instance = null;
- if (className != null && className.length() > 0) {
- try {
- Class<?> c = null;
- if (Platform.isRunning()) {
- int separator = className.indexOf(':');
- Bundle bundle = null;
- if (separator == -1) {
- bundle = PerformanceTestPlugin.getDefault().getBundle();
- } else {
- String bundleName = className.substring(0, separator);
- className = className.substring(separator + 1);
- bundle = Platform.getBundle(bundleName);
- }
- c = bundle.loadClass(className);
- } else {
- c = Class.forName(className);
- }
- instance = (PerformanceMeterFactory) c.getDeclaredConstructor().newInstance();
- } catch (
- ClassNotFoundException |
- InstantiationException |
- IllegalAccessException |
- ClassCastException |
- IllegalArgumentException |
- InvocationTargetException |
- NoSuchMethodException |
- SecurityException e) {
- PerformanceTestPlugin.log(e);
- }
- }
- return instance;
- }
-
- private PerformanceMeterFactory createDefaultPerformanceMeterFactory() {
- return new OSPerformanceMeterFactory();
- }
-
- /**
- * Mark the scenario represented by the given PerformanceMeter to be included into the global and the component performance
- * summary. The summary shows the given dimension of the scenario and labels the scenario with the short name.
- *
- * @param pm
- * the PerformanceMeter
- * @param shortName
- * a short (shorter than 40 characters) descriptive name of the scenario
- * @param dimension
- * the dimension to show in the summary
- */
- public void tagAsGlobalSummary(PerformanceMeter pm, String shortName, Dimension dimension) {
- tagAsGlobalSummary(pm, shortName, new Dimension[] { dimension });
- }
-
- /**
- * Mark the scenario represented by the given PerformanceMeter to be included into the global and the component performance
- * summary. The summary shows the given dimensions of the scenario and labels the scenario with the short name.
- *
- * @param pm
- * the PerformanceMeter
- * @param shortName
- * a short (shorter than 40 characters) descriptive name of the scenario
- * @param dimensions
- * an array of dimensions to show in the summary
- */
- public void tagAsGlobalSummary(PerformanceMeter pm, String shortName, Dimension[] dimensions) {
- if (pm instanceof InternalPerformanceMeter) {
- InternalPerformanceMeter ipm = (InternalPerformanceMeter) pm;
- ipm.tagAsSummary(true, shortName, dimensions);
- }
- }
-
- /**
- * Mark the scenario represented by the given PerformanceMeter to be included into the component performance summary. The
- * summary shows the given dimension of the scenario and labels the scenario with the short name.
- *
- * @param pm
- * the PerformanceMeter
- * @param shortName
- * a short (shorter than 40 characters) descriptive name of the scenario
- * @param dimension
- * the dimension to show in the summary
- */
- public void tagAsSummary(PerformanceMeter pm, String shortName, Dimension dimension) {
- tagAsSummary(pm, shortName, new Dimension[] { dimension });
- }
-
- /**
- * Mark the scenario represented by the given PerformanceMeter to be included into the component performance summary. The
- * summary shows the given dimensions of the scenario and labels the scenario with the short name.
- *
- * @param pm
- * the PerformanceMeter
- * @param shortName
- * a short (shorter than 40 characters) descriptive name of the scenario
- * @param dimensions
- * an array of dimensions to show in the summary
- */
- public void tagAsSummary(PerformanceMeter pm, String shortName, Dimension[] dimensions) {
- if (pm instanceof InternalPerformanceMeter) {
- InternalPerformanceMeter ipm = (InternalPerformanceMeter) pm;
- ipm.tagAsSummary(false, shortName, dimensions);
- }
- }
-
- /**
- * Set a comment for the scenario represented by the given PerformanceMeter. Currently only comments with a commentKind of
- * EXPLAINS_DEGRADATION_COMMENT are used. Their commentText is shown in a hover of the performance summaries graph if a
- * performance degradation exists.
- *
- * @param pm
- * the PerformanceMeter
- * @param commentKind
- * kind of comment. Must be EXPLAINS_DEGRADATION_COMMENT to have an effect.
- * @param commentText
- * the comment (shorter than 400 characters)
- */
- public void setComment(PerformanceMeter pm, int commentKind, String commentText) {
- if (commentKind == EXPLAINS_DEGRADATION_COMMENT) {
- if (pm instanceof InternalPerformanceMeter) {
- InternalPerformanceMeter ipm = (InternalPerformanceMeter) pm;
- ipm.setComment(commentKind, commentText);
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceMeter.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceMeter.java
deleted file mode 100644
index ac6e49aa..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceMeter.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.performance;
-
-/**
- * A <code>PerformanceMeter</code> is used for doing repeated measurements of an arbitrary operation.
- *
- * The kind of measurement and the retrieval of the results remain internal to the implementation. Measurements can include time,
- * CPU cycle and memory consumption.
- *
- * A <code>PerformanceMeter</code> is created using the method {@link Performance#createPerformanceMeter(String)}. An operation is
- * measured by calling {@link PerformanceMeter#start()} before and {@link PerformanceMeter#stop()} after that operation. The
- * measurement can be repeated, for example, to let the VM warm up and to allow for statistical analysis afterwards.
- *
- * After measurements are done and before an analysis of the results can be made {@link PerformanceMeter#commit()} has to be called.
- * This allows for example to prepare the measurements for analysis or persist them.
- * {@link Performance#assertPerformance(PerformanceMeter)} provides a default analysis of the measurements. After the
- * <code>PerformanceMeter</code> is no longer used {@link PerformanceMeter#dispose()} must be called.
- *
- * Example usage in a test case:
- *
- * <pre>
- *
- * public void testOpenEditor() {
- * Performance perf = Performance.getDefault();
- * PerformanceMeter performanceMeter = perf.createPerformanceMeter(perf.getDefaultScenarioId(this));
- * try {
- * for (int i = 0; i &lt; 10; i++) {
- * performanceMeter.start();
- * openEditor();
- * performanceMeter.stop();
- * closeEditor();
- * }
- * performanceMeter.commit();
- * perf.assertPerformance(performanceMeter);
- * }
- * finally {
- * performanceMeter.dispose();
- * }
- * }
- * </pre>
- *
- * This class is not intended to be subclassed by clients.
- */
-public abstract class PerformanceMeter {
-
- /**
- * Called immediately before the operation to measure. Must be followed by a call to {@link PerformanceMeter#stop()} before
- * subsequent calls to this method or {@link PerformanceMeter#commit()}.
- */
- public abstract void start();
-
- /**
- * Called immediately after the operation to measure. Must be preceded by a call to {@link PerformanceMeter#start()}, that
- * follows any previous call to this method.
- */
- public abstract void stop();
-
- /**
- * Called exactly once after repeated measurements are done and before their analysis. Afterwards
- * {@link PerformanceMeter#start()} and {@link PerformanceMeter#stop()} must not be called.
- */
- public abstract void commit();
-
- /**
- * Dispose associated resources. Clients must call this method exactly once. Afterwards no methods must be called on the
- * performance meter.
- */
- public abstract void dispose();
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCase.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCase.java
deleted file mode 100644
index 84afb267..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCase.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.test.performance;
-
-import junit.framework.TestCase;
-
-/**
- * A PerformanceTestCase is a convenience class that takes care of managing a <code>PerformanceMeter</code>.
- * <p>
- * Here is an example:
- *
- * <pre>
- * public class MyPerformanceTestCase extends PeformanceTestCase {
- *
- * public void testMyOperation() {
- * for (int i= 0; i < 10; i++) {
- * // preparation
- * startMeasuring();
- * // my operation
- * stopMeasuring();
- * // clean up
- * }
- * commitMeasurements();
- * assertPerformance();
- * }
- * }
- */
-public class PerformanceTestCase extends TestCase {
-
- protected PerformanceMeter fPerformanceMeter;
-
- /**
- * Constructs a performance test case.
- */
- public PerformanceTestCase() {
- super();
- }
-
- /**
- * Constructs a performance test case with the given name.
- *
- * @param name
- * the name of the performance test case
- */
- public PerformanceTestCase(String name) {
- super(name);
- }
-
- /**
- * Overridden to create a default performance meter for this test case.
- *
- * @throws Exception
- */
- @Override
- protected void setUp() throws Exception {
- Performance performance = Performance.getDefault();
- fPerformanceMeter = performance.createPerformanceMeter(performance.getDefaultScenarioId(this));
- }
-
- /**
- * Overridden to dispose of the performance meter.
- *
- * @throws Exception
- */
- @Override
- protected void tearDown() throws Exception {
- fPerformanceMeter.dispose();
- }
-
- /**
- * Mark the scenario of this test case to be included into the global and the component performance summary. The summary shows
- * the given dimension of the scenario and labels the scenario with the short name.
- *
- * @param shortName
- * a short (shorter than 40 characters) descritive name of the scenario
- * @param dimension
- * the dimension to show in the summary
- */
- public void tagAsGlobalSummary(String shortName, Dimension dimension) {
- Performance performance = Performance.getDefault();
- performance.tagAsGlobalSummary(fPerformanceMeter, shortName, new Dimension[] { dimension });
- }
-
- /**
- * Mark the scenario represented by the given PerformanceMeter to be included into the global and the component performance
- * summary. The summary shows the given dimensions of the scenario and labels the scenario with the short name.
- *
- * @param shortName
- * a short (shorter than 40 characters) descritive name of the scenario
- * @param dimensions
- * an array of dimensions to show in the summary
- */
- public void tagAsGlobalSummary(String shortName, Dimension[] dimensions) {
- Performance performance = Performance.getDefault();
- performance.tagAsGlobalSummary(fPerformanceMeter, shortName, dimensions);
- }
-
- /**
- * Mark the scenario of this test case to be included into the component performance summary. The summary shows the given
- * dimension of the scenario and labels the scenario with the short name.
- *
- * @param shortName
- * a short (shorter than 40 characters) descritive name of the scenario
- * @param dimension
- * the dimension to show in the summary
- */
- public void tagAsSummary(String shortName, Dimension dimension) {
- Performance performance = Performance.getDefault();
- performance.tagAsSummary(fPerformanceMeter, shortName, new Dimension[] { dimension });
- }
-
- /**
- * Mark the scenario represented by the given PerformanceMeter to be included into the component performance summary. The
- * summary shows the given dimensions of the scenario and labels the scenario with the short name.
- *
- * @param shortName
- * a short (shorter than 40 characters) descritive name of the scenario
- * @param dimensions
- * an array of dimensions to show in the summary
- */
- public void tagAsSummary(String shortName, Dimension[] dimensions) {
- Performance performance = Performance.getDefault();
- performance.tagAsSummary(fPerformanceMeter, shortName, dimensions);
- }
-
- /**
- * Set a comment for the scenario represented by this TestCase. Currently only comments with a commentKind of
- * EXPLAINS_DEGRADATION_COMMENT are used. Their commentText is shown in a hover of the performance summaries graph if a
- * performance degradation exists.
- *
- * @param commentKind
- * kind of comment. Must be EXPLAINS_DEGRADATION_COMMENT to have an effect.
- * @param commentText
- * the comment (shorter than 400 characters)
- */
- public void setComment(int commentKind, String commentText) {
- Performance performance = Performance.getDefault();
- performance.setComment(fPerformanceMeter, commentKind, commentText);
- }
-
- /**
- * Called from within a test case immediately before the code to measure is run. It starts capturing of performance data. Must
- * be followed by a call to {@link PerformanceTestCase#stopMeasuring()} before subsequent calls to this method or
- * {@link PerformanceTestCase#commitMeasurements()}.
- *
- * @see PerformanceMeter#start()
- */
- protected void startMeasuring() {
- fPerformanceMeter.start();
- }
-
- /**
- * Called from within a test case immediately after the operation to measure. Must be preceded by a call to
- * {@link PerformanceTestCase#startMeasuring()}, that follows any previous call to this method.
- *
- * @see PerformanceMeter#stop()
- */
- protected void stopMeasuring() {
- fPerformanceMeter.stop();
- }
-
- /**
- * Called exactly once after repeated measurements are done and before their analysis. Afterwards
- * {@link PerformanceTestCase#startMeasuring()} and {@link PerformanceTestCase#stopMeasuring()} must not be called.
- *
- * @see PerformanceMeter#commit()
- */
- protected void commitMeasurements() {
- fPerformanceMeter.commit();
- }
-
- /**
- * Asserts default properties of the measurements captured for this test case.
- *
- * @throws RuntimeException
- * if the properties do not hold
- */
- protected void assertPerformance() {
- Performance.getDefault().assertPerformance(fPerformanceMeter);
- }
-
- /**
- * Asserts that the measurement specified by the given dimension is within a certain range with respect to some reference value.
- * If the specified dimension isn't available, the call has no effect.
- *
- * @param dim
- * the Dimension to check
- * @param lowerPercentage
- * a negative number indicating the percentage the measured value is allowed to be smaller than some reference value
- * @param upperPercentage
- * a positive number indicating the percentage the measured value is allowed to be greater than some reference value
- * @throws RuntimeException
- * if the properties do not hold
- */
- protected void assertPerformanceInRelativeBand(Dimension dim, int lowerPercentage, int upperPercentage) {
- Performance.getDefault().assertPerformanceInRelativeBand(fPerformanceMeter, dim, lowerPercentage, upperPercentage);
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCaseJunit4.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCaseJunit4.java
deleted file mode 100644
index 6605ce15..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCaseJunit4.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2020 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Copied and modified for Junit4 from PerformanceTestCase.java
- *******************************************************************************/
-
-package org.eclipse.test.performance;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.rules.TestName;
-
-/**
- * A PerformanceTestCaseJunit4 is a convenience class that takes care of managing a <code>PerformanceMeter</code>.
- * <p>
- * Here is an example:
- *
- * <blockquote>
- *
- * <pre>
- * public class MyPerformanceTestCase extends PerformanceTestCaseJunit4 {
- *
- * &#64;Test
- * public void testMyOperation() {
- * for (int i = 0; i < 10; i++) {
- * // preparation
- * startMeasuring();
- * // my operation
- * stopMeasuring();
- * // clean up
- * }
- * commitMeasurements();
- * assertPerformance();
- * }
- * }
- * </pre>
- *
- * </blockquote>
- *
- * @since 3.16
- */
-public class PerformanceTestCaseJunit4 extends AbstractPerformanceTestCase {
-
- @Rule
- public TestName tn = new TestName();
-
- /**
- * Create a default performance meter for this test case.
- *
- * @throws Exception
- */
- @Before
- public void setUp() throws Exception {
- Performance performance = Performance.getDefault();
- fPerformanceMeter = performance.createPerformanceMeter(performance.getDefaultScenarioId(this.getClass(), tn.getMethodName()));
- }
-
- /**
- * Dispose of the performance meter.
- *
- * @throws Exception
- */
- @After
- public void tearDown() throws Exception {
- fPerformanceMeter.dispose();
- }
-}
diff --git a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCaseJunit5.java b/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCaseJunit5.java
deleted file mode 100644
index 9d39cfa4..00000000
--- a/bundles/org.eclipse.test.performance/src/org/eclipse/test/performance/PerformanceTestCaseJunit5.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2020 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Copied and modified for Junit4 from PerformanceTestCase.java
- *******************************************************************************/
-
-package org.eclipse.test.performance;
-
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.TestInfo;
-
-/**
- * A PerformanceTestCaseJunit5 is a convenience class that takes care of managing a <code>PerformanceMeter</code>.
- * <p>
- * Here is an example:
- *
- * <blockquote>
- *
- * <pre>
- * public class MyPerformanceTestCase extends PerformanceTestCaseJunit% {
- *
- * &#64;Test
- * public void testMyOperation() {
- * for (int i = 0; i < 10; i++) {
- * // preparation
- * startMeasuring();
- * // my operation
- * stopMeasuring();
- * // clean up
- * }
- * commitMeasurements();
- * assertPerformance();
- * }
- * }
- * </pre>
- *
- * </blockquote>
- *
- * @since 3.16
- */
-public class PerformanceTestCaseJunit5 extends AbstractPerformanceTestCase {
-
- /**
- * Create a default performance meter for this test case.
- *
- * @param testInfo
- *
- * @throws Exception
- */
- @BeforeEach
- public void setUp(TestInfo testInfo) throws Exception {
- Performance performance = Performance.getDefault();
- fPerformanceMeter = performance.createPerformanceMeter(performance.getDefaultScenarioId(this.getClass(), testInfo.getDisplayName()));
- }
-
- /**
- * Dispose of the performance meter.
- *
- * @throws Exception
- */
- @AfterEach
- public void tearDown() throws Exception {
- fPerformanceMeter.dispose();
- }
-}
diff --git a/bundles/org.eclipse.test/.classpath b/bundles/org.eclipse.test/.classpath
deleted file mode 100644
index a42a828e..00000000
--- a/bundles/org.eclipse.test/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src">
- <attributes>
- <attribute name="test" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.test/.gitignore b/bundles/org.eclipse.test/.gitignore
deleted file mode 100644
index f1855e6a..00000000
--- a/bundles/org.eclipse.test/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/bin/
-*.jpage \ No newline at end of file
diff --git a/bundles/org.eclipse.test/.project b/bundles/org.eclipse.test/.project
deleted file mode 100644
index 4bc97396..00000000
--- a/bundles/org.eclipse.test/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.test</name>
- <comment></comment>
- <projects>
- <project>org.apache.ant</project>
- <project>org.eclipse.ant.core</project>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime</project>
- <project>org.eclipse.help</project>
- <project>org.eclipse.jface</project>
- <project>org.eclipse.jface.text</project>
- <project>org.eclipse.swt</project>
- <project>org.eclipse.ui.workbench</project>
- <project>org.junit</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.test/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.test/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/bundles/org.eclipse.test/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.test/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.test/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d..00000000
--- a/bundles/org.eclipse.test/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/bundles/org.eclipse.test/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.test/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b1207faf..00000000
--- a/bundles/org.eclipse.test/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,103 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
diff --git a/bundles/org.eclipse.test/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.test/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index ba85338b..00000000
--- a/bundles/org.eclipse.test/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=0
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=0
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.test/META-INF/MANIFEST.MF b/bundles/org.eclipse.test/META-INF/MANIFEST.MF
deleted file mode 100644
index 960b681f..00000000
--- a/bundles/org.eclipse.test/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.test; singleton:=true
-Bundle-Version: 3.5.0.qualifier
-Eclipse-BundleShape: dir
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.apache.ant,
- org.eclipse.ui;bundle-version="[3.112.0,4.0.0)",
- org.eclipse.core.runtime,
- org.eclipse.ui.ide.application,
- org.eclipse.equinox.app,
- org.junit.jupiter.api,
- org.junit.jupiter.engine,
- org.junit.platform.commons,
- org.junit.platform.engine,
- org.junit.platform.launcher,
- org.junit.vintage.engine
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-11
-Export-Package: org.eclipse.test
-Automatic-Module-Name: org.eclipse.test
diff --git a/bundles/org.eclipse.test/about.html b/bundles/org.eclipse.test/about.html
deleted file mode 100644
index 164f781a..00000000
--- a/bundles/org.eclipse.test/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- (&quot;Content&quot;). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- (&quot;Redistributor&quot;) and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/bundles/org.eclipse.test/build.properties b/bundles/org.eclipse.test/build.properties
deleted file mode 100644
index dbb2d165..00000000
--- a/bundles/org.eclipse.test/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2017 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-output.. = bin/
-bin.includes = .,\
- plugin.properties,\
- META-INF/,\
- plugin.xml,\
- about.html
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.test/easymock.psf b/bundles/org.eclipse.test/easymock.psf
deleted file mode 100644
index e3005d55..00000000
--- a/bundles/org.eclipse.test/easymock.psf
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<psf version="2.0">
-<provider id="org.eclipse.team.cvs.core.cvsnature">
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.easymock,org.easymock,v2_4"/>
-</provider>
-</psf> \ No newline at end of file
diff --git a/bundles/org.eclipse.test/forceQualifierUpdate.txt b/bundles/org.eclipse.test/forceQualifierUpdate.txt
deleted file mode 100644
index a6ccccbe..00000000
--- a/bundles/org.eclipse.test/forceQualifierUpdate.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-# To force a version qualifier update add the bug here
-Bug 403352 - Update all parent versions to match our build stream
-Bug 416387 - don't sign inner jars in tools and test framework
-Bug 516465 - Add missing about.html to o.e.test
-Pick up new signing certificate
-Bug 566471 - I20200828-0150 - Comparator Errors Found \ No newline at end of file
diff --git a/bundles/org.eclipse.test/plugin.properties b/bundles/org.eclipse.test/plugin.properties
deleted file mode 100644
index 5a0debaf..00000000
--- a/bundles/org.eclipse.test/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Eclipse Automated Testing
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.test/plugin.xml b/bundles/org.eclipse.test/plugin.xml
deleted file mode 100644
index 4a148197..00000000
--- a/bundles/org.eclipse.test/plugin.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
- <extension
- id="coretestapplication"
- point="org.eclipse.core.runtime.applications">
- <application>
- <run
- class="org.eclipse.test.CoreTestApplication">
- </run>
- </application>
- </extension>
- <extension
- id="uitestapplication"
- point="org.eclipse.core.runtime.applications">
- <application>
- <run
- class="org.eclipse.test.UITestApplication">
- <parameter
- name="productInfo"
- value="product.ini">
- </parameter>
- </run>
- </application>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.test/pom.xml b/bundles/org.eclipse.test/pom.xml
deleted file mode 100644
index 49fedc7b..00000000
--- a/bundles/org.eclipse.test/pom.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2012, 2017 Eclipse Foundation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Distribution License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/org/documents/edl-v10.php
-
- Contributors:
- Igor Fedorenko - initial implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>eclipse.platform.releng</groupId>
- <artifactId>eclipse.platform.releng</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- <relativePath>../../</relativePath>
- </parent>
- <groupId>org.eclipse.test</groupId>
- <artifactId>org.eclipse.test</artifactId>
- <version>3.5.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
- <properties>
- <defaultSigning-excludeInnerJars>true</defaultSigning-excludeInnerJars>
- </properties>
-</project>
diff --git a/bundles/org.eclipse.test/src/org/eclipse/test/AbstractJUnitResultFormatter.java b/bundles/org.eclipse.test/src/org/eclipse/test/AbstractJUnitResultFormatter.java
deleted file mode 100644
index 1a3755fd..00000000
--- a/bundles/org.eclipse.test/src/org/eclipse/test/AbstractJUnitResultFormatter.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2018, 2020 Red Hat Inc. and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Lucas Bullen (Red Hat Inc.) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.test;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.Closeable;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.Writer;
-import java.nio.BufferOverflowException;
-import java.nio.ByteBuffer;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Objects;
-import java.util.Optional;
-
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.optional.junitlauncher.TestExecutionContext;
-import org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter;
-import org.apache.tools.ant.util.FileUtils;
-import org.junit.platform.engine.TestSource;
-import org.junit.platform.engine.support.descriptor.ClassSource;
-import org.junit.platform.launcher.TestIdentifier;
-import org.junit.platform.launcher.TestPlan;
-
-/**
- * Contains some common behaviour that's used by our internal {@link TestResultFormatter}s
- */
-abstract class AbstractJUnitResultFormatter implements TestResultFormatter {
-
-
- protected static String NEW_LINE = System.lineSeparator();
- protected TestExecutionContext context;
-
- private SysOutErrContentStore sysOutStore;
- private SysOutErrContentStore sysErrStore;
-
- @Override
- public void sysOutAvailable(final byte[] data) {
- if (this.sysOutStore == null) {
- this.sysOutStore = new SysOutErrContentStore(true);
- }
- try {
- this.sysOutStore.store(data);
- } catch (IOException e) {
- handleException(e);
- return;
- }
- }
-
- @Override
- public void sysErrAvailable(final byte[] data) {
- if (this.sysErrStore == null) {
- this.sysErrStore = new SysOutErrContentStore(false);
- }
- try {
- this.sysErrStore.store(data);
- } catch (IOException e) {
- handleException(e);
- return;
- }
- }
-
- @Override
- public void setContext(final TestExecutionContext context) {
- this.context = context;
- }
-
- /**
- * @return Returns true if there's any stdout data, that was generated during the
- * tests, is available for use. Else returns false.
- */
- boolean hasSysOut() {
- return this.sysOutStore != null && this.sysOutStore.hasData();
- }
-
- /**
- * @return Returns true if there's any stderr data, that was generated during the
- * tests, is available for use. Else returns false.
- */
- boolean hasSysErr() {
- return this.sysErrStore != null && this.sysErrStore.hasData();
- }
-
- /**
- * @return Returns a {@link Reader} for reading any stdout data that was generated
- * during the test execution. It is expected that the {@link #hasSysOut()} be first
- * called to see if any such data is available and only if there is, then this method
- * be called
- * @throws IOException If there's any I/O problem while creating the {@link Reader}
- */
- Reader getSysOutReader() throws IOException {
- return this.sysOutStore.getReader();
- }
-
- /**
- * @return Returns a {@link Reader} for reading any stderr data that was generated
- * during the test execution. It is expected that the {@link #hasSysErr()} be first
- * called to see if any such data is available and only if there is, then this method
- * be called
- * @throws IOException If there's any I/O problem while creating the {@link Reader}
- */
- Reader getSysErrReader() throws IOException {
- return this.sysErrStore.getReader();
- }
-
- /**
- * Writes out any stdout data that was generated during the
- * test execution. If there was no such data then this method just returns.
- *
- * @param writer The {@link Writer} to use. Cannot be null.
- * @throws IOException If any I/O problem occurs during writing the data
- */
- void writeSysOut(final Writer writer) throws IOException {
- Objects.requireNonNull(writer, "Writer cannot be null");
- this.writeFrom(this.sysOutStore, writer);
- }
-
- /**
- * Writes out any stderr data that was generated during the
- * test execution. If there was no such data then this method just returns.
- *
- * @param writer The {@link Writer} to use. Cannot be null.
- * @throws IOException If any I/O problem occurs during writing the data
- */
- void writeSysErr(final Writer writer) throws IOException {
- Objects.requireNonNull(writer, "Writer cannot be null");
- this.writeFrom(this.sysErrStore, writer);
- }
-
- static Optional<TestIdentifier> traverseAndFindTestClass(final TestPlan testPlan, final TestIdentifier testIdentifier) {
- if (isTestClass(testIdentifier).isPresent()) {
- return Optional.of(testIdentifier);
- }
- final Optional<TestIdentifier> parent = testPlan.getParent(testIdentifier);
- return parent.isPresent() ? traverseAndFindTestClass(testPlan, parent.get()) : Optional.empty();
- }
-
- static Optional<ClassSource> isTestClass(final TestIdentifier testIdentifier) {
- if (testIdentifier == null) {
- return Optional.empty();
- }
- final Optional<TestSource> source = testIdentifier.getSource();
- if (!source.isPresent()) {
- return Optional.empty();
- }
- final TestSource testSource = source.get();
- if (testSource instanceof ClassSource) {
- return Optional.of((ClassSource) testSource);
- }
- return Optional.empty();
- }
-
- private void writeFrom(final SysOutErrContentStore store, final Writer writer) throws IOException {
- final char[] chars = new char[1024];
- int numRead = -1;
- try (final Reader reader = store.getReader()) {
- while ((numRead = reader.read(chars)) != -1) {
- writer.write(chars, 0, numRead);
- }
- }
- }
-
- @Override
- public void close() throws IOException {
- FileUtils.close(this.sysOutStore);
- FileUtils.close(this.sysErrStore);
- }
-
- protected void handleException(final Throwable t) {
- // we currently just log it and move on.
- this.context.getProject().ifPresent(p -> p.log("Exception in listener "
- + AbstractJUnitResultFormatter.this.getClass().getName(), t, Project.MSG_DEBUG));
- }
-
-
- /*
- A "store" for sysout/syserr content that gets sent to the AbstractJUnitResultFormatter.
- This store first uses a relatively decent sized in-memory buffer for storing the sysout/syserr
- content. This in-memory buffer will be used as long as it can fit in the new content that
- keeps coming in. When the size limit is reached, this store switches to a file based store
- by creating a temporarily file and writing out the already in-memory held buffer content
- and any new content that keeps arriving to this store. Once the file has been created,
- the in-memory buffer will never be used any more and in fact is destroyed as soon as the
- file is created.
- Instances of this class are not thread-safe and users of this class are expected to use necessary thread
- safety guarantees, if they want to use an instance of this class by multiple threads.
- */
- private static final class SysOutErrContentStore implements Closeable {
- private static final int DEFAULT_CAPACITY_IN_BYTES = 50 * 1024; // 50 KB
- private static final Reader EMPTY_READER = new Reader() {
- @Override
- public int read(final char[] cbuf, final int off, final int len) throws IOException {
- return -1;
- }
-
- @Override
- public void close() throws IOException {
- }
- };
-
- private final String tmpFileSuffix;
- private ByteBuffer inMemoryStore = ByteBuffer.allocate(DEFAULT_CAPACITY_IN_BYTES);
- private boolean usingFileStore = false;
- private Path filePath;
- private FileOutputStream fileOutputStream;
-
- SysOutErrContentStore(final boolean isSysOut) {
- this.tmpFileSuffix = isSysOut ? ".sysout" : ".syserr";
- }
-
- void store(final byte[] data) throws IOException {
- if (this.usingFileStore) {
- this.storeToFile(data, 0, data.length);
- return;
- }
- // we haven't yet created a file store and the data can fit in memory,
- // so we write it in our buffer
- try {
- this.inMemoryStore.put(data);
- return;
- } catch (BufferOverflowException boe) {
- // the buffer capacity can't hold this incoming data, so this
- // incoming data hasn't been transferred to the buffer. let's
- // now fall back to a file store
- this.usingFileStore = true;
- }
- // since the content couldn't be transferred into in-memory buffer,
- // we now create a file and transfer already (previously) stored in-memory
- // content into that file, before finally transferring this new content
- // into the file too. We then finally discard this in-memory buffer and
- // just keep using the file store instead
- this.fileOutputStream = createFileStore();
- // first the existing in-memory content
- storeToFile(this.inMemoryStore.array(), 0, this.inMemoryStore.position());
- storeToFile(data, 0, data.length);
- // discard the in-memory store
- this.inMemoryStore = null;
- }
-
- private void storeToFile(final byte[] data, final int offset, final int length) throws IOException {
- if (this.fileOutputStream == null) {
- // no backing file was created so we can't do anything
- return;
- }
- this.fileOutputStream.write(data, offset, length);
- }
-
- private FileOutputStream createFileStore() throws IOException {
- this.filePath = Files.createTempFile(null, this.tmpFileSuffix);
- this.filePath.toFile().deleteOnExit();
- return new FileOutputStream(this.filePath.toFile());
- }
-
- /*
- * Returns a Reader for reading the sysout/syserr content. If there's no data
- * available in this store, then this returns a Reader which when used for read operations,
- * will immediately indicate an EOF.
- */
- Reader getReader() throws IOException {
- if (this.usingFileStore && this.filePath != null) {
- // we use a FileReader here so that we can use the system default character
- // encoding for reading the contents on sysout/syserr stream, since that's the
- // encoding that System.out/System.err uses to write out the messages
- return new BufferedReader(new FileReader(this.filePath.toFile()));
- }
- if (this.inMemoryStore != null) {
- return new InputStreamReader(new ByteArrayInputStream(this.inMemoryStore.array(), 0, this.inMemoryStore.position()));
- }
- // no data to read, so we return an "empty" reader
- return EMPTY_READER;
- }
-
- /*
- * Returns true if this store has any data (either in-memory or in a file). Else
- * returns false.
- */
- boolean hasData() {
- if (this.inMemoryStore != null && this.inMemoryStore.position() > 0) {
- return true;
- }
- if (this.usingFileStore && this.filePath != null) {
- return true;
- }
- return false;
- }
-
- @Override
- public void close() throws IOException {
- this.inMemoryStore = null;
- FileUtils.close(this.fileOutputStream);
- FileUtils.delete(this.filePath.toFile());
- }
- }
-}
diff --git a/bundles/org.eclipse.test/src/org/eclipse/test/AwtScreenshot.java b/bundles/org.eclipse.test/src/org/eclipse/test/AwtScreenshot.java
deleted file mode 100644
index 5802d75d..00000000
--- a/bundles/org.eclipse.test/src/org/eclipse/test/AwtScreenshot.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015, 2017 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.test;
-
-import java.awt.AWTException;
-import java.awt.HeadlessException;
-import java.awt.Rectangle;
-import java.awt.Robot;
-import java.awt.Toolkit;
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.IOException;
-
-import javax.imageio.ImageIO;
-
-public class AwtScreenshot {
-
- public static void main(String[] args) {
- try {
- System.setProperty("java.awt.headless", "false");
- Robot robot= new Robot();
- Rectangle rect= new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
- BufferedImage image= robot.createScreenCapture(rect);
- File file= new File(args[0]);
- ImageIO.write(image, "png", file);
-
- System.out.println("AWT screenshot saved to: " + file.getAbsolutePath());
- } catch (HeadlessException|AWTException|IOException e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.test/src/org/eclipse/test/ClassLoaderTools.java b/bundles/org.eclipse.test/src/org/eclipse/test/ClassLoaderTools.java
deleted file mode 100644
index d98b4b61..00000000
--- a/bundles/org.eclipse.test/src/org/eclipse/test/ClassLoaderTools.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2018 Red Hat Inc. and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Lucas Bullen (Red Hat Inc.) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.test;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.internal.framework.EquinoxBundle;
-import org.osgi.framework.Bundle;
-
-@SuppressWarnings("restriction")
-class ClassLoaderTools {
- public static ClassLoader getPluginClassLoader(String getfTestPluginName, ClassLoader currentTCCL) {
- Bundle bundle = Platform.getBundle(getfTestPluginName);
- if (bundle == null) {
- throw new IllegalArgumentException("Bundle \"" + getfTestPluginName + "\" not found. Possible causes include missing dependencies, too restrictive version ranges, or a non-matching required execution environment."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return new TestBundleClassLoader(bundle, currentTCCL);
- }
-
- public static String getClassPlugin(String className) {
- int index = className.lastIndexOf('.');
- String plugin = null;
- while (index != -1) {
- plugin = className.substring(0, index);
- if(Platform.getBundle(plugin) != null) {
- break;
- }
- index = className.lastIndexOf('.', index-1);
- }
- return plugin;
- }
-
- public static ClassLoader getJUnit5Classloader(List<String> platformEngine) {
- List<Bundle> platformEngineBundles = new ArrayList<>();
- for (String string : platformEngine) {
- Bundle bundle = Platform.getBundle(string);
- platformEngineBundles.add(bundle);
- }
- return new MultiBundleClassLoader(platformEngineBundles);
- }
-
- static class TestBundleClassLoader extends ClassLoader {
- protected Bundle bundle;
- protected ClassLoader currentTCCL;
-
- public TestBundleClassLoader(Bundle target, ClassLoader currentTCCL) {
- this.bundle = target;
- this.currentTCCL = currentTCCL;
- }
-
- @Override
- protected Class<?> findClass(String name) throws ClassNotFoundException {
- try {
- return bundle.loadClass(name);
- } catch (ClassNotFoundException e) {
- return currentTCCL.loadClass(name);
- }
- }
-
- @Override
- protected URL findResource(String name) {
- URL url = bundle.getResource(name);
- if(url == null) {
- url = currentTCCL.getResource(name);
- }
- return url;
- }
-
- @Override
- protected Enumeration<URL> findResources(String name) throws IOException {
- Enumeration<URL> enumeration = bundle.getResources(name);
- if(enumeration == null) {
- enumeration = currentTCCL.getResources(name);
- }
- return enumeration;
- }
-
- @Override
- public Enumeration<URL> getResources(String res) throws IOException {
- Enumeration<URL> urls = currentTCCL.getResources(res);
- if(urls.hasMoreElements())
- return urls;
-
- List<URL> resources = new ArrayList<>(6);
- String location = null;
- URL url = null;
- if (bundle instanceof EquinoxBundle) {
- location = ((EquinoxBundle) bundle).getLocation();
- }
- if (location != null && location.startsWith("reference:")) { //$NON-NLS-1$
- location = location.substring(10, location.length());
- URI uri = URI.create(location);
- String newPath =( uri.getPath() == null ? "" : uri.getPath()) + "bin" + '/' + res; //$NON-NLS-1$
- URI newUri = uri.resolve(newPath).normalize();
- if(newUri.isAbsolute())
- url = newUri.toURL();
- }
- if (url != null) {
- File f = new File(url.getFile());
- if (f.exists())
- resources.add(url);
- }
- else
- return Collections.emptyEnumeration();
-
- return Collections.enumeration(resources);
- }
- }
-
- static class MultiBundleClassLoader extends ClassLoader {
- private List<Bundle> bundleList;
-
- public MultiBundleClassLoader(List<Bundle> platformEngineBundles) {
- this.bundleList = platformEngineBundles;
-
- }
- public Class<?> findClasss(String name) throws ClassNotFoundException {
- return findClass(name);
- }
- @Override
- protected Class<?> findClass(String name) throws ClassNotFoundException {
- Class<?> c = null;
- for (Bundle temp : bundleList) {
- try {
- c = temp.loadClass(name);
- if (c != null)
- return c;
- } catch (ClassNotFoundException e) {
- }
- }
- return c;
- }
-
- @Override
- protected URL findResource(String name) {
- URL url = null;
- for (Bundle temp : bundleList) {
- url = temp.getResource(name);
- if (url != null)
- return url;
- }
- return url;
- }
-
- @Override
- protected Enumeration<URL> findResources(String name) throws IOException {
- Enumeration<URL> enumFinal = null;
- for (int i = 0; i < bundleList.size(); i++) {
- if (i == 0) {
- enumFinal = bundleList.get(i).getResources(name);
- continue;
- }
- Enumeration<URL> e2 = bundleList.get(i).getResources(name);
- Vector<URL> temp = new Vector<>();
- while (enumFinal != null && enumFinal.hasMoreElements()) {
- temp.add(enumFinal.nextElement());
- }
- while (e2 != null && e2.hasMoreElements()) {
- temp.add(e2.nextElement());
- }
- enumFinal = temp.elements();
- }
- return enumFinal;
- }
- }
-}
diff --git a/bundles/org.eclipse.test/src/org/eclipse/test/CoreTestApplication.java b/bundles/org.eclipse.test/src/org/eclipse/test/CoreTestApplication.java
deleted file mode 100644
index 15bc4181..00000000
--- a/bundles/org.eclipse.test/src/org/eclipse/test/CoreTestApplication.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2018 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.test;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-/**
- * A an application that launches tests once it is started.
- */
-public class CoreTestApplication implements IApplication {
- /** true if workspace tests should log their deltas */
- private static boolean deltas= false;
-
- /**
- * Runs a set of tests as defined by the given command line args.
- * This is the platform application entry point.
- */
- public Object run(Object arguments) throws Exception {
- String[] args= Platform.getCommandLineArgs();//getCommand//processCommandLine((String[]) arguments);
- return Integer.valueOf(runTests(args));
- }
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
- String[] args = (String[]) context.getArguments().get("application.args");
- if (args == null)
- args = new String[0];
- return run(args);
- }
-
- @Override
- public void stop() {
-
- }
-
- protected int runTests(String[] args) throws IOException {
- return EclipseTestRunner.run(args);
- }
-
- public static boolean deltasEnabled() {
- return deltas;
- }
-
- protected String[] processCommandLine(String[] args) {
- int[] configArgs = new int[100];
- configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
- int configArgIndex = 0;
- for (int i = 0; i < args.length; i++) {
- boolean found = false;
- // check for args without parameters (i.e., a flag arg)
- // see if we should be logging deltas
- if (args[i].equalsIgnoreCase("-deltas")) {
- found = true;
- deltas = true;
- }
- if (found) {
- configArgs[configArgIndex++] = i;
- continue;
- }
-
- // check for args with parameters
- if (i == args.length - 1 || args[i + 1].startsWith("-")) {
- continue;
- }
- ++i;
-
- // done checking for args. Remember where an arg was found
- if (found) {
- configArgs[configArgIndex++] = i - 1;
- configArgs[configArgIndex++] = i;
- }
- }
-
- //remove all the arguments consumed by this argument parsing
- if (configArgIndex == 0)
- return args;
- String[] passThruArgs = new String[args.length - configArgIndex];
- configArgIndex = 0;
- int j = 0;
- for (int i = 0; i < args.length; i++) {
- if (i == configArgs[configArgIndex])
- configArgIndex++;
- else
- passThruArgs[j++] = args[i];
- }
- return passThruArgs;
- }
-}
diff --git a/bundles/org.eclipse.test/src/org/eclipse/test/EclipseTestRunner.java b/bundles/org.eclipse.test/src/org/eclipse/test/EclipseTestRunner.java
deleted file mode 100644
index c300d2df..00000000
--- a/bundles/org.eclipse.test/src/org/eclipse/test/EclipseTestRunner.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2018 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Anthony Dahanne <anthony.dahanne@compuware.com> - enhance ETF to be able to launch several tests in several bundles - https://bugs.eclipse.org/330613
- * Lucas Bullen (Red Hat Inc.) - JUnit 5 support
- *******************************************************************************/
-package org.eclipse.test;
-
-import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Optional;
-import java.util.Properties;
-
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.optional.junitlauncher.TestExecutionContext;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.testing.dumps.TimeoutDumpTimer;
-import org.junit.platform.engine.TestExecutionResult;
-import org.junit.platform.launcher.Launcher;
-import org.junit.platform.launcher.LauncherDiscoveryRequest;
-import org.junit.platform.launcher.TestExecutionListener;
-import org.junit.platform.launcher.TestIdentifier;
-import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
-import org.junit.platform.launcher.core.LauncherFactory;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.wiring.BundleWiring;
-
-/**
- * A TestRunner for JUnit that supports Ant JUnitResultFormatters and running
- * tests inside Eclipse. Example call: EclipseTestRunner -classname
- * junit.samples.SimpleTest
- * formatter=org.apache.tools.ant.taskdefs.optional.junit
- * .XMLJUnitResultFormatter
- */
-public class EclipseTestRunner {
- static class ThreadDump extends Exception {
-
- private static final long serialVersionUID = 1L;
-
- ThreadDump(String message) {
- super(message);
- }
- }
-
- /**
- * No problems with this test.
- */
- public static final int SUCCESS = 0;
- /**
- * Some tests failed.
- */
- public static final int FAILURES = 1;
- /**
- * An error occured.
- */
- public static final int ERRORS = 2;
-
- /**
- * The main entry point (the parameters are not yet consistent with the Ant
- * JUnitTestRunner, but eventually they should be). Parameters
- *
- * <pre>
- * -className=&lt;testSuiteName&gt;
- * -testPluginName&lt;containingpluginName&gt;
- * -formatter=&lt;classname&gt;(,&lt;path&gt;)
- * </pre>
- * Where &lt;classname&gt; is the formatter classname, currently ignored as only
- * LegacyXmlResultFormatter is used. The path is either the path to the
- * result file and should include the file extension (xml) if a single test
- * is being run or should be the path to the result directory where result
- * files should be created if multiple tests are being run. If no path is
- * given, the standard output is used.
- */
- public static void main(String[] args) throws IOException {
- System.exit(run(args));
- }
-
- public static int run(String[] args) throws IOException {
- String className = null;
- String classesNames = null;
- String testPluginName = null;
- String testPluginsNames = null;
- String resultPathString = null;
- String timeoutString = null;
- String junitReportOutput = null;
-
- Properties props = new Properties();
-
- int startArgs = 0;
- if (args.length > 0) {
- // support the JUnit task commandline syntax where
- // the first argument is the name of the test class
- if (!args[0].startsWith("-")) {
- className = args[0];
- startArgs++;
- }
- }
- for (int i = startArgs; i < args.length; i++) {
- if (args[i].toLowerCase().equals("-classname")) {
- if (i < args.length - 1)
- className = args[i + 1];
- i++;
- } else if (args[i].toLowerCase().equals("-classesnames")) {
- if (i < args.length - 1)
- classesNames = args[i + 1];
- i++;
- } else if (args[i].toLowerCase().equals("-testpluginname")) {
- if (i < args.length - 1)
- testPluginName = args[i + 1];
- i++;
- } else if (args[i].toLowerCase().equals("-testpluginsnames")) {
- if (i < args.length - 1)
- testPluginsNames = args[i + 1];
- i++;
- } else if (args[i].equals("-junitReportOutput")) {
- if (i < args.length - 1)
- junitReportOutput = args[i + 1];
- i++;
- } else if (args[i].startsWith("haltOnError=")) {
- System.err.println("The haltOnError option is no longer supported");
- } else if (args[i].startsWith("haltOnFailure=")) {
- System.err.println("The haltOnFailure option is no longer supported");
- } else if (args[i].startsWith("formatter=")) {
- String formatterString = args[i].substring(10);
- int seperatorIndex = formatterString.indexOf(',');
- resultPathString = seperatorIndex == -1 ? null : formatterString.substring(seperatorIndex + 1);
- } else if (args[i].startsWith("propsfile=")) {
- try (FileInputStream in = new FileInputStream(args[i].substring(10))) {
- props.load(in);
- }
- } else if (args[i].equals("-testlistener")) {
- System.err.println("The testlistener option is no longer supported");
- } else if (args[i].equals("-timeout")) {
- if (i < args.length - 1)
- timeoutString = args[i + 1];
- i++;
- }
- }
- // Add/overlay system properties on the properties from the Ant project
- Hashtable<Object, Object> p = System.getProperties();
- for (Enumeration<Object> _enum = p.keys(); _enum.hasMoreElements();) {
- Object key = _enum.nextElement();
- props.put(key, p.get(key));
- }
-
- if (timeoutString == null || timeoutString.isEmpty()) {
- System.err.println("INFO: optional timeout was not specified.");
- } else {
- String timeoutScreenOutputDir = null;
- if (junitReportOutput == null || junitReportOutput.isEmpty()) {
- timeoutScreenOutputDir = "timeoutScreens";
- } else {
- timeoutScreenOutputDir = junitReportOutput + "/timeoutScreens";
- }
- System.err.println("INFO: timeoutScreenOutputDir: " + timeoutScreenOutputDir);
- System.err.println("INFO: timeout: " + timeoutString);
- startStackDumpTimeoutTimer(timeoutString, new File(timeoutScreenOutputDir));
- }
-
- if (testPluginsNames != null && classesNames != null) {
- // we have several plugins to look tests for, let's parse their
- // names
- String[] testPlugins = testPluginsNames.split(",");
- String[] suiteClasses = classesNames.split(",");
- int returnCode = 0;
- int j = 0;
- EclipseTestRunner runner = new EclipseTestRunner();
- for (String oneClassName : suiteClasses) {
- int result = runner.runTests(props, testPlugins[j], oneClassName, resultPathString, true);
- j++;
- if(result != 0) {
- returnCode = result;
- }
- }
- return returnCode;
- }
- if (className == null)
- throw new IllegalArgumentException("Test class name not specified");
- EclipseTestRunner runner = new EclipseTestRunner();
- return runner.runTests(props, testPluginName, className, resultPathString, false);
- }
-
- private int runTests(Properties props, String testPluginName, String testClassName, String resultPath, boolean multiTest) {
- ClassLoader currentTCCL = Thread.currentThread().getContextClassLoader();
- ExecutionListener executionListener = new ExecutionListener();
- if(testPluginName == null) {
- testPluginName = ClassLoaderTools.getClassPlugin(testClassName);
- }
- if(testPluginName == null)
- throw new IllegalArgumentException("Test class not found");
- LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
- .selectors(selectClass(testClassName))
- .build();
-
- try {
- Thread.currentThread().setContextClassLoader(ClassLoaderTools.getJUnit5Classloader(getPlatformEngines()));
- final Launcher launcher = LauncherFactory.create();
-
- Thread.currentThread().setContextClassLoader(ClassLoaderTools.getPluginClassLoader(testPluginName, currentTCCL));
- try(LegacyXmlResultFormatter legacyXmlResultFormatter = new LegacyXmlResultFormatter()){
- try (OutputStream fileOutputStream = getResultOutputStream(resultPath,testClassName,multiTest)){
- legacyXmlResultFormatter.setDestination(fileOutputStream);
- legacyXmlResultFormatter.setContext(new ExecutionContext(props));
- launcher.execute(request, legacyXmlResultFormatter, executionListener);
- }
- } catch (IOException e) {
- e.printStackTrace();
- return ERRORS;
- }
- } finally {
- Thread.currentThread().setContextClassLoader(currentTCCL);
- }
- return executionListener.didExecutionContainedFailures() ? FAILURES : SUCCESS;
- }
-
- private OutputStream getResultOutputStream(String resultPathString, String testClassName, boolean multiTest) throws IOException {
- if(resultPathString == null || resultPathString.isEmpty())
- return System.out;
- File resultFile;
- if(multiTest) {
- Path resultDirectoryPath = new Path(resultPathString);
- File testDirectory = resultDirectoryPath.toFile();
- if(!testDirectory.exists())
- testDirectory.mkdirs();
- resultFile = resultDirectoryPath.append("TEST-"+testClassName+".xml").toFile();
- }else {
- IPath resultPath = new Path(resultPathString);
- resultFile = resultPath.toFile();
- if(resultFile.isDirectory()) {
- resultFile = resultPath.append("TEST-"+testClassName+".xml").toFile();
- } else {
- File resultDirectory = resultFile.getParentFile();
- if(!resultDirectory.exists())
- resultDirectory.mkdirs();
- }
- }
- if(!resultFile.exists()) {
- resultFile.createNewFile();
- }
- return new FileOutputStream(resultFile);
- }
-
-
- private List<String> getPlatformEngines(){
- List<String> platformEngines = new ArrayList<>();
- Bundle bundle = FrameworkUtil.getBundle(getClass());
- Bundle[] bundles = bundle.getBundleContext().getBundles();
- for (Bundle iBundle : bundles) {
- try {
- BundleWiring bundleWiring = Platform.getBundle(iBundle.getSymbolicName()).adapt(BundleWiring.class);
- Collection<String> listResources = bundleWiring.listResources("META-INF/services", "org.junit.platform.engine.TestEngine", BundleWiring.LISTRESOURCES_LOCAL);
- if (!listResources.isEmpty())
- platformEngines.add(iBundle.getSymbolicName());
- } catch (Exception e) {
- // check the next bundle
- }
- }
- return platformEngines;
- }
-
- private final class ExecutionListener implements TestExecutionListener {
- private boolean executionContainedFailures;
-
- public ExecutionListener() {
- this.executionContainedFailures = false;
- }
-
- public boolean didExecutionContainedFailures() {
- return executionContainedFailures;
- }
-
- @Override
- public void executionFinished(TestIdentifier testIdentifier, TestExecutionResult testExecutionResult) {
- if(testExecutionResult.getStatus() == org.junit.platform.engine.TestExecutionResult.Status.FAILED) {
- executionContainedFailures = true;
- }
- }
- }
-
- private final class ExecutionContext implements TestExecutionContext {
-
- private final Properties props;
-
- ExecutionContext(Properties props) {
- this.props = props;
- }
-
- @Override
- public Properties getProperties() {
- return this.props;
- }
-
- @Override
- public Optional<Project> getProject() {
- return null;
- }
- }
-
- /**
- * Starts a timer that dumps interesting debugging information shortly before
- * the given timeout expires.
- *
- * @param timeoutArg the -timeout argument from the command line
- * @param outputDirectory where the test results end up
- */
- private static void startStackDumpTimeoutTimer(final String timeoutArg, final File outputDirectory) {
- TimeoutDumpTimer.startTimeoutDumpTimer(timeoutArg, outputDirectory);
- }
-}
diff --git a/bundles/org.eclipse.test/src/org/eclipse/test/LegacyXmlResultFormatter.java b/bundles/org.eclipse.test/src/org/eclipse/test/LegacyXmlResultFormatter.java
deleted file mode 100644
index afb4dd43..00000000
--- a/bundles/org.eclipse.test/src/org/eclipse/test/LegacyXmlResultFormatter.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 Red Hat Inc. and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Lucas Bullen (Red Hat Inc.) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.test;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.util.Date;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Properties;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicLong;
-
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter;
-import org.apache.tools.ant.util.DOMElementWriter;
-import org.apache.tools.ant.util.DateUtils;
-import org.junit.platform.commons.util.ExceptionUtils;
-import org.junit.platform.engine.TestExecutionResult;
-import org.junit.platform.engine.TestSource;
-import org.junit.platform.engine.reporting.ReportEntry;
-import org.junit.platform.engine.support.descriptor.ClassSource;
-import org.junit.platform.launcher.TestIdentifier;
-import org.junit.platform.launcher.TestPlan;
-
-/**
- * A {@link TestResultFormatter} which generates an XML report of the tests. The generated XML reports
- * conforms to the schema of the XML that was generated by the {@code junit} task's XML
- * report formatter and can be used by the {@code junitreport} task
- */
-public class LegacyXmlResultFormatter extends AbstractJUnitResultFormatter {
-
- private static final double ONE_SECOND = 1000.0;
-
- OutputStream outputStream;
- final Map<TestIdentifier, Stats> testIds = new ConcurrentHashMap<>();
- final Map<TestIdentifier, Optional<String>> skipped = new ConcurrentHashMap<>();
- final Map<TestIdentifier, Optional<Throwable>> failed = new ConcurrentHashMap<>();
- final Map<TestIdentifier, Optional<Throwable>> errored = new ConcurrentHashMap<>();
- final Map<TestIdentifier, Optional<Throwable>> aborted = new ConcurrentHashMap<>();
-
- TestPlan testPlan;
- long testPlanStartedAt = -1;
- long testPlanEndedAt = -1;
- final AtomicLong numTestsRun = new AtomicLong(0);
- final AtomicLong numTestsFailed = new AtomicLong(0);
- final AtomicLong numTestsErrored = new AtomicLong(0);
- final AtomicLong numTestsSkipped = new AtomicLong(0);
- final AtomicLong numTestsAborted = new AtomicLong(0);
-
- @Override
- public void testPlanExecutionStarted(final TestPlan plan) {
- this.testPlan = plan;
- this.testPlanStartedAt = System.currentTimeMillis();
- }
-
- @Override
- public void testPlanExecutionFinished(final TestPlan plan) {
- this.testPlanEndedAt = System.currentTimeMillis();
- // format and print out the result
- try {
- new XMLReportWriter().write();
- } catch (IOException | XMLStreamException e) {
- handleException(e);
- return;
- }
- }
-
- @Override
- public void dynamicTestRegistered(final TestIdentifier testIdentifier) {
- // nothing to do
- }
-
- @Override
- public void executionSkipped(final TestIdentifier testIdentifier, final String reason) {
- final long currentTime = System.currentTimeMillis();
- this.numTestsSkipped.incrementAndGet();
- this.skipped.put(testIdentifier, Optional.ofNullable(reason));
- // a skipped test is considered started and ended now
- final Stats stats = new Stats(testIdentifier, currentTime);
- stats.endedAt = currentTime;
- this.testIds.put(testIdentifier, stats);
- }
-
- @Override
- public void executionStarted(final TestIdentifier testIdentifier) {
- final long currentTime = System.currentTimeMillis();
- this.testIds.putIfAbsent(testIdentifier, new Stats(testIdentifier, currentTime));
- if (testIdentifier.isTest()) {
- this.numTestsRun.incrementAndGet();
- }
- }
-
- @Override
- public void executionFinished(final TestIdentifier testIdentifier, final TestExecutionResult testExecutionResult) {
- final long currentTime = System.currentTimeMillis();
- final Stats stats = this.testIds.get(testIdentifier);
- if (stats != null) {
- stats.endedAt = currentTime;
- }
- switch (testExecutionResult.getStatus()) {
- case SUCCESSFUL: {
- break;
- }
- case ABORTED: {
- this.numTestsAborted.incrementAndGet();
- this.aborted.put(testIdentifier, testExecutionResult.getThrowable());
- break;
- }
- case FAILED: {
- Optional<Throwable> throwableOptional = testExecutionResult.getThrowable();
- if(throwableOptional.isPresent() && throwableOptional.get() instanceof AssertionError) {
- this.numTestsFailed.incrementAndGet();
- this.failed.put(testIdentifier, testExecutionResult.getThrowable());
- }else {
- this.numTestsErrored.incrementAndGet();
- this.errored.put(testIdentifier, testExecutionResult.getThrowable());
- }
- break;
- }
- }
- }
-
- @Override
- public void reportingEntryPublished(final TestIdentifier testIdentifier, final ReportEntry entry) {
- // nothing to do
- }
-
- @Override
- public void setDestination(final OutputStream os) {
- this.outputStream = os;
- }
-
- private final class Stats {
- final long startedAt;
- long endedAt;
-
- Stats(final TestIdentifier testIdentifier, final long startedAt) {
- this.startedAt = startedAt;
- }
- }
- @Override
- public void setUseLegacyReportingName(final boolean useLegacyReportingName) {
- //do nothing
- }
-
-
- private final class XMLReportWriter {
-
- private static final String ELEM_TESTSUITE = "testsuite";
- private static final String ELEM_PROPERTIES = "properties";
- private static final String ELEM_PROPERTY = "property";
- private static final String ELEM_TESTCASE = "testcase";
- private static final String ELEM_SKIPPED = "skipped";
- private static final String ELEM_FAILURE = "failure";
- private static final String ELEM_ERROR = "error";
- private static final String ELEM_ABORTED = "aborted";
- private static final String ELEM_SYSTEM_OUT = "system-out";
- private static final String ELEM_SYSTEM_ERR = "system-err";
-
-
- private static final String ATTR_CLASSNAME = "classname";
- private static final String ATTR_NAME = "name";
- private static final String ATTR_VALUE = "value";
- private static final String ATTR_TIME = "time";
- private static final String ATTR_TIMESTAMP = "timestamp";
- private static final String ATTR_NUM_ABORTED = "aborted";
- private static final String ATTR_NUM_FAILURES = "failures";
- private static final String ATTR_NUM_ERRORS = "errors";
- private static final String ATTR_NUM_TESTS = "tests";
- private static final String ATTR_NUM_SKIPPED = "skipped";
- private static final String ATTR_MESSAGE = "message";
- private static final String ATTR_TYPE = "type";
-
- public XMLReportWriter() {
- // TODO Auto-generated constructor stub
- }
-
- void write() throws XMLStreamException, IOException {
- final XMLStreamWriter writer = XMLOutputFactory.newFactory().createXMLStreamWriter(outputStream, "UTF-8");
- try {
- writer.writeStartDocument();
- writeTestSuite(writer);
- writer.writeEndDocument();
- } finally {
- writer.close();
- }
- }
-
- void writeTestSuite(final XMLStreamWriter writer) throws XMLStreamException, IOException {
- // write the testsuite element
- writer.writeStartElement(ELEM_TESTSUITE);
- final String testsuiteName = determineTestSuiteName();
- writer.writeAttribute(ATTR_NAME, testsuiteName);
- // time taken for the tests execution
- writer.writeAttribute(ATTR_TIME, String.valueOf((testPlanEndedAt - testPlanStartedAt) / ONE_SECOND));
- // add the timestamp of report generation
- final String timestamp = DateUtils.format(new Date(), DateUtils.ISO8601_DATETIME_PATTERN);
- writer.writeAttribute(ATTR_TIMESTAMP, timestamp);
- writer.writeAttribute(ATTR_NUM_TESTS, String.valueOf(numTestsRun.longValue()));
- writer.writeAttribute(ATTR_NUM_FAILURES, String.valueOf(numTestsFailed.longValue()));
- writer.writeAttribute(ATTR_NUM_ERRORS, String.valueOf(numTestsErrored.longValue()));
- writer.writeAttribute(ATTR_NUM_SKIPPED, String.valueOf(numTestsSkipped.longValue()));
- writer.writeAttribute(ATTR_NUM_ABORTED, String.valueOf(numTestsAborted.longValue()));
-
- // write the properties
- writeProperties(writer);
- // write the tests
- writeTestCase(writer);
- writeSysOut(writer);
- writeSysErr(writer);
- // end the testsuite
- writer.writeEndElement();
- }
-
- void writeProperties(final XMLStreamWriter writer) throws XMLStreamException {
- final Properties properties = LegacyXmlResultFormatter.this.context.getProperties();
- if (properties == null || properties.isEmpty()) {
- return;
- }
- writer.writeStartElement(ELEM_PROPERTIES);
- for (final String prop : properties.stringPropertyNames()) {
- writer.writeStartElement(ELEM_PROPERTY);
- writer.writeAttribute(ATTR_NAME, prop);
- writer.writeAttribute(ATTR_VALUE, properties.getProperty(prop));
- writer.writeEndElement();
- }
- writer.writeEndElement();
- }
-
- void writeTestCase(final XMLStreamWriter writer) throws XMLStreamException {
- for (final Map.Entry<TestIdentifier, Stats> entry : testIds.entrySet()) {
- final TestIdentifier testId = entry.getKey();
- if (!testId.isTest()) {
- // only interested in test methods
- continue;
- }
- // find the parent class of this test method
- final Optional<TestIdentifier> parent = testPlan.getParent(testId);
- if (!parent.isPresent()) {
- continue;
- }
- final String classname = parent.get().getLegacyReportingName();
- writer.writeStartElement(ELEM_TESTCASE);
- writer.writeAttribute(ATTR_CLASSNAME, classname);
- writer.writeAttribute(ATTR_NAME, testId.getDisplayName());
- final Stats stats = entry.getValue();
- writer.writeAttribute(ATTR_TIME, String.valueOf((stats.endedAt - stats.startedAt) / ONE_SECOND));
- // skipped element if the test was skipped
- writeSkipped(writer, testId);
- // failed element if the test failed
- writeFailed(writer, testId);
- // errored element if the test failed with an error
- writeErrored(writer, testId);
- // aborted element if the test was aborted
- writeAborted(writer, testId);
-
- writer.writeEndElement();
- }
- }
-
- private void writeSkipped(final XMLStreamWriter writer, final TestIdentifier testIdentifier) throws XMLStreamException {
- if (!skipped.containsKey(testIdentifier)) {
- return;
- }
- writer.writeStartElement(ELEM_SKIPPED);
- final Optional<String> reason = skipped.get(testIdentifier);
- if (reason.isPresent()) {
- writer.writeAttribute(ATTR_MESSAGE, reason.get());
- }
- writer.writeEndElement();
- }
-
- private void writeFailed(final XMLStreamWriter writer, final TestIdentifier testIdentifier) throws XMLStreamException {
- if (!failed.containsKey(testIdentifier)) {
- return;
- }
- writer.writeStartElement(ELEM_FAILURE);
- final Optional<Throwable> cause = failed.get(testIdentifier);
- if (cause.isPresent()) {
- final Throwable t = cause.get();
- final String message = t.getMessage();
- if (message != null && !message.trim().isEmpty()) {
- writer.writeAttribute(ATTR_MESSAGE, message);
- }
- writer.writeAttribute(ATTR_TYPE, t.getClass().getName());
- writer.writeCharacters(ExceptionUtils.readStackTrace(t));
- }
- writer.writeEndElement();
- }
-
- private void writeErrored(final XMLStreamWriter writer, final TestIdentifier testIdentifier) throws XMLStreamException {
- if (!errored.containsKey(testIdentifier)) {
- return;
- }
- writer.writeStartElement(ELEM_ERROR);
- final Optional<Throwable> cause = errored.get(testIdentifier);
- if (cause.isPresent()) {
- final Throwable t = cause.get();
- final String message = t.getMessage();
- if (message != null && !message.trim().isEmpty()) {
- writer.writeAttribute(ATTR_MESSAGE, message);
- }
- writer.writeAttribute(ATTR_TYPE, t.getClass().getName());
- writer.writeCharacters(ExceptionUtils.readStackTrace(t));
- }
- writer.writeEndElement();
- }
-
- private void writeAborted(final XMLStreamWriter writer, final TestIdentifier testIdentifier) throws XMLStreamException {
- if (!aborted.containsKey(testIdentifier)) {
- return;
- }
- writer.writeStartElement(ELEM_ABORTED);
- final Optional<Throwable> cause = aborted.get(testIdentifier);
- if (cause.isPresent()) {
- final Throwable t = cause.get();
- final String message = t.getMessage();
- if (message != null && !message.trim().isEmpty()) {
- writer.writeAttribute(ATTR_MESSAGE, message);
- }
- writer.writeAttribute(ATTR_TYPE, t.getClass().getName());
- }
- writer.writeEndElement();
- }
-
- private void writeSysOut(final XMLStreamWriter writer) throws XMLStreamException, IOException {
- if (!LegacyXmlResultFormatter.this.hasSysOut()) {
- return;
- }
- writer.writeStartElement(ELEM_SYSTEM_OUT);
- try (final Reader reader = LegacyXmlResultFormatter.this.getSysOutReader()) {
- writeCharactersFrom(reader, writer);
- }
- writer.writeEndElement();
- }
-
- private void writeSysErr(final XMLStreamWriter writer) throws XMLStreamException, IOException {
- if (!LegacyXmlResultFormatter.this.hasSysErr()) {
- return;
- }
- writer.writeStartElement(ELEM_SYSTEM_ERR);
- try (final Reader reader = LegacyXmlResultFormatter.this.getSysErrReader()) {
- writeCharactersFrom(reader, writer);
- }
- writer.writeEndElement();
- }
-
- private void writeCharactersFrom(final Reader reader, final XMLStreamWriter writer) throws IOException, XMLStreamException {
- final char[] chars = new char[1024];
- int numRead = -1;
- while ((numRead = reader.read(chars)) != -1) {
- // although it's called a DOMElementWriter, the encode method is just a
- // straight forward XML util method which doesn't concern about whether
- // DOM, SAX, StAX semantics.
- // TODO: Perhaps make it a static method
- final String encoded = new DOMElementWriter().encode(new String(chars, 0, numRead));
- writer.writeCharacters(encoded);
- }
- }
-
- private String determineTestSuiteName() {
- // this is really a hack to try and match the expectations of the XML report in JUnit4.x
- // world. In JUnit5, the TestPlan doesn't have a name and a TestPlan (for which this is a
- // listener) can have numerous tests within it
- final Set<TestIdentifier> roots = testPlan.getRoots();
- if (roots.isEmpty()) {
- return "UNKNOWN";
- }
- for (final TestIdentifier root : roots) {
- final Optional<ClassSource> classSource = findFirstClassSource(root);
- if (classSource.isPresent()) {
- return classSource.get().getClassName();
- }
- }
- return "UNKNOWN";
- }
-
- private Optional<ClassSource> findFirstClassSource(final TestIdentifier root) {
- if (root.getSource().isPresent()) {
- final TestSource source = root.getSource().get();
- if (source instanceof ClassSource) {
- return Optional.of((ClassSource) source);
- }
- }
- for (final TestIdentifier child : testPlan.getChildren(root)) {
- final Optional<ClassSource> classSource = findFirstClassSource(child);
- if (classSource.isPresent()) {
- return classSource;
- }
- }
- return Optional.empty();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.test/src/org/eclipse/test/RegressionTest.java b/bundles/org.eclipse.test/src/org/eclipse/test/RegressionTest.java
deleted file mode 100644
index 1ff96872..00000000
--- a/bundles/org.eclipse.test/src/org/eclipse/test/RegressionTest.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.test;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.util.StringTokenizer;
-import java.io.ByteArrayOutputStream;
-
-/**
- * Check the output of several tests for regressions.
- */
-public class RegressionTest {
-
- PrintStream output;
- String oldFilename, newFilename, outFilename;
- public static final String NOTHING_CHANGED_MSG
- = "All tests unchanged.";
- /**
- * Constructor for RegressionTest
- */
- public RegressionTest( String oldFilename,
- String newFilename,
- String outFilename) {
- this.oldFilename = oldFilename;
- this.newFilename = newFilename;
- this.outFilename = outFilename;
- }
-
- public static void main(String[] argv) {
- if (argv.length < 3) {
- System.err.println("Error: too few arguments");
- System.err.println("Usage: (progname) oldfile newfile outfile");
- } else {
- // ASSERT: The program has at least the correct number of arguments
- RegressionTest rt = new RegressionTest(argv[0], argv[1], argv[2]);
- rt.testRegressions();
- }
- }
-
- /**
- * Test for regressions in the test suite.
- */
- public void testRegressions() {
- // Read the old and new files
- String oldPass = "";
- String newPass = "";
- try {
- oldPass = readFile(oldFilename);
- newPass = readFile(newFilename);
- } catch (Exception e) {
- System.err.println("Error opening input file");
- System.err.println(e.getMessage());
- System.exit(-1);
- }
-
- try {
- output = new PrintStream(
- new BufferedOutputStream(
- new FileOutputStream(
- new File(outFilename))));
- } catch (Exception e) {
- System.err.println("Error opening output file");
- System.err.println(e.getMessage());
- System.exit(-1);
- }
- // Establish their relationship
- StringTokenizer oldst = new StringTokenizer(oldPass);
- StringTokenizer newst = new StringTokenizer(newPass);
-
- String[] oldTest = nextTest(oldst);
- String[] newTest = nextTest(newst);
-
- boolean nothingChanged = true;
- while (oldTest != null && newTest != null) {
-
- // Compare the two test names
- int compareName = oldTest[0].compareTo(newTest[0]);
- if (compareName == 0) {
- int compareStatus = oldTest[1].compareTo(newTest[1]);
- if (compareStatus != 0) {
- nothingChanged = false;
- output.println(testChanged(newTest));
- }
- oldTest = nextTest(oldst);
- newTest = nextTest(newst);
- } else if (compareName < 0) {
- // oldTestName comes first
- output.println(testNotRun(oldTest));
- oldTest = nextTest(oldst);
- nothingChanged = false;
- } else {
- // newTestName comes first
- output.println(testAdded(newTest));
- newTest = nextTest(newst);
- nothingChanged = false;
- }
- }
- // Make sure all tests are parsed
- while (oldTest != null) {
- // oldTestName comes first
- output.println(testNotRun(oldTest));
- oldTest = nextTest(oldst);
- nothingChanged = false;
- }
- while (newTest != null) {
- // newTestName comes first
- output.println(testAdded(newTest));
- newTest = nextTest(newst);
- nothingChanged = false;
- }
- // Make sure that there is always some output.
- if (nothingChanged) {
- output.println(NOTHING_CHANGED_MSG);
- }
- output.close();
- }
-
- /**
- * Get the message for when a test is not run.
- */
- static String testNotRun(String[] test) {
- return "Not run: " + test[0];
- }
-
- /**
- * Get the message for when a test's status changes.
- */
- static String testChanged(String[] test) {
- return "Changed: " + test[0] + ", " + test[1];
- }
-
- /**
- * Get the message for when a test is added.
- */
- static String testAdded(String[] test) {
- return "New test: " + test[0] + ", Status: " + test[1];
- }
-
- /**
- * Read the file given by s, and return its contents.
- */
- static String readFile(String s) throws IOException {
- byte[] buf = new byte[8192];
- ByteArrayOutputStream aStream = new ByteArrayOutputStream();
- try (FileInputStream r = new FileInputStream(s)) {
- int n;
- while ((n = r.read(buf)) != -1) {
- aStream.write(buf, 0, n);
- }
- }
- return aStream.toString();
- }
-
-
- /**
- * Returns the next 2 tokens in st, if they exist.
- * Returns null if they do not.
- */
- static String[] nextTest(StringTokenizer st) {
- String[] test = new String[2];
- if (st.hasMoreTokens()) {
- test[0] = st.nextToken();
- } else {
- return null;
- }
- if (st.hasMoreTokens()) {
- test[1] = st.nextToken();
- } else {
- return null;
- }
- return test;
- }
-}
-
diff --git a/bundles/org.eclipse.test/src/org/eclipse/test/UITestApplication.java b/bundles/org.eclipse.test/src/org/eclipse/test/UITestApplication.java
deleted file mode 100644
index 5306364d..00000000
--- a/bundles/org.eclipse.test/src/org/eclipse/test/UITestApplication.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2018 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.test;
-
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.testing.ITestHarness;
-import org.eclipse.ui.testing.TestableObject;
-
-/**
- * A Workbench that runs a test suite specified in the command line arguments.
- */
-public class UITestApplication implements ITestHarness, IApplication {
-
- private static final String DEFAULT_APP_3_0 = "org.eclipse.ui.ide.workbench"; //$NON-NLS-1$
-
- private TestableObject fTestableObject;
- int fTestRunnerResult = -1;
- private IApplicationContext appContext;
-
- public Object run(final Object args) throws Exception {
- // Get the application to test
- Object application = getApplication((String[])args);
- assertNotNull(application);
-
- fTestableObject = PlatformUI.getTestableObject();
- fTestableObject.setTestHarness(this);
- ((IApplication) application).start(appContext);
- return Integer.valueOf(fTestRunnerResult);
- }
-
- /*
- * return the application to run, or null if not even the default application
- * is found.
- */
- private Object getApplication(String[] args) throws CoreException {
- // Assume we are in 3.0 mode.
- // Find the name of the application as specified by the PDE JUnit launcher.
- // If no application is specified, the 3.0 default workbench application
- // is returned.
- IExtension extension =
- Platform.getExtensionRegistry().getExtension(
- Platform.PI_RUNTIME,
- Platform.PT_APPLICATIONS,
- getApplicationToRun(args));
-
- assertNotNull(extension);
-
- // If the extension does not have the correct grammar, return null.
- // Otherwise, return the application object.
- IConfigurationElement[] elements = extension.getConfigurationElements();
- if (elements.length > 0) {
- IConfigurationElement[] runs = elements[0].getChildren("run"); //$NON-NLS-1$
- if (runs.length > 0) {
- Object runnable = runs[0].createExecutableExtension("class"); //$NON-NLS-1$
- if (runnable instanceof IApplication)
- return runnable;
- }
- }
- return null;
- }
-
- /**
- * The -testApplication argument specifies the application to be run.
- * If the PDE JUnit launcher did not set this argument, then return
- * the name of the default application.
- * In 3.0, the default is the "org.eclipse.ui.ide.worbench" application.
- *
- */
- private String getApplicationToRun(String[] args) {
- for (int i = 0; i < args.length; i++) {
- if (args[i].equals("-testApplication") && i < args.length -1) //$NON-NLS-1$
- return args[i+1];
- }
- return DEFAULT_APP_3_0;
- }
-
- @Override
- public void runTests() {
- fTestableObject.testingStarting();
- fTestableObject.runTest(() -> {
- try {
- fTestRunnerResult = EclipseTestRunner.run(Platform.getCommandLineArgs());
- } catch (IOException e) {
- e.printStackTrace();
- }
- });
- fTestableObject.testingFinished();
- }
-
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
- this.appContext = context;
- String[] args = (String[]) appContext.getArguments().get("application.args");
- if (args == null)
- args = new String[0];
- return run(args);
- }
-
- @Override
- public void stop() {
-
- }
-
-}
-

Back to the top