[Oval-commits] r51 - in trunk/tools: . oval/definition oval/parser
Pavel Vinogradov
blaze-guest at alioth.debian.org
Fri Jun 15 17:34:11 UTC 2007
Author: blaze-guest
Date: 2007-06-15 17:34:11 +0000 (Fri, 15 Jun 2007)
New Revision: 51
Modified:
trunk/tools/TODO
trunk/tools/oval/definition/generator.py
trunk/tools/oval/parser/dsa.py
Log:
Bug fixes and code cleanup
Modified: trunk/tools/TODO
===================================================================
--- trunk/tools/TODO 2007-06-15 16:34:43 UTC (rev 50)
+++ trunk/tools/TODO 2007-06-15 17:34:11 UTC (rev 51)
@@ -4,5 +4,4 @@
oval/definition/generator.py:
Rewrite tests generation conform to linux-definition-schema
- Optimize handling architectures with different bpackages
\ No newline at end of file
Modified: trunk/tools/oval/definition/generator.py
===================================================================
--- trunk/tools/oval/definition/generator.py 2007-06-15 16:34:43 UTC (rev 50)
+++ trunk/tools/oval/definition/generator.py 2007-06-15 17:34:11 UTC (rev 51)
@@ -90,7 +90,7 @@
self.__dictAdd (differC, arch, package, equalC[package])
del (equalC[package])
- if len(self.getEqual()) - len(equalC) < len(self.getEqual())/4:
+ if len(self.getEqual()) - len(equalC) <= len(self.getEqual())/4:
self.__equalArch.append(architecture)
self.__equal = equalC
self.__differ = differC
@@ -246,34 +246,36 @@
eq = diff.getEqual()
di = diff.getDiffer()
- archDependCriteria = __createXMLElement ("criteria", attrs={"comment" : "Architecture depended section", "operation" : "AND"})
- supportedArchCriteria = __createXMLElement ("criteria", attrs={"comment" : "Supported architectures section", "operation" : "OR"})
- for arch in diff.getArchs():
- supportedArchCriteria.appendChild ( __createXMLElement ("criterion", attrs = {"test_ref" : __createTest("arch", arch), "comment" : "%s architecture" % arch}))
- archDependCriteria.appendChild (supportedArchCriteria)
-
- packageCriteria = __createXMLElement ("criteria", attrs={"comment" : "Packages section", "operation" : "OR"})
+ if (len(eq)):
+ archDependCriteria = __createXMLElement ("criteria", attrs={"comment" : "Architecture depended section", "operation" : "AND"})
+
+ supportedArchCriteria = __createXMLElement ("criteria", attrs={"comment" : "Supported architectures section", "operation" : "OR"})
+ for arch in diff.getArchs():
+ supportedArchCriteria.appendChild ( __createXMLElement ("criterion", attrs = {"test_ref" : __createTest("arch", arch), "comment" : "%s architecture" % arch}))
+ archDependCriteria.appendChild (supportedArchCriteria)
- for bpkg in eq.keys():
- packageCriteria.appendChild ( __createXMLElement ("criterion", attrs = {"test_ref" : __createDPKGTest(bpkg, eq[bpkg]), "comment" : "%s DPKG is earlier than %s" % (bpkg, eq[bpkg])}))
-
- archDependCriteria.appendChild (packageCriteria)
- archCriteria.appendChild (archDependCriteria)
-
+ packageCriteria = __createXMLElement ("criteria", attrs={"comment" : "Packages section", "operation" : "OR"})
+ for bpkg in eq.keys():
+ packageCriteria.appendChild ( __createXMLElement ("criterion", attrs = {"test_ref" : __createDPKGTest(bpkg, eq[bpkg]), "comment" : "%s DPKG is earlier than %s" % (bpkg, eq[bpkg])}))
+
+ archDependCriteria.appendChild (packageCriteria)
+ archCriteria.appendChild (archDependCriteria)
+
#Supported architectures have different bpackages. On this stage we generate package list for each architecture
if len(di):
- archDependCriteria = __createXMLElement ("criteria", attrs={"comment" : "Architecture depended section", "operation" : "OR"})
+ archDependCriteria = __createXMLElement ("criteria", attrs={"comment" : "Architecture depended section", "operation" : "AND"})
for (key, value) in di.iteritems():
supportedPlatformCriteria = __createXMLElement ("criteria", attrs={"comment" : "Supported platform section", "operation" : "AND"})
supportedPlatformCriteria.appendChild ( __createXMLElement ("criterion", attrs = {"test_ref" : __createTest("arch", key), "comment" : "%s architecture" % key}))
+
packageCriteria = __createXMLElement ("criteria", attrs={"comment" : "Packages section", "operation" : "OR"})
for bpkg in di[key].keys():
packageCriteria.appendChild ( __createXMLElement ("criterion", attrs = {"test_ref" : __createDPKGTest(bpkg, di[key][bpkg]), "comment" : "%s DPKG is earlier than %s" % (bpkg, di[key][bpkg])}))
- supportedPlatformCriteria.appendChild (packageCriteria)
- archDependCriteria.appendChild (supportedPlatformCriteria)
-
+ supportedPlatformCriteria.appendChild (packageCriteria)
+
+ archDependCriteria.appendChild (supportedPlatformCriteria)
archCriteria.appendChild (archDependCriteria)
# # We must check that bpackages for all supported architectures is qeuals
Modified: trunk/tools/oval/parser/dsa.py
===================================================================
--- trunk/tools/oval/parser/dsa.py 2007-06-15 16:34:43 UTC (rev 50)
+++ trunk/tools/oval/parser/dsa.py 2007-06-15 17:34:11 UTC (rev 51)
@@ -78,11 +78,11 @@
(package, version, architecture) = result.groups()[0].split("_")
if data["packages"][deb_ver].has_key(architecture):
- if data["packages"][deb_ver][architecture].has_key(package):
- if not version in data["packages"][deb_ver][architecture][package]:
- data["packages"][deb_ver][architecture][package].append(version)
- else:
- data["packages"][deb_ver][architecture][package] = version
+# if data["packages"][deb_ver][architecture].has_key(package):
+# if not version in data["packages"][deb_ver][architecture][package]:
+# data["packages"][deb_ver][architecture][package].append(version)
+# else:
+ data["packages"][deb_ver][architecture][package] = version
else:
data["packages"][deb_ver][architecture] = {package : version}
More information about the Oval-commits
mailing list