Author: rvs Date: Wed Mar 7 23:28:34 2012 New Revision: 1298208 URL: http://svn.apache.org/viewvc?rev=1298208&view=rev Log: BIGTOP-402. manifests for package testing contain way too many duplicate data
Added: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/apt/ incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/apt/package_data.xml - copied, changed from r1297294, incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_apt.xml incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data.xml incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/urpmi/ incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/urpmi/package_data.xml - copied, changed from r1297294, incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_urpmi.xml incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/yum/ incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/yum/package_data.xml - copied, changed from r1297294, incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_yum.xml incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/zypper/ incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/zypper/package_data.xml - copied, changed from r1297294, incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_zypper.xml Removed: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_apt.xml incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_urpmi.xml incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_yum.xml incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_zypper.xml Modified: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/pom.xml incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/PackageTestCommon.groovy incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/TestPackagesBasics.groovy Modified: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/pom.xml URL: http://svn.apache.org/viewvc/incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/pom.xml?rev=1298208&r1=1298207&r2=1298208&view=diff ============================================================================== --- incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/pom.xml (original) +++ incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/pom.xml Wed Mar 7 23:28:34 2012 @@ -66,8 +66,8 @@ </goals> <configuration> <source><![CDATA[ - ["yum", "zypper", "apt", "urpmi"].each { - def a = new XmlSlurper().parseText(new File("${project.build.directory}/classes/package_data_${it}.xml").text); + ["", "yum", "zypper", "apt", "urpmi"].each { + def a = new XmlSlurper().parseText(new File("${project.build.directory}/classes/${it}/package_data.xml").text); } println "Manifest XML validated"; ]]> Modified: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/PackageTestCommon.groovy URL: http://svn.apache.org/viewvc/incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/PackageTestCommon.groovy?rev=1298208&r1=1298207&r2=1298208&view=diff ============================================================================== --- incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/PackageTestCommon.groovy (original) +++ incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/PackageTestCommon.groovy Wed Mar 7 23:28:34 2012 @@ -374,20 +374,22 @@ class PackageTestCommon { problemFiles, equalTo([])); // a bit of debug output - def newManifest = new MarkupBuilder(new FileWriter("${pkg.name}_manifest.xml")); + def newManifest = new MarkupBuilder(new FileWriter("${pkg.name}.xml")); - newManifest.content() { - fileMeta = getLsMetadata(pkg.getFiles()); - - pkg.getFiles().each { - Map meta = fileMeta[it] ?: [:]; - String node = configs[it] ? "config" : (docs[it] ? "doc " : "file"); - int owners = meta.owners ?: -1; - - if (meta.target) { - "$node"(name : it, owners : owners, perm : meta.perm, user : meta.user, group : meta.group, target : meta.target); - } else { - "$node"(name : it, owners : owners, perm : meta.perm, user : meta.user, group : meta.group); + newManifest."${pkg.name}" { + content { + fileMeta = getLsMetadata(pkg.getFiles()); + + pkg.getFiles().each { + Map meta = fileMeta[it] ?: [:]; + String node = configs[it] ? "config" : (docs[it] ? "doc " : "file"); + int owners = meta.owners ?: -1; + + if (meta.target) { + "$node"(name : it, owners : owners, perm : meta.perm, user : meta.user, group : meta.group, target : meta.target); + } else { + "$node"(name : it, owners : owners, perm : meta.perm, user : meta.user, group : meta.group); + } } } } Modified: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/TestPackagesBasics.groovy URL: http://svn.apache.org/viewvc/incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/TestPackagesBasics.groovy?rev=1298208&r1=1298207&r2=1298208&view=diff ============================================================================== --- incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/TestPackagesBasics.groovy (original) +++ incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/groovy/org/apache/bigtop/itest/packagesmoke/TestPackagesBasics.groovy Wed Mar 7 23:28:34 2012 @@ -69,13 +69,40 @@ class TestPackagesBasics extends Package repo.removeRepo(); } + + private static void mergeTreeIntoForrest(NodeList forrest, Node tree) { + for (it in forrest) { + if (it instanceof Node && it.name() == tree.name()) { + tree.value().groupBy({(it instanceof Node)?it.name():"-$it"}).each { k,v -> + if (v.size() == 1 && v.get(0) instanceof Node) { + mergeTreeIntoForrest(it.value(), v.get(0)); + } else if (v.size() != 1) { + it.value().addAll(v); + } + } + return; + } + } + forrest.add(tree); + } + + private static Node mergeTrees(Node n1, Node n2) { + Node merge = new Node(null, "merge"); + merge.append(n1); + mergeTreeIntoForrest(merge.value(), n2); + return (merge.children().size() == 1) ? merge.children().get(0) : + merge; + } + @Parameters public static Map<String, Object[]> generateTests() { String type = TestPackagesBasics.pm.getType(); String arch = (new Shell()).exec("uname -m").getOut().get(0).replaceAll(/i.86/,"i386").replaceAll(/x86_64/,"amd64"); String archTranslated = (type == "apt") ? "" : ((arch == "amd64") ? ".x86_64" : ".${arch}"); - def config = new XmlParser().parse(TestPackagesBasics.class.getClassLoader(). - getResourceAsStream("package_data_${type}.xml")); + def config = mergeTrees(new XmlParser().parse(TestPackagesBasics.class.getClassLoader(). + getResourceAsStream("package_data.xml")), + new XmlParser().parse(TestPackagesBasics.class.getClassLoader(). + getResourceAsStream("${type}/package_data.xml"))); Map<String, Object[]> res = [:]; @@ -92,7 +119,13 @@ class TestPackagesBasics extends Package } if (name != null && (name =~ selectedTests).find() && !(name =~ skippedTests).find()) { - res[name] = ([name, it] as Object[]); + def strm = TestPackagesBasics.class.getClassLoader().getResourceAsStream("${type}/${name}.xml"); + if (strm) { + Node manifest = mergeTrees(it, new XmlParser().parse(strm)); + res[name] = ([name, manifest] as Object[]); + } else { + res[name] = ([name, it] as Object[]); + } } }; Copied: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/apt/package_data.xml (from r1297294, incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_apt.xml) URL: http://svn.apache.org/viewvc/incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/apt/package_data.xml?p2=incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/apt/package_data.xml&p1=incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_apt.xml&r1=1297294&r2=1298208&rev=1298208&view=diff ============================================================================== (empty) Added: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data.xml URL: http://svn.apache.org/viewvc/incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data.xml?rev=1298208&view=auto ============================================================================== --- incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data.xml (added) +++ incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data.xml Wed Mar 7 23:28:34 2012 @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<packages> +</packages> Copied: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/urpmi/package_data.xml (from r1297294, incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_urpmi.xml) URL: http://svn.apache.org/viewvc/incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/urpmi/package_data.xml?p2=incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/urpmi/package_data.xml&p1=incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_urpmi.xml&r1=1297294&r2=1298208&rev=1298208&view=diff ============================================================================== (empty) Copied: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/yum/package_data.xml (from r1297294, incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_yum.xml) URL: http://svn.apache.org/viewvc/incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/yum/package_data.xml?p2=incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/yum/package_data.xml&p1=incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_yum.xml&r1=1297294&r2=1298208&rev=1298208&view=diff ============================================================================== (empty) Copied: incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/zypper/package_data.xml (from r1297294, incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_zypper.xml) URL: http://svn.apache.org/viewvc/incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/zypper/package_data.xml?p2=incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/zypper/package_data.xml&p1=incubator/bigtop/trunk/bigtop-tests/test-artifacts/package/src/main/resources/package_data_zypper.xml&r1=1297294&r2=1298208&rev=1298208&view=diff ============================================================================== (empty)