diff --git a/tests/org.eclipse.wtp.releng.tests/src/org/eclipse/wtp/releng/tests/BuildTests.java b/tests/org.eclipse.wtp.releng.tests/src/org/eclipse/wtp/releng/tests/BuildTests.java index 8a1abd5e1aba54ffeb92cdff9076b2d57b3bc54c..5586e2a0751900e62dea5bc0618445f78d9254b6 100644 --- a/tests/org.eclipse.wtp.releng.tests/src/org/eclipse/wtp/releng/tests/BuildTests.java +++ b/tests/org.eclipse.wtp.releng.tests/src/org/eclipse/wtp/releng/tests/BuildTests.java @@ -28,17 +28,17 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.equinox.app.IApplication; public class BuildTests extends TestCase { - + public class FileSuffixFilter implements FilenameFilter { private String suffix; - + public FileSuffixFilter(String suffix) { this.suffix = suffix; } - + /** * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String) */ @@ -57,29 +57,30 @@ public class BuildTests extends TestCase { private static final String[] REQUIRED_PLUGIN_FILES = {"about.html", "plugin.properties", "plugin.xml"}; private static final String REQUIRED_PLUGIN_SUFFIX = ".jar"; - + private static final String[] REQUIRED_FEATURE_PLUGIN_FILES = {"about.html", "about.ini", "about.mappings", "about.properties", "plugin.properties", "plugin.xml"}; private static final String REQUIRED_FEATURE_PLUGIN_SUFFIX = ".gif"; private static final String[] REQUIRED_FRAGMENT_FILES = {"fragment.xml"}; private static final String REQUIRED_FRAGMENT_SUFFIX = ""; - + private static final String[] REQUIRED_SWT_FRAGMENT_FILES = {"fragment.properties"}; private static final String REQUIRED_SWT_FRAGMENT_SUFFIX = ""; - + private static final String[] REQUIRED_SOURCE_FILES = {"about.html"}; private static final String REQUIRED_SOURCE_SUFFIX = ".zip"; - + private static final String[] REQUIRED_BUNDLE_FILES = {"about.html"}; private static final String REQUIRED_BUNDLE_MANIFEST = "MANIFEST.MF"; private static final String REQUIRED_BUNDLE_SUFFIX = ".jar"; - - private static final String[] SUFFIX_EXEMPT_LIST = {"org.eclipse.swt","org.apache.ant"}; - private static final int EXPECTED_NUMBER_OF_FEATURES = 143; + + private static final String[] SUFFIX_EXEMPT_LIST = {"org.eclipse.swt", "org.apache.ant"}; + private static final int EXPECTED_NUMBER_OF_FEATURES = 155; private static final int EXPECTED_NUMBER_OF_PLUGINS = 568; - + /** * Constructor for EmptyDirectoriesTest. + * * @param arg0 */ public BuildTests(String arg0) { @@ -92,18 +93,18 @@ public class BuildTests extends TestCase { String installDir = Platform.getInstallLocation().getURL().getPath(); File featureDir = new File(installDir, "features"); File[] features = featureDir.listFiles(); - + for (int i = 0; i < features.length; i++) { File aFeature = features[i]; if (!testDirectory(aFeature, REQUIRED_FEATURE_FILES, REQUIRED_FEATURE_SUFFIX)) { result.add(aFeature.getPath()); } - + } - + String aString = ""; if (result.size() > 0) { - + Iterator iter = result.iterator(); while (iter.hasNext()) { String element = (String) iter.next(); @@ -115,26 +116,26 @@ public class BuildTests extends TestCase { public void testNumberOfFeatures() { - + String installDir = Platform.getInstallLocation().getURL().getPath(); File featureDir = new File(installDir, "features"); File[] features = featureDir.listFiles(); int nFeatures = features.length; assertEquals("there were more or less features than expected: ", EXPECTED_NUMBER_OF_FEATURES, nFeatures); - //System.out.println("wtp releng tests show nFeatures=" + nFeatures); - + // System.out.println("wtp releng tests show nFeatures=" + nFeatures); + } - + public void _testPluginFiles() { List result = new ArrayList(); String installDir = Platform.getInstallLocation().getURL().getPath(); File pluginDir = new File(installDir, "plugins"); File[] plugins = pluginDir.listFiles(); - - + + System.out.println("nPlugins: " + plugins.length); - - + + for (int i = 0; i < plugins.length; i++) { File aPlugin = plugins[i]; if (aPlugin.getName().indexOf("test") == -1) { @@ -143,10 +144,10 @@ public class BuildTests extends TestCase { } } } - + String aString = ""; if (result.size() > 0) { - + Iterator iter = result.iterator(); while (iter.hasNext()) { String element = (String) iter.next(); @@ -163,76 +164,79 @@ public class BuildTests extends TestCase { File[] plugins = pluginDir.listFiles(); int nPlugins = plugins.length; assertEquals("there were more or less plugins than expected: ", EXPECTED_NUMBER_OF_PLUGINS, nPlugins); - //System.out.println("wtp.releng tests shows nPlugins=" + nPlugins); + // System.out.println("wtp.releng tests shows nPlugins=" + nPlugins); + - } 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))) { + 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, String[] requiredFiles){ - ArrayList list = new ArrayList(); - try { - ZipFile jarredPlugin=new ZipFile(aDirectory); - Enumeration _enum=jarredPlugin.entries(); - while (_enum.hasMoreElements()){ - list.add(_enum.nextElement().toString()); - } - } catch (ZipException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - if (!list.containsAll(Arrays.asList(requiredFiles))) { - return false; + + private boolean testPluginJar(File aDirectory, String[] requiredFiles) { + ArrayList list = new ArrayList(); + try { + ZipFile jarredPlugin = new ZipFile(aDirectory); + Enumeration _enum = jarredPlugin.entries(); + while (_enum.hasMoreElements()) { + list.add(_enum.nextElement().toString()); } - return true; + } + catch (ZipException e) { + e.printStackTrace(); + } + catch (IOException e) { + e.printStackTrace(); + } + if (!list.containsAll(Arrays.asList(requiredFiles))) { + return false; + } + return true; } + private boolean testDirectory(File aDirectory, String[] requiredFiles, String requiredSuffix) { - if (aDirectory.getName().endsWith(".jar")){ - return testPluginJar(aDirectory,requiredFiles); - } else { - if (!Arrays.asList(aDirectory.list()).containsAll( - Arrays.asList(requiredFiles))) { + if (aDirectory.getName().endsWith(".jar")) { + return testPluginJar(aDirectory, requiredFiles); + } + else { + if (!Arrays.asList(aDirectory.list()).containsAll(Arrays.asList(requiredFiles))) { return false; } @@ -241,28 +245,25 @@ public class BuildTests extends TestCase { index = aDirectory.getName().length(); } - //String plainName = aDirectory.getName().substring(0, index); + // String plainName = aDirectory.getName().substring(0, index); /* - if (requiredSuffix.equals("") - || Arrays.asList(SUFFIX_EXEMPT_LIST).contains(plainName)) { - return true; - } else if (aDirectory - .listFiles(new FileSuffixFilter(requiredSuffix)).length == 0) { - return false; - } - */ + * if (requiredSuffix.equals("") || + * Arrays.asList(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, String[] requiredFiles, String manifestFile, String requiredSuffix) { if (aDirectory.getName().endsWith(".jar")) { return testPluginJar(aDirectory, requiredFiles); - } else { - if (!Arrays.asList(aDirectory.list()).containsAll( - Arrays.asList(requiredFiles))) { + } + else { + if (!Arrays.asList(aDirectory.list()).containsAll(Arrays.asList(requiredFiles))) { return false; } @@ -278,7 +279,8 @@ public class BuildTests extends TestCase { String[] metaFiles = metaDir.list(); if (metaFiles == null) { return (false); - } else { + } + else { for (int i = 0; i < metaFiles.length; i++) { String filename = metaFiles[i]; if (filename == manifestFile) { @@ -291,11 +293,10 @@ public class BuildTests extends TestCase { return false; } - if (requiredSuffix.equals("") - || Arrays.asList(SUFFIX_EXEMPT_LIST).contains(plainName)) { + if (requiredSuffix.equals("") || Arrays.asList(SUFFIX_EXEMPT_LIST).contains(plainName)) { return true; - } else if (aDirectory - .listFiles(new FileSuffixFilter(requiredSuffix)).length == 0) { + } + else if (aDirectory.listFiles(new FileSuffixFilter(requiredSuffix)).length == 0) { return false; } } @@ -313,13 +314,13 @@ public class BuildTests extends TestCase { if (!testDirectory(aPlugin, REQUIRED_PLUGIN_FILES, "")) { return false; } - + File sourceDir = new File(aPlugin, "src"); File[] sourceDirs = sourceDir.listFiles(); if (sourceDirs == null) { return false; } - + for (int i = 0; i < sourceDirs.length; i++) { File aSourceDir = sourceDirs[i]; if (!testDirectory(aSourceDir, REQUIRED_SOURCE_FILES, REQUIRED_SOURCE_SUFFIX)) { @@ -327,22 +328,21 @@ public class BuildTests extends TestCase { } } return true; - } + } /** - * Compares the feature and plug-in versions contained in this Eclipse + * Compares the feature and plug-in versions contained in this Eclipse * configuration, against a known previous Eclipse configuration. - * @throws Exception + * + * @throws Exception */ public void testVersionCompare() throws Exception { - + VersionLister versionLister = new VersionLister(); - String [] args = new String[] {"-testToReference", "1.5.4", "-listToReferenceFile"}; + String[] args = new String[]{"-testToReference", "1.5.4", "-listToReferenceFile"}; Object result = versionLister.run(args); boolean testok = (IApplication.EXIT_OK.equals(result)); assertTrue("There is an error in versioning. See full listing for details.", testok); - + } } - -