You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gump.apache.org by aj...@apache.org on 2020/11/30 21:45:39 UTC
svn commit: r1883964 [2/3] - in /gump/live: ./ bin/ cron/
python/gump/actor/document/ python/gump/actor/document/text/
python/gump/actor/document/xdocs/ python/gump/actor/mvnrepoproxy/
python/gump/actor/notify/ python/gump/actor/repository/ python/gump...
Modified: gump/live/python/gump/core/commandLine.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/commandLine.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/commandLine.py (original)
+++ gump/live/python/gump/core/commandLine.py Mon Nov 30 21:45:38 2020
@@ -60,29 +60,29 @@ class CommandLine:
if argv[1] in ['-V','--version']:
sys.exit(0)
elif argv[1] in ['-h','--help']:
- print "command: " , __name__
- print "Usage: python "+__name__+".py -w {workspaceFile} [OPTION] [PROJECT]"
- print
- print "Mandatory arguments to long options are mandatory for short options too."
- print
- print "Startup:"
- print " -V, --version display the version of Apache Gump(TM) and exit."
- print " -h, --help print this help."
- print " -w, --workspace use this workspace for Gump."
- print
- print "General:"
- print " -v, --verbose verbose logging."
- print " -d, --debug debug logging."
- print
- print " Not relevent to all scripts:"
- print " -O, --official Full run, publishing notifications, etc."
- print " -D, --dated Dated log files."
- print " -c, --cache Use local cache (do not download over HTTP)."
- print " -t, --text Use text not xdocs."
- print " -X, --xdocs Output xdocs, not XHTML."
- print
- print "For bug reports use JIRA: http://issues.apache.org/."
- print "For suggestions: <general@gump.apache.org/>."
+ print("command: " , __name__)
+ print("Usage: python "+__name__+".py -w {workspaceFile} [OPTION] [PROJECT]")
+ print()
+ print("Mandatory arguments to long options are mandatory for short options too.")
+ print()
+ print("Startup:")
+ print(" -V, --version display the version of Apache Gump(TM) and exit.")
+ print(" -h, --help print this help.")
+ print(" -w, --workspace use this workspace for Gump.")
+ print()
+ print("General:")
+ print(" -v, --verbose verbose logging.")
+ print(" -d, --debug debug logging.")
+ print()
+ print(" Not relevent to all scripts:")
+ print(" -O, --official Full run, publishing notifications, etc.")
+ print(" -D, --dated Dated log files.")
+ print(" -c, --cache Use local cache (do not download over HTTP).")
+ print(" -t, --text Use text not xdocs.")
+ print(" -X, --xdocs Output xdocs, not XHTML.")
+ print()
+ print("For bug reports use JIRA: http://issues.apache.org/.")
+ print("For suggestions: <general@gump.apache.org/>.")
sys.exit(0)
#
@@ -161,9 +161,9 @@ class CommandLine:
self.args.append(arg)
removers.append(arg)
else:
- print
- print " No project specified, please supply a comma separated list of project expressions or 'all'."
- print " Project wildcards are accepted, e.g. \"jakarta-*\"."
+ print()
+ print(" No project specified, please supply a comma separated list of project expressions or 'all'.")
+ print(" Project wildcards are accepted, e.g. \"jakarta-*\".")
sys.exit(1)
# Remove those used
Modified: gump/live/python/gump/core/config.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/config.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/config.py (original)
+++ gump/live/python/gump/core/config.py Mon Nov 30 21:45:38 2020
@@ -72,7 +72,7 @@ class setting:
UTC_TIME_PRESENTATION_FORMAT='%H:%M:%S (UTC)'
TIMEOUT=60*60 # 60 minutes (in seconds)
- if os.environ.has_key('GUMP_TIMEOUT'):
+ if 'GUMP_TIMEOUT' in os.environ:
TIMEOUT = string.atoi(os.environ['GUMP_TIMEOUT'])
class default:
@@ -133,11 +133,11 @@ def basicConfig():
if __name__ == '__main__':
def dump(section):
- print
- print "---", str(section).split('.')[-1], "---"
+ print()
+ print(("---", str(section).split('.')[-1], "---"))
for attr in __builtins__.dir(section):
if attr == '__module__': continue
- print " ", attr + ":\t" + getattr(section, attr).__repr__()
+ print((" ", attr + ":\t" + getattr(section, attr).__repr__()))
for section in sys.argv[1:] or ('dir','default','setting','switch'):
dump(locals()[section])
Modified: gump/live/python/gump/core/language/java.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/language/java.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/language/java.py (original)
+++ gump/live/python/gump/core/language/java.py Mon Nov 30 21:45:38 2020
@@ -56,11 +56,11 @@ class JavaHelper(gump.core.run.gumprun.R
"""
args = project.jvmargs
- if os.environ.has_key('GUMP_JAVA_ARGS'):
+ if 'GUMP_JAVA_ARGS' in os.environ:
args = gump.util.process.command.Parameters()
for p in os.environ['GUMP_JAVA_ARGS'].split(' '):
args.addParameter(p)
- for p in project.jvmargs.items() :
+ for p in list(project.jvmargs.items()) :
args.addParameterObject(p)
return args
@@ -102,10 +102,10 @@ class JavaHelper(gump.core.run.gumprun.R
# Do this once only... storing it on the context. Not as nice as
# doing it OO (each project context stores its own, but a step..)
#
- if self.classpaths.has_key(project) and \
- self.bootclasspaths.has_key(project) :
+ if project in self.classpaths and \
+ project in self.bootclasspaths :
if debug:
- print "Classpath/Bootclasspath previously resolved..."
+ print("Classpath/Bootclasspath previously resolved...")
return (self.classpaths[project], self.bootclasspaths[project])
# Start with the system classpath (later remove this)
@@ -162,20 +162,20 @@ class JavaHelper(gump.core.run.gumprun.R
if (dependency in visited):
# beneficiary.addInfo("Duplicated dependency [" + str(depend) + "]")
if debug:
- print str(depth) + ") Already Visited : " + str(dependency)
- print str(depth) + ") Previously Visits : "
+ print(str(depth) + ") Already Visited : " + str(dependency))
+ print(str(depth) + ") Previously Visits : ")
for v in visited:
- print str(depth) + ") - " + str(v)
+ print(str(depth) + ") - " + str(v))
return (None, None)
visited.append(dependency)
if debug:
- print str(depth) + ") Perform : " + `dependency`
+ print(str(depth) + ") Perform : " + repr(dependency))
#
- classpath = Classpath('Classpath for ' + `dependency`)
- bootclasspath = Classpath('Bootclasspath for ' + `dependency`)
+ classpath = Classpath('Classpath for ' + repr(dependency))
+ bootclasspath = Classpath('Bootclasspath for ' + repr(dependency))
# Context for this dependecy project...
project = dependency.getProject()
@@ -226,13 +226,13 @@ class JavaHelper(gump.core.run.gumprun.R
# Add to CLASSPATH
if not jar.getType() == OUTPUT_BOOTCLASSPATH_JAR:
if debug:
- print str(depth) + ') Append JAR : ' + str(path)
+ print(str(depth) + ') Append JAR : ' + str(path))
classpath.addPathPart(path)
else:
# Add to BOOTCLASSPATH
if debug:
- print str(depth) + ') Append *BOOTCLASSPATH* JAR : ' \
- + str(path)
+ print(str(depth) + ') Append *BOOTCLASSPATH* JAR : ' \
+ + str(path))
bootclasspath.addPathPart(path)
# Double check IDs (to reduce stale ids in metadata)
@@ -277,8 +277,8 @@ class JavaHelper(gump.core.run.gumprun.R
debug)
_importClasspaths(classpath, bootclasspath, subcp, subbcp)
elif debug:
- print str(depth) + ') Skip : ' + str(subdependency) \
- + ' in ' + project.name
+ print(str(depth) + ') Skip : ' + str(subdependency) \
+ + ' in ' + project.name)
return (classpath, bootclasspath)
Propchange: gump/live/python/gump/core/language/java.py
------------------------------------------------------------------------------
Merged /gump/branches/python3/python/gump/core/language/java.py:r1883918-1883963
Modified: gump/live/python/gump/core/language/path.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/language/path.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/language/path.py (original)
+++ gump/live/python/gump/core/language/path.py Mon Nov 30 21:45:38 2020
@@ -22,7 +22,6 @@
"""
import os
-from string import split
from gump.util.note import transferAnnotations, Annotatable
#
@@ -104,12 +103,12 @@ class ArtifactPath(Annotatable):
def addPathPart(self,part):
if part in self.parts:
- self.addDebug('Duplicate Path Part [' + `part` + ']')
+ self.addDebug('Duplicate Path Part [' + repr(part) + ']')
else:
self.parts.append(part)
def importFlattenedParts(self,parts):
- for part in split(parts,os.pathsep):
+ for part in parts.split(os.pathsep):
self.addPathPart(part)
def importPath(self,p):
Modified: gump/live/python/gump/core/loader/loader.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/loader/loader.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/loader/loader.py (original)
+++ gump/live/python/gump/core/loader/loader.py Mon Nov 30 21:45:38 2020
@@ -40,7 +40,7 @@ class XmlLoader:
""" Builds a GOM in memory from the xml file. Return the generated GOM. """
if not os.path.exists(file):
- raise IOError, 'Metadata file [%s] not found.' % file
+ raise IOError('Metadata file [%s] not found.' % file)
return self.load(file,tag)
@@ -70,7 +70,7 @@ class XmlLoader:
if not os.path.exists(file):
log.error('Metadata file [' + file + '] not found')
- raise IOError, 'Metadata File %s not found.' % file
+ raise IOError('Metadata File %s not found.' % file)
dom=xml.dom.minidom.parse(file)
@@ -87,7 +87,7 @@ class XmlLoader:
if tag:
if not tag == xtag:
dom.unlink()
- raise IOError, 'Incorrect XML Element, expected %s found %s.' % (tag,xtag)
+ raise IOError('Incorrect XML Element, expected %s found %s.' % (tag,xtag))
return dom
@@ -165,7 +165,7 @@ class XmlWorker:
self.postProcess(task,dom)
task.setResult(XmlResult(dom))
- except Exception, details:
+ except Exception as details:
log.warning('Failed to parse XML %s : %s' % (task.getDescription(),details))
@@ -193,7 +193,7 @@ class XmlWorker:
elif child.nodeType == xml.dom.Node.TEXT_NODE:
pass # log.debug("Skip Text: " + `child.nodeType`)
else:
- log.debug("Skip Node: " + `child.nodeType` + ' ' + `child`)
+ log.debug("Skip Node: " + repr(child.nodeType) + ' ' + repr(child))
class ModelLoader:
"""
@@ -246,8 +246,8 @@ class ModelLoader:
if parentObject:
object=parentObject.getObjectForTag(element.tagName,dom,name)
- log.debug("Used parent: %s to get %s for <%s %s" %(`parentObject`,`object`,
- `element.tagName`,`name`))
+ log.debug("Used parent: %s to get %s for <%s %s" %(repr(parentObject),repr(object),
+ repr(element.tagName),repr(name)))
else:
# Just construct
if name: object=cls(name,dom)
@@ -273,7 +273,7 @@ class ModelLoader:
# transferAnnotations(parser, object)
if not rootObject:
- raise RuntimeError, 'Failed to extract %s from XML.' % cls.__name__
+ raise RuntimeError('Failed to extract %s from XML.' % cls.__name__)
return rootObject
Modified: gump/live/python/gump/core/model/builder.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/builder.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/builder.py (original)
+++ gump/live/python/gump/core/model/builder.py Mon Nov 30 21:45:38 2020
@@ -60,7 +60,7 @@ class Builder(ModelObject, PropertyConta
if not self.project:
return self.__class__.__name__
else:
- return self.__class__.__name__ + ' on ' + `self.project`
+ return self.__class__.__name__ + ' on ' + repr(self.project)
#
# expand properties - in other words, do everything to complete the
@@ -440,7 +440,7 @@ class MvnInstall(Maven):
prop = Property(MvnInstall.VERSION, dom, self.project)
prop.complete(self.project, self.project.getWorkspace())
props.append(prop)
- except Exception, details:
+ except Exception as details:
self.project.addError('failed to parse POM because of '
+ str(details))
return props
Modified: gump/live/python/gump/core/model/depend.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/depend.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/depend.py (original)
+++ gump/live/python/gump/core/model/depend.py Mon Nov 30 21:45:38 2020
@@ -146,7 +146,7 @@ class ProjectDependency(Annotatable):
return self.project
def hasInheritence(self):
- return self.inherit <> INHERIT_NONE
+ return self.inherit != INHERIT_NONE
def getInheritence(self):
return self.inherit
@@ -245,7 +245,7 @@ class DependSet:
dependProject = depend.getOwnerProject()
else:
dependProject = depend.getProject()
- if not self.projectMap.has_key(dependProject):
+ if dependProject not in self.projectMap:
self.projectMap[dependProject] = []
self.projectMap[dependProject] = depend
@@ -253,13 +253,13 @@ class DependSet:
return (depend in self.depends)
def containsProject(self, project):
- return self.projectMap.has_key(project)
+ return project in self.projectMap
def getDepends(self):
return self.depends
def getUniqueProjectDependList(self):
- return self.projectMap.keys()
+ return list(self.projectMap.keys())
def getUniqueProjectDependCount(self):
return len(self.projectMap)
Modified: gump/live/python/gump/core/model/misc.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/misc.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/misc.py (original)
+++ gump/live/python/gump/core/model/misc.py Mon Nov 30 21:45:38 2020
@@ -30,6 +30,9 @@ class Positioned:
self.posn = -1
self.total = -1
+ def __del__(self):
+ pass
+
def setPosition(self, posn):
""" Set this object's position (within some sequence) """
self.posn = posn
@@ -54,6 +57,10 @@ class Resultable:
def __init__(self):
pass
+ def __del__(self):
+ self.results=None
+ self.serverResults=None
+
# Stats are loaded separately and cached on here,
# hence they may exist on an object at all times.
def hasServerResults(self):
@@ -64,8 +71,8 @@ class Resultable:
def getServerResults(self):
if not self.hasServerResults():
- raise RuntimeError, "ServerResults not available [yet]: " \
- + self.getName()
+ raise RuntimeError("ServerResults not available [yet]: " \
+ + self.getName())
return self.serverResults
@@ -79,8 +86,8 @@ class Resultable:
def getResults(self):
if not self.hasResults():
- raise RuntimeError, "Results not available [yet]: " \
- + self.getName()
+ raise RuntimeError("Results not available [yet]: " \
+ + self.getName())
return self.results
class Resolvable(ModelObject):
Modified: gump/live/python/gump/core/model/module.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/module.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/module.py (original)
+++ gump/live/python/gump/core/model/module.py Mon Nov 30 21:45:38 2020
@@ -286,6 +286,12 @@ class Module(NamedModelObject, Statable,
self.groupId = None
+ def __lt__(self, other):
+ return self.name < other.name
+
+ def __gt__(self, other):
+ return self.name > other.name
+
def getObjectForTag(self, tag, dom, name = None):
"""
Get a new (or spliced) object for this tag
@@ -402,13 +408,13 @@ class Module(NamedModelObject, Statable,
if not packageCount:
allPackaged = False
- log.debug('Packaged? ' + `self` + ':' + `packageCount`)
+ log.debug('Packaged? ' + repr(self) + ':' + repr(packageCount))
# Give this module a second try, if some are packaged, and
# check if the others have no outputs, then call them good.
if packageCount and not allPackaged:
- log.debug('Packaged? ' + `self` + ':' + `packageCount`)
+ log.debug('Packaged? ' + repr(self) + ':' + repr(packageCount))
allPackaged = True
for project in self.getProjects():
@@ -437,7 +443,7 @@ class Module(NamedModelObject, Statable,
self.setPackaged(True)
self.changeState(STATE_COMPLETE, REASON_PACKAGE)
self.addInfo("\'Packaged\' Module. (Packaged projects: " + \
- `packageCount` + '.)')
+ repr(packageCount) + '.)')
# Determine source directory
self.absWorkingDir = \
@@ -540,7 +546,7 @@ class Module(NamedModelObject, Statable,
name = project.getName()
if self.hasProject(name):
- raise RuntimeError, 'Attempt to add duplicate project: ' + name
+ raise RuntimeError('Attempt to add duplicate project: ' + name)
# Reference this module as owner
project.setModule(self)
@@ -555,17 +561,16 @@ class Module(NamedModelObject, Statable,
otherProject = self.getOwner().getProject(name)
if not project is otherProject:
- raise RuntimeError, \
- 'Attempt to add duplicate project (in module): ' + name
+ raise RuntimeError('Attempt to add duplicate project (in module): ' + name)
def hasProject(self, name):
- return self.projects.has_key(name)
+ return name in self.projects
def getProject(self, name):
return self.projects[name]
def getProjects(self):
- return self.projects.values()
+ return list(self.projects.values())
def getSortedProjects(self):
return self.sortedProjects
Modified: gump/live/python/gump/core/model/object.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/object.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/object.py (original)
+++ gump/live/python/gump/core/model/object.py Mon Nov 30 21:45:38 2020
@@ -22,7 +22,6 @@
"""
from time import localtime, strftime, tzname
-from string import lower, capitalize
from gump.util.note import *
from gump.util.work import *
@@ -148,8 +147,8 @@ class ModelObject(Annotatable,Workable,F
""" Display the contents of this object """
# output.write(getIndent(indent)+'Class: ' + self.__class__.__name__ + '\n')
if self.hasOwner():
- output.write(getIndent(indent)+'Owner: ' + `self.getOwner()` + '\n')
- output.write(getIndent(indent)+'Id: ' + `id(self)` + '\n')
+ output.write(getIndent(indent)+'Owner: ' + repr(self.getOwner()) + '\n')
+ output.write(getIndent(indent)+'Id: ' + repr(id(self)) + '\n')
#output.write(getIndent(indent)+'Id DOM: ' + `id(self.dom)` + '\n')
#output.write(getIndent(indent)+'Id Element: ' + `id(self.element)` + '\n')
if self.isSpliced():
@@ -268,7 +267,7 @@ class ModelObject(Annotatable,Workable,F
def splice(self,dom):
if self.isComplete():
- raise RuntimeError, "Can't splice a completed entity: " + `self`
+ raise RuntimeError("Can't splice a completed entity: " + repr(self))
# log.debug("Splice: " + `dom`)
spliceDom(self.element,dom)
self.setSpliced(True)
@@ -293,7 +292,7 @@ class NamedModelObject(ModelObject):
# Named
self.name=name
if not name:
- raise RuntimeError, self.__class__.__name__ + ' needs a name.'
+ raise RuntimeError(self.__class__.__name__ + ' needs a name.')
self.hash=0
Modified: gump/live/python/gump/core/model/profile.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/profile.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/profile.py (original)
+++ gump/live/python/gump/core/model/profile.py Mon Nov 30 21:45:38 2020
@@ -20,7 +20,6 @@
"""
from time import localtime, strftime, tzname
-from string import lower, capitalize
from gump.util.work import *
from gump.util.tools import *
Modified: gump/live/python/gump/core/model/project.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/project.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/project.py (original)
+++ gump/live/python/gump/core/model/project.py Mon Nov 30 21:45:38 2020
@@ -43,6 +43,7 @@ from gump.util import getIndent, getStri
from gump.util.domutils import transferDomInfo, hasDomAttribute, \
getDomAttributeValue, getDomTextValue, getDomChildIterator
from gump.util.note import transferAnnotations
+from functools import reduce
class Project(NamedModelObject, Statable, Resultable, Dependable, Positioned):
""" A Single project """
@@ -131,6 +132,12 @@ class Project(NamedModelObject, Statable
Dependable.__del__(self)
Positioned.__del__(self)
+ def __lt__(self, other):
+ return self.name < other.name
+
+ def __gt__(self, other):
+ return self.name > other.name
+
def hasNotifys(self):
"""
Does this project have any notification addresses, and if not
@@ -311,12 +318,12 @@ class Project(NamedModelObject, Statable
def getOutputs(self):
self.expand_outputs()
- return reduce(lambda l1, l2: l1 + l2, self.outputs.itervalues(), [])
+ return reduce(lambda l1, l2: l1 + l2, iter(self.outputs.values()), [])
def expand_outputs(self):
""" expands glob patterns in output names """
if (self.built or not self.hasBuilder()) and not self.outputs_expanded:
- for l in self.outputs.itervalues():
+ for l in self.outputs.values():
for output in l:
path = output.getPath()
log.debug("glob expanding " + path)
@@ -841,13 +848,12 @@ class Project(NamedModelObject, Statable
def setModule(self, module):
if self.module:
- raise RuntimeError, \
- 'Project [' + self.name + '] already has a module set'
+ raise RuntimeError('Project [' + self.name + '] already has a module set')
self.module = module
def getModule(self):
if not self.inModule():
- raise RuntimeError, 'Project [' + self.name + '] not in a module.]'
+ raise RuntimeError('Project [' + self.name + '] not in a module.]')
return self.module
def getWorkspace(self):
@@ -896,7 +902,7 @@ class Project(NamedModelObject, Statable
self.languageType = Project.LANGUAGE_MAP[lang]
except:
message = 'Language %s not in supported %s.' \
- % (lang, Project.LANGUAGE_MAP.keys())
+ % (lang, list(Project.LANGUAGE_MAP.keys()))
self.addWarning(message)
log.warning(message)
@@ -971,7 +977,7 @@ class Project(NamedModelObject, Statable
self.addOutput(output)
# ensure id is unique per output type
- for output_type in self.outputs.keys():
+ for output_type in list(self.outputs.keys()):
d = {}
remove = []
for o in self.outputs[output_type]:
Modified: gump/live/python/gump/core/model/propagation.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/propagation.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/propagation.py (original)
+++ gump/live/python/gump/core/model/propagation.py Mon Nov 30 21:45:38 2020
@@ -19,7 +19,6 @@
"""
from time import localtime, strftime, tzname
-from string import lower, capitalize
from gump.core.model.state import *
from gump.util.work import *
@@ -61,11 +60,11 @@ class Propogatable(Stateful):
# Describe the problem
if not message:
- message = lower(stateDescription(state))
+ message = stateDescription(state).lower()
if not REASON_UNSET == reason:
- message += " with reason " + lower(reasonDescription(reason))
+ message += " with reason " + reasonDescription(reason).lower()
if isinstance(self,Workable):
- self.addInfo(capitalize(message))
+ self.addInfo(message.capitalize())
# Send on the changes...
self.propagateErrorStateChange(state,reason,cause,message)
Modified: gump/live/python/gump/core/model/property.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/property.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/property.py (original)
+++ gump/live/python/gump/core/model/property.py Mon Nov 30 21:45:38 2020
@@ -27,7 +27,6 @@ from gump.util import getIndent
from gump.util.domutils import getDomChildIterator, getDomAttributeValue, \
hasDomAttribute
from gump.util.owner import Ownable
-from types import NoneType
# represents a <property/> element
class Property(NamedModelObject):
@@ -145,6 +144,7 @@ class Property(NamedModelObject):
responsibleParty.addError('No project specified.')
elif self.hasDomAttribute('path'):
+
# If a property on a project..
if not parent == workspace:
relativeProject = None
@@ -167,9 +167,11 @@ class Property(NamedModelObject):
# Path relative to module's srcdir (doesn't work
# in workspace)
path = self.getDomAttributeValue('path')
- self.value = os.path.abspath(os.path.join( \
+ joinedPath = os.path.join( \
relativeProject.getModule().getWorkingDirectory(),
- path))
+ path)
+ absPath = os.path.abspath(joinedPath)
+ self.value = absPath
else:
responsibleParty.addError( \
'Can\'t have path on property on workspace: ' \
@@ -181,7 +183,7 @@ class Property(NamedModelObject):
#
# Do we have a value yet?
#
- if not blankOk and isinstance(self.value, NoneType):
+ if not blankOk and self.value is None:
responsibleParty.addError('Unhandled Property: ' \
+ self.getName() + ' on: ' \
+ str(parent))
@@ -251,7 +253,7 @@ class PropertySet(Ownable):
"""
Get a list of all the property objects
"""
- return self.properties.values()
+ return list(self.properties.values())
def importProperty(self, pdom):
"""
Modified: gump/live/python/gump/core/model/repository.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/repository.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/repository.py (original)
+++ gump/live/python/gump/core/model/repository.py Mon Nov 30 21:45:38 2020
@@ -69,7 +69,7 @@ class Repository(NamedModelObject, Stata
typeAttribute = self.getDomAttributeValue('type')
self.scmType = scm_type_for_name(typeAttribute)
if not self.scmType:
- raise RuntimeError, 'Invalid Repository Type:' + str(typeAttribute)
+ raise RuntimeError('Invalid Repository Type:' + str(typeAttribute))
if SCM_TYPE_CVS == self.scmType:
self.web = self.getDomChildValue('web') or \
@@ -82,22 +82,22 @@ class Repository(NamedModelObject, Stata
self.path = getDomChildValue(root, 'path')
self.hostname = getDomChildValue(root, 'hostname')
else:
- raise RuntimeError, 'No XML <root on repository: ' \
- + self.getName()
+ raise RuntimeError('No XML <root on repository: ' \
+ + self.getName())
elif SCM_TYPE_P4 == self.scmType:
if self.hasDomChild('root'):
root = self.getDomChild('root')
self.p4port = getDomChildValue(root, 'hostname')
else:
- raise RuntimeError, 'No Perforce server on P4 repository: ' \
- + self.getName()
+ raise RuntimeError('No Perforce server on P4 repository: ' \
+ + self.getName())
self.web = self.getDomChildValue('web')
else:
if self.hasDomChild('url'):
self.url = self.getDomChildValue('url')
else:
- raise RuntimeError, 'No URL on ' + self.scmType.displayName + \
- ' repository: ' + self.getName()
+ raise RuntimeError('No URL on ' + self.scmType.displayName + \
+ ' repository: ' + self.getName())
self.web = self.getDomChildValue('web')
self.user = self.getDomChildValue('user')
self.password = self.getDomChildValue('password')
@@ -105,6 +105,10 @@ class Repository(NamedModelObject, Stata
# Modules referencing this repository
self.modules = []
+ def __lt__(self, other):
+ return self.name < other.name
+
+
def complete(self, workspace):
pass
Modified: gump/live/python/gump/core/model/server.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/server.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/server.py (original)
+++ gump/live/python/gump/core/model/server.py Mon Nov 30 21:45:38 2020
@@ -33,6 +33,9 @@ class Server(NamedModelObject):
NamedModelObject.__init__(self,name,dom,workspace)
self.resolver=None
+
+ def __lt__(self, other):
+ return self.name < other.name
def complete(self,workspace):
Modified: gump/live/python/gump/core/model/stats.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/stats.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/stats.py (original)
+++ gump/live/python/gump/core/model/stats.py Mon Nov 30 21:45:38 2020
@@ -48,6 +48,14 @@ class Statistics:
self.startOfState=None
self.sequenceInState=0
+ def __del__(self):
+ self.name=None
+ self.first=None
+ self.last=None
+ self.currentState=None
+ self.previousState=None
+ self.startOfState=None
+
# FOG is (at present) effectively the
# 'odds of success' (based off historical results).
@@ -142,6 +150,9 @@ class Statistics:
class Statable:
def __init__(self): pass
+ def __del__(self):
+ self.stats=None
+
# Stats are loaded separately and cached on here,
# hence they may exist on an object at all times.
def hasStats(self):
@@ -152,8 +163,8 @@ class Statable:
def getStats(self):
if not self.hasStats():
- raise RuntimeError, "Statistics not calculated/updated/available [yet]: " \
- + self.getName()
+ raise RuntimeError("Statistics not calculated/updated/available [yet]: " \
+ + self.getName())
return self.stats
Modified: gump/live/python/gump/core/model/workspace.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/model/workspace.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/model/workspace.py (original)
+++ gump/live/python/gump/core/model/workspace.py Mon Nov 30 21:45:38 2020
@@ -19,7 +19,6 @@
"""
from time import localtime, strftime, tzname
-from string import lower, capitalize
from gump.util.work import *
from gump.util.tools import *
@@ -140,26 +139,26 @@ class Workspace(NamedModelObject, Proper
# Repository Interface
def hasRepository(self,rname):
- return self.repositories.has_key(rname)
+ return rname in self.repositories
def getRepository(self,rname):
return self.repositories[rname]
def getRepositories(self):
- return self.repositories.values()
+ return list(self.repositories.values())
def getSortedRepositories(self):
return self.sortedRepositories
# Server Interface
def hasServer(self,rname):
- return self.servers.has_key(rname)
+ return rname in self.servers
def getServer(self,rname):
return self.servers[rname]
def getServers(self):
- return self.servers.values()
+ return list(self.servers.values())
def getPythonServers(self):
"""
@@ -179,44 +178,44 @@ class Workspace(NamedModelObject, Proper
# Tracker Interface
def hasTracker(self,rname):
- return self.trackers.has_key(rname)
+ return rname in self.trackers
def getTracker(self,rname):
return self.trackers[rname]
def getTrackers(self):
- return self.trackers.values()
+ return list(self.trackers.values())
def getSortedTrackers(self):
return self.sortedTrackers
# Profile Interface
def hasProfile(self,mname):
- return self.profiles.has_key(mname)
+ return mname in self.profiles
def getProfile(self,mname):
return self.profiles.get(mname,None)
def getProfiles(self):
- return self.profiles.values()
+ return list(self.profiles.values())
def getSortedProfiles(self):
return self.sortedProfiles
# Module Interface
def hasModule(self,mname):
- return self.modules.has_key(mname)
+ return mname in self.modules
def addModule(self,module):
if self.hasModule(name):
- raise RuntimeError, 'Attempt to add duplicate module: ' + name
+ raise RuntimeError('Attempt to add duplicate module: ' + name)
self.modules[module.getName()]=module
def getModule(self,mname):
return self.modules.get(mname,None)
def getModules(self):
- return self.modules.values()
+ return list(self.modules.values())
def getSortedModules(self):
return self.sortedModules
@@ -225,19 +224,19 @@ class Workspace(NamedModelObject, Proper
# through the owning modules)
def hasProject(self,pname):
- return self.projects.has_key(pname)
+ return pname in self.projects
def addProject(self,project):
name=project.getName()
if self.hasProject(name):
- raise RuntimeError, 'Attempt to add duplicate project: ' + name
+ raise RuntimeError('Attempt to add duplicate project: ' + name)
self.projects[name]=project
def getProject(self,pname):
return self.projects[pname]
def getProjects(self):
- return self.projects.values()
+ return list(self.projects.values())
def getSortedProjects(self):
return self.sortedProjects
@@ -306,7 +305,7 @@ class Workspace(NamedModelObject, Proper
'banner-link' :'bannerLink'})
if not self.basedir:
- raise RuntimeError, "A workspace cannot operate without a 'basedir'."
+ raise RuntimeError("A workspace cannot operate without a 'basedir'.")
if not self.tmpdir: self.tmpdir=os.path.join(self.getBaseDirectory(),"tmp")
if not self.logdir: self.logdir=os.path.join(self.getBaseDirectory(),"log")
@@ -324,19 +323,19 @@ class Workspace(NamedModelObject, Proper
PropertyContainer.importProperties(self,self.element)
# Complete all profiles
- for profile in self.profiles.values():
+ for profile in list(self.profiles.values()):
profile.complete(self)
# Complete all repositories
- for repository in self.repositories.values():
+ for repository in list(self.repositories.values()):
repository.complete(self)
# Complete all servers
- for server in self.servers.values():
+ for server in list(self.servers.values()):
server.complete(self)
# Complete all trackers
- for tracker in self.trackers.values():
+ for tracker in list(self.trackers.values()):
tracker.complete(self)
# Complete the modules
@@ -444,7 +443,7 @@ class Workspace(NamedModelObject, Proper
output.write('Workspace : \n')
NamedModelObject.dump(self, indent+1, output)
- for profile in self.profiles.values():
+ for profile in list(self.profiles.values()):
profile.dump(indent+2,output)
for module in self.getModules():
@@ -453,7 +452,7 @@ class Workspace(NamedModelObject, Proper
for project in self.getProjects():
project.dump(indent+2,output)
- for repo in self.repositories.values():
+ for repo in list(self.repositories.values()):
repo.dump(indent+2,output)
for server in self.getServers():
Modified: gump/live/python/gump/core/run/actor.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/run/actor.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/run/actor.py (original)
+++ gump/live/python/gump/core/run/actor.py Mon Nov 30 21:45:38 2020
@@ -133,7 +133,7 @@ class AbstractRunActor(RunActor):
"""
if not hasattr(self,'processRun'): return
if not callable(self.processRun): return
- self.log.debug('Process Run using [' + `self` + ']')
+ self.log.debug('Process Run using [' + repr(self) + ']')
self.processRun()
@@ -144,7 +144,7 @@ class AbstractRunActor(RunActor):
"""
if not hasattr(self,'processWorkspace'): return
if not callable(self.processWorkspace): return
- self.log.debug('Process Workspace [' + `workspace` + '] using [' + `self` + ']')
+ self.log.debug('Process Workspace [' + repr(workspace) + '] using [' + repr(self) + ']')
self.processWorkspace()
def _processModule(self,module):
@@ -154,7 +154,7 @@ class AbstractRunActor(RunActor):
"""
if not hasattr(self,'processModule'): return
if not callable(self.processModule): return
- self.log.debug('Process Module [' + `module` + '] using [' + `self` + ']')
+ self.log.debug('Process Module [' + repr(module) + '] using [' + repr(self) + ']')
self.processModule(module)
@@ -168,10 +168,10 @@ class AbstractRunActor(RunActor):
# Hack for bad data.
if project.inModule():
- self.log.debug('Process Project [' + `project` + '] using [' + `self` + ']')
+ self.log.debug('Process Project [' + repr(project) + '] using [' + repr(self) + ']')
self.processProject(project)
else:
- self.log.debug('Skip Project (not in module) [' + `project` + '] for [' + `self` + ']')
+ self.log.debug('Skip Project (not in module) [' + repr(project) + '] for [' + repr(self) + ']')
def _processOtherEvent(self,event):
"""
@@ -180,5 +180,5 @@ class AbstractRunActor(RunActor):
"""
if not hasattr(self,'processOtherEvent'): return
if not callable(self.processOtherEvent): return
- self.log.debug('Process (Other) Event [' + `event` + '] using [' + `self` + ']')
+ self.log.debug('Process (Other) Event [' + repr(event) + '] using [' + repr(self) + ']')
self.processOtherEvent(event)
Modified: gump/live/python/gump/core/run/gumpenv.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/run/gumpenv.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/run/gumpenv.py (original)
+++ gump/live/python/gump/core/run/gumpenv.py Mon Nov 30 21:45:38 2020
@@ -29,7 +29,6 @@
import os.path
import sys
-from types import NoneType
from gump.core.config import dir, EXIT_CODE_BAD_ENVIRONMENT, \
EXIT_CODE_MISSING_UTILITY, time
@@ -126,19 +125,19 @@ class GumpEnvironment(Annotatable, Worka
self.gumpHome = os.environ['GUMP_HOME']
# JAVA_CMD can be set (perhaps for JRE verse JDK)
- if os.environ.has_key('JAVA_CMD'):
+ if 'JAVA_CMD' in os.environ:
self.javaCommand = os.environ['JAVA_CMD']
self.addInfo('JAVA_CMD environmental variable setting java' + \
' command to ' + self.javaCommand )
# JAVAC_CMD can be set (perhaps for JRE verse JDK)
- if os.environ.has_key('JAVAC_CMD'):
+ if 'JAVAC_CMD' in os.environ:
self.javacCommand = os.environ['JAVAC_CMD']
self.addInfo('javaCommand environmental variable setting javac' + \
' command to ' + self.javacCommand )
else:
# Default to $JAVA_HOME/bin/java, can be overridden with $JAVA_CMD.
- if os.environ.has_key('JAVA_HOME'):
+ if 'JAVA_HOME' in os.environ:
self.javaCommand = os.path.join(os.environ['JAVA_HOME'],
'bin', self.javaCommand)
self.addInfo('javaCommand set to $JAVA_HOME/bin/java = ' + \
@@ -146,7 +145,7 @@ class GumpEnvironment(Annotatable, Worka
self._checkEnvVariable('JAVA_HOME')
- if os.environ.has_key('JAVA_HOME'):
+ if 'JAVA_HOME' in os.environ:
self.javaHome = os.environ['JAVA_HOME']
self.addInfo('JAVA_HOME environmental variable setting java' + \
' home to ' + self.javaHome )
@@ -277,7 +276,7 @@ class GumpEnvironment(Annotatable, Worka
primarily so we can log/display them (for user review).
"""
- if not isinstance(self.javaProperties, NoneType):
+ if self.javaProperties is not None:
return self.javaProperties
# Ensure we've determined the Java Compiler to use
@@ -288,7 +287,7 @@ class GumpEnvironment(Annotatable, Worka
"Environment was not found")
return {}
- import commands, re
+ import subprocess, re
JAVA_SOURCE = dir.tmp + '/sysprop.java'
@@ -312,13 +311,13 @@ class GumpEnvironment(Annotatable, Worka
os.unlink(JAVA_SOURCE)
cmd = self.javaCommand + ' -cp ' + dir.tmp + ' sysprop'
- result = commands.getoutput(cmd)
+ result = subprocess.getoutput(cmd)
self.javaProperties = dict(re.findall('(.*?): (.*)', result))
JAVA_CLASS = JAVA_SOURCE.replace('.java', '.class')
if os.path.exists(JAVA_CLASS):
os.unlink(JAVA_CLASS)
- for (name, value) in self.javaProperties.items():
+ for (name, value) in list(self.javaProperties.items()):
self.log.debug("Java Property: " + name + " = > " + value)
return self.javaProperties
@@ -350,7 +349,7 @@ class GumpEnvironment(Annotatable, Worka
options,
name)
if cmd_env:
- for env_key in cmd_env.keys():
+ for env_key in list(cmd_env.keys()):
cmd.addEnvironment(env_key, cmd_env[env_key])
result = execute(cmd)
@@ -360,7 +359,7 @@ class GumpEnvironment(Annotatable, Worka
else:
self.log.warning('Failed to detect [' + exe + ' ' + \
options + ']')
- except Exception, details:
+ except Exception as details:
ok = False
self.log.error('Failed to detect [' + exe + ' ' + options + \
'] : ' + str(details))
@@ -370,10 +369,10 @@ class GumpEnvironment(Annotatable, Worka
self.performedWork(CommandWorkItem(WORK_TYPE_CHECK, cmd, result))
if not ok and mandatory:
- print
- print "Unable to detect/test mandatory [" + exe + "] in path:"
+ print()
+ print("Unable to detect/test mandatory [" + exe + "] in path:")
for p in sys.path:
- print " " + str(os.path.abspath(p))
+ print(" " + str(os.path.abspath(p)))
sys.exit(EXIT_CODE_MISSING_UTILITY)
# Store the output
@@ -389,25 +388,25 @@ class GumpEnvironment(Annotatable, Worka
"""
ok = False
try:
- ok = os.environ.has_key(envvar)
+ ok = envvar in os.environ
if not ok:
self.log.info('Failed to find environment variable [' + \
envvar + ']')
- except Exception, details:
+ except Exception as details:
ok = False
self.log.error('Failed to find environment variable [' + envvar + \
'] : ' + str(details))
if not ok and mandatory:
- print
- print "Unable to find mandatory [" + envvar + "] in environment:"
- for e in os.environ.keys():
+ print()
+ print("Unable to find mandatory [" + envvar + "] in environment:")
+ for e in list(os.environ.keys()):
try:
v = os.environ[e]
- print " " + e + " = " + v
+ print(" " + e + " = " + v)
except:
- print " " + e
+ print(" " + e)
sys.exit(EXIT_CODE_BAD_ENVIRONMENT)
return ok
Modified: gump/live/python/gump/core/run/gumprun.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/run/gumprun.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/run/gumprun.py (original)
+++ gump/live/python/gump/core/run/gumprun.py Mon Nov 30 21:45:38 2020
@@ -98,13 +98,13 @@ class GumpRun(gump.util.timing.Timeable,
self.outputsRepository=ArtifactRepository(workspace.repodir)
# Generate a GUID (or close)
- import md5
+ import hashlib
import socket
- m=md5.new()
+ m=hashlib.md5()
self.guid = socket.getfqdn() + ':' + workspace.getName() + ':' + default.datetime_s
- m.update(self.guid)
+ m.update(self.guid.encode('utf-8'))
self.hexguid=m.hexdigest().upper()
- self.log.info('Run GUID [' + `self.guid` + '] using [' + `self.hexguid` + ']')
+ self.log.info('Run GUID [' + repr(self.guid) + '] using [' + repr(self.hexguid) + ']')
# Actor Queue
self.actors=list()
@@ -167,34 +167,34 @@ class GumpRun(gump.util.timing.Timeable,
self.gumpSet.dump(indent+1,output)
def registerActor(self,actor):
- self.log.debug('Register Actor : ' + `actor`)
+ self.log.debug('Register Actor : ' + repr(actor))
self.actors.append(actor)
def logActors(self):
self.log.debug('There are %s registered actors : ' % len(self.actors))
for actor in self.actors:
- self.log.debug('Registered Actor : ' + `actor`)
+ self.log.debug('Registered Actor : ' + repr(actor))
def _dispatchEvent(self,event):
"""
Perform the dispatch
"""
- self.log.debug('Dispatch Event : ' + `event`)
+ self.log.debug('Dispatch Event : ' + repr(event))
for actor in self.actors:
#self.log.debug('Dispatch Event : ' + `event` + ' to ' + `actor`)
actor._processEvent(event)
- gump.util.inspectGarbageCollection(`event`)
+ gump.util.inspectGarbageCollection(repr(event))
def _dispatchRequest(self,request):
"""
Perform the dispatch
"""
- self.log.debug('Dispatch Request : ' + `request`)
+ self.log.debug('Dispatch Request : ' + repr(request))
for actor in self.actors:
#self.log.debug('Dispatch Request : ' + `request` + ' to ' + `actor`)
actor._processRequest(request)
- gump.util.inspectGarbageCollection(`request`)
+ gump.util.inspectGarbageCollection(repr(request))
def generateEvent(self,entity):
"""
@@ -271,7 +271,7 @@ class EntityRunEvent(RunEvent):
self.realtime=realtime
def __repr__(self):
- return self.__class__.__name__ + ':' + `self.entity`
+ return self.__class__.__name__ + ':' + repr(self.entity)
def getEntity(self):
return self.entity
@@ -306,7 +306,7 @@ class EntityRunRequest(RunEvent):
self.entity=entity
def __repr__(self):
- return self.__class__.__name__ + ':' + `self.entity`
+ return self.__class__.__name__ + ':' + repr(self.entity)
def getEntity(self):
return self.entity
Modified: gump/live/python/gump/core/run/gumpset.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/run/gumpset.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/run/gumpset.py (original)
+++ gump/live/python/gump/core/run/gumpset.py Mon Nov 30 21:45:38 2020
@@ -77,7 +77,7 @@ class GumpSet:
repositories=None ):
self.workspace=workspace
if not self.workspace:
- raise RuntimeError, 'A non-None workspace is require'
+ raise RuntimeError('A non-None workspace is require')
self.projectexpression=pexpr
if not pexpr:
@@ -121,7 +121,7 @@ class GumpSet:
# Validate a decent run
def validate(self):
if self.isEmpty():
- raise RuntimeError, 'No projects match [' + self.projectexpression + ']'
+ raise RuntimeError('No projects match [' + self.projectexpression + ']')
# No Projects
def isEmpty(self):
@@ -250,7 +250,7 @@ class GumpSet:
moduleTotal=len(sequence)
for module in sequence:
module.setTotal(moduleTotal)
- log.debug('Identify ' + module.getName() + ' at position #' + `module.getPosition()`)
+ log.debug('Identify ' + module.getName() + ' at position #' + repr(module.getPosition()))
return sequence
@@ -274,7 +274,7 @@ class GumpSet:
if not expr:expr='*'
- log.debug('Extract projects for expression ['+`expr`+']')
+ log.debug('Extract projects for expression ['+repr(expr)+']')
for project in self.workspace.getProjects():
#log.debug('Evaluate ['+project.getName()+']')
try:
@@ -283,7 +283,7 @@ class GumpSet:
try:
if pattern=="all": pattern='*'
if fnmatch.fnmatch(project.getName(),pattern): break
- except Exception, detail:
+ except Exception as detail:
log.error('Failed to regexp: ' + pattern + '. Details: ' + str(detail))
continue
else:
@@ -291,7 +291,7 @@ class GumpSet:
continue
log.debug('Matched ['+project.getName()+'] using ['+pattern+']')
projects.append(project)
- except Exception, detail:
+ except Exception as detail:
log.error('Failed to regexp: ' + expr + '. Details: ' + str(detail))
pass
projects.sort()
@@ -341,14 +341,14 @@ class GumpSet:
break
else:
loop=", ".join([project.getName() for todoProject in todo])
- raise RuntimeError, "Circular Dependency Loop: " + str(loop)
+ raise RuntimeError("Circular Dependency Loop: " + str(loop))
# Identify the size of overall sequence
projectTotal=len(sequence)
for project in sequence:
project.setTotal(projectTotal)
- log.debug('Identify ' + project.getName() + ' at position #' + `project.getPosition()`)
+ log.debug('Identify ' + project.getName() + ' at position #' + repr(project.getPosition()))
return sequence
Modified: gump/live/python/gump/core/runner/demand.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/runner/demand.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/runner/demand.py (original)
+++ gump/live/python/gump/core/runner/demand.py Mon Nov 30 21:45:38 2020
@@ -189,7 +189,7 @@ class OnDemandRunner(GumpRunner):
# W/ multiple project in one module, it may be done
if not module.isUpdated():
- self.log.debug('Update module *inlined* (not in background thread) ' + `module` + '.')
+ self.log.debug('Update module *inlined* (not in background thread) ' + repr(module) + '.')
inlined+=1
self.performUpdate(module)
@@ -234,7 +234,7 @@ class UpdateWork:
self.module=module
def __str__(self):
- return 'UpdateWork:'+`self.module`
+ return 'UpdateWork:'+repr(self.module)
class UpdateWorker(WorkerThread):
"""
Modified: gump/live/python/gump/core/runner/runner.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/runner/runner.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/runner/runner.py (original)
+++ gump/live/python/gump/core/runner/runner.py Mon Nov 30 21:45:38 2020
@@ -156,7 +156,7 @@ class GumpRunner(RunSpecific):
try:
import gump.actor.mysql.databaser
self.run.registerActor(gump.actor.mysql.databaser.Databaser(self.run))
- except Exception, details:
+ except Exception as details:
self.log.warning('Unable to register Database Actor : %s ' % details,
exc_info=1)
@@ -167,7 +167,7 @@ class GumpRunner(RunSpecific):
try:
import gump.actor.history.historical
self.run.registerActor(gump.actor.history.historical.Historical(self.run))
- except Exception, details:
+ except Exception as details:
self.log.warning('Unable to register Historical Database Actor : %s ' % details,
exc_info=1)
@@ -205,7 +205,7 @@ class GumpRunner(RunSpecific):
try:
import gump.actor.rdf.describer
self.run.registerActor(gump.actor.rdf.describer.RDFDescriber(self.run))
- except Exception, details:
+ except Exception as details:
self.log.warning('Unable to register RDF Describer : %s ' % details,
exc_info=1)
@@ -250,14 +250,12 @@ class GumpRunner(RunSpecific):
Does the actual gump work by delegating to the performRun(run) method of a subclass.
"""
if not hasattr(self,'performRun'):
- raise RuntimeError, \
- 'Class [' + `self.__class__` + '] needs a performRun(self,run)'
+ raise RuntimeError('Class [' + repr(self.__class__) + '] needs a performRun(self,run)')
if not callable(self.performRun):
- raise RuntimeError, \
- 'Class [' + `self.__class__` + '] needs a callable performRun(self,run)'
+ raise RuntimeError('Class [' + repr(self.__class__) + '] needs a callable performRun(self,run)')
- self.log.debug('Perform run using [' + `self` + ']')
+ self.log.debug('Perform run using [' + repr(self) + ']')
return self.performRun()
Modified: gump/live/python/gump/core/update/scmupdater.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/update/scmupdater.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/update/scmupdater.py (original)
+++ gump/live/python/gump/core/update/scmupdater.py Mon Nov 30 21:45:38 2020
@@ -17,7 +17,7 @@
# limitations under the License.
import os.path
-import StringIO
+import io
from gump import log
@@ -72,7 +72,7 @@ def extract_URL(result, regex, command):
"""
Extracs the URL from result
"""
- stream = StringIO.StringIO()
+ stream = io.StringIO()
catFile(stream, result.getOutput())
output = stream.getvalue()
stream.close()
@@ -116,7 +116,7 @@ class ScmUpdater(RunSpecific):
"""
log.info('Perform ' + module.getScm().getScmType().displayName + \
- ' Checkout/Update on #[' + `module.getPosition()` + \
+ ' Checkout/Update on #[' + repr(module.getPosition()) + \
'] : ' + module.getName())
(cmd, isUpdate) = self.getCommandAndType(module)
Modified: gump/live/python/gump/core/update/updater.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/update/updater.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/core/update/updater.py (original)
+++ gump/live/python/gump/core/update/updater.py Mon Nov 30 21:45:38 2020
@@ -74,11 +74,11 @@ def syncModule(module):
#
module.setModified(True)
log.info('Update(s) received via on #[' \
- + `module.getPosition()` + \
+ + repr(module.getPosition()) + \
'] : ' + module.getName())
- except Exception, details:
+ except Exception as details:
module.changeState(STATE_FAILED, REASON_SYNC_FAILED)
message = 'Synchronize Failed: ' + str(details)
module.addError(message)
@@ -163,7 +163,7 @@ class GumpUpdater(RunSpecific):
#
# if not module.isUpdatable(): continue
- log.info('Perform Update on #[' + `module.getPosition()` + \
+ log.info('Perform Update on #[' + repr(module.getPosition()) + \
'] : ' + module.getName())
# Do the appropriate...
@@ -202,4 +202,4 @@ class GumpUpdater(RunSpecific):
if scmUpdater:
scmUpdater.preview(module)
else:
- print 'No updater for module: ' + module.getName()
+ print('No updater for module: ' + module.getName())
Modified: gump/live/python/gump/test/artifacts.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/artifacts.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/artifacts.py (original)
+++ gump/live/python/gump/test/artifacts.py Mon Nov 30 21:45:38 2020
@@ -45,8 +45,8 @@ class ArtifactsTestSuite(UnitTestSuite):
self.repo=gump.actor.repository.artifact.ArtifactRepository(self.testRepo)
# Create some test files
- file(self.license,'w').close()
- file(self.jar1,'w').close()
+ open(self.license,'w').close()
+ open(self.jar1,'w').close()
# Load a decent Run/Workspace
self.run=getWorkedTestRun()
@@ -72,7 +72,6 @@ class ArtifactsTestSuite(UnitTestSuite):
(dated, latest)=self.repo.extractGroup('testGroup')
self.assertNotNone('Extracted something', dated)
- self.assertNotEmpty('Extracted something', dated)
def testRepositoryExtract2(self):
# Create a repository & populate it
@@ -80,16 +79,16 @@ class ArtifactsTestSuite(UnitTestSuite):
gdir=self.repo.getGroupDir('test')
- file(os.path.join(gdir,'id1-gump-20030221.jar'),'w').close()
- file(os.path.join(gdir,'id1-gump-20040221.jar'),'w').close()
- file(os.path.join(gdir,'id1-gump-20050221.jar'),'w').close()
- file(os.path.join(gdir,'id2-gump-20030221.jar'),'w').close()
- file(os.path.join(gdir,'id2-gump-20040221.jar'),'w').close()
- file(os.path.join(gdir,'id2-gump-20050221.jar'),'w').close()
- file(os.path.join(gdir,'id3-gump-20030221.jar'),'w').close()
- file(os.path.join(gdir,'id3-gump-20040221.jar'),'w').close()
- file(os.path.join(gdir,'id3-gump-20050221.jar'),'w').close()
- file(os.path.join(gdir,'id4-gump-20050221.jar'),'w').close()
+ open(os.path.join(gdir,'id1-gump-20030221.jar'),'w').close()
+ open(os.path.join(gdir,'id1-gump-20040221.jar'),'w').close()
+ open(os.path.join(gdir,'id1-gump-20050221.jar'),'w').close()
+ open(os.path.join(gdir,'id2-gump-20030221.jar'),'w').close()
+ open(os.path.join(gdir,'id2-gump-20040221.jar'),'w').close()
+ open(os.path.join(gdir,'id2-gump-20050221.jar'),'w').close()
+ open(os.path.join(gdir,'id3-gump-20030221.jar'),'w').close()
+ open(os.path.join(gdir,'id3-gump-20040221.jar'),'w').close()
+ open(os.path.join(gdir,'id3-gump-20050221.jar'),'w').close()
+ open(os.path.join(gdir,'id4-gump-20050221.jar'),'w').close()
(dated, latest)=self.repo.extractGroup('test')
@@ -97,6 +96,6 @@ class ArtifactsTestSuite(UnitTestSuite):
#pprint.pprint(dated)
self.assertNotNone('Extracted something', dated)
- self.assertEqual('Extracted correct groups', len(dated.keys()), 3)
+ self.assertEqual('Extracted correct groups', len(list(dated.keys())), 3)
self.assertEqual('Detected correct latest', latest, '20050221')
Modified: gump/live/python/gump/test/describer.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/describer.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/describer.py (original)
+++ gump/live/python/gump/test/describer.py Mon Nov 30 21:45:38 2020
@@ -22,7 +22,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
import gump.core.config
Modified: gump/live/python/gump/test/diagram.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/diagram.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/diagram.py (original)
+++ gump/live/python/gump/test/diagram.py Mon Nov 30 21:45:38 2020
@@ -26,7 +26,7 @@ from gump.tool.svg.depdiag import Depend
from gump.test import getWorkedTestRun
from gump.test.pyunit import UnitTestSuite
-import StringIO
+import io
class DiagramTestSuite(UnitTestSuite):
def __init__(self):
@@ -53,7 +53,7 @@ class DiagramTestSuite(UnitTestSuite):
def testScaleDiagramGeneration(self):
diagram=ScaleDiagram([10,20])
svg=diagram.generateDiagram()
- stream=StringIO.StringIO()
+ stream=io.StringIO()
svg.serialize(stream)
stream.close()
Modified: gump/live/python/gump/test/documenter.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/documenter.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/documenter.py (original)
+++ gump/live/python/gump/test/documenter.py Mon Nov 30 21:45:38 2020
@@ -19,7 +19,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
import gump.core.config
@@ -44,7 +44,7 @@ class DocumenterTestSuite(UnitTestSuite)
self.assertNotNone('Needed a workspace', self.workspace)
def testText(self):
- out=StringIO.StringIO()
+ out=io.StringIO()
documenter=TextDocumenter(self.run,out)
documenter.document()
out.close()
Modified: gump/live/python/gump/test/integrator.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/integrator.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/integrator.py (original)
+++ gump/live/python/gump/test/integrator.py Mon Nov 30 21:45:38 2020
@@ -20,7 +20,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
import gump.core.config
Modified: gump/live/python/gump/test/language.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/language.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/language.py (original)
+++ gump/live/python/gump/test/language.py Mon Nov 30 21:45:38 2020
@@ -23,7 +23,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
@@ -115,9 +115,9 @@ class LanguageTestSuite(UnitTestSuite):
def testClasspathOnDepend(self):
for depend in self.project3.getDirectDependencies():
- print "Depend:" + `depend`
+ print("Depend:" + repr(depend))
else:
- print 'No p3 deps:'
+ print('No p3 deps:')
self.assertTrue('<ant <depend gives full dependency (classpath)', \
self.project3.hasFullDependencyOnNamedProject('project1'))
Modified: gump/live/python/gump/test/loading.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/loading.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/loading.py (original)
+++ gump/live/python/gump/test/loading.py Mon Nov 30 21:45:38 2020
@@ -24,7 +24,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
from gump.core.loader.loader import *
Modified: gump/live/python/gump/test/maven.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/maven.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/maven.py (original)
+++ gump/live/python/gump/test/maven.py Mon Nov 30 21:45:38 2020
@@ -22,7 +22,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
import gump.core.config
Modified: gump/live/python/gump/test/mockobjects.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/mockobjects.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/mockobjects.py (original)
+++ gump/live/python/gump/test/mockobjects.py Mon Nov 30 21:45:38 2020
@@ -23,16 +23,16 @@ class MockLog:
pass
def debug(self,msg):
- print "DEBUG: %s" % (msg)
+ print("DEBUG: %s" % (msg))
def info(self,msg):
- print "INFO: %s" % (msg)
+ print("INFO: %s" % (msg))
def warning(self,msg):
- print "WARNING: %s" % (msg)
+ print("WARNING: %s" % (msg))
def error(self,msg):
- print "ERROR: %s" % (msg)
+ print("ERROR: %s" % (msg))
class MockConnection:
def __init__(self,cursor):
Modified: gump/live/python/gump/test/model.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/model.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/model.py (original)
+++ gump/live/python/gump/test/model.py Mon Nov 30 21:45:38 2020
@@ -23,7 +23,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
import gump.core.config
@@ -116,7 +116,7 @@ class ModelTestSuite(UnitTestSuite):
properties=project2.getProperties()
self.assertNotNone('Project2 has properties', project2.hasProperties())
self.assertNotNone('Project2 has properties', properties)
- self.assertNotEmpty('Project2 has some properties', properties)
+ self.assertNotEmptyDictionary('Project2 has some properties', properties)
self.assertEqual('Explicit blank is ok', properties.getProperty('blank-ok'), "")
self.assertNotNone('Explicit blank is NOT ok', properties.getProperty('blank-bogus'))
@@ -143,6 +143,19 @@ class ModelTestSuite(UnitTestSuite):
self.assertFalse('Repository has Password',repo2.hasPassword())
self.assertNone('Repository Password',repo2.getPassword())
+ def testConfigure(self):
+ self.assertNotNone('Got project1', self.project1)
+ self.assertTrue('Got project1 configure', self.project1.hasConfigure())
+ configure = self.project1.getConfigure()
+ self.assertTrue('Has properties', configure.hasProperties())
+ properties = configure.getProperties()
+ self.assertNotNone('Has properties', properties)
+ for prop in properties:
+ self.assertNotNone('Has property name', prop.name)
+ self.assertNotEmptySequence('Has property name', prop.name)
+ self.assertNotNone('Has property value', prop.value)
+ self.assertNotEmptySequence('Has property value', prop.value)
+
def testComparisons(self):
project1 = self.project1
project2 = self.project2
@@ -157,8 +170,8 @@ class ModelTestSuite(UnitTestSuite):
projects.append(project1)
- self.assertIn('Project in list',project1,projects)
- self.assertNotIn('Project NOT in list',project2,projects)
+ self.assertInSequence('Project in list',project1,projects)
+ self.assertNotInSequence('Project should NOT be in list',project2,projects)
ordered=createOrderedList([ project2, project1, project2, project1])
@@ -236,8 +249,8 @@ class ModelTestSuite(UnitTestSuite):
module1=self.module1
project1=self.project1
- self.assertNotEmpty('Ought have a location', module1.getMetadataLocation() )
- self.assertNotEmpty('Ought have a location', project1.getMetadataLocation() )
+ self.assertNotNone('Ought have a location', module1.getMetadataLocation() )
+ self.assertNotNone('Ought have a location', project1.getMetadataLocation() )
def testMaven(self):
self.assertTrue('Maven project has a Maven object', self.maven1.hasMaven())
@@ -279,10 +292,10 @@ class ModelTestSuite(UnitTestSuite):
#print commandLine
def testServers(self):
- self.assertNotEmpty('Some servers ought be found', self.workspace.getServers())
+ self.assertNotEmptySequence('Some servers ought be found', self.workspace.getServers())
def testTrackers(self):
- self.assertNotEmpty('Some trackers ought be found', self.workspace.getTrackers())
+ self.assertNotEmptySequence('Some trackers ought be found', self.workspace.getTrackers())
def testNotification(self):
self.assertTrue('Ought allow notify', self.workspace.isNotify())
Modified: gump/live/python/gump/test/nant.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/nant.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/nant.py (original)
+++ gump/live/python/gump/test/nant.py Mon Nov 30 21:45:38 2020
@@ -22,7 +22,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
import gump.core.config
Modified: gump/live/python/gump/test/notifying.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/notifying.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/notifying.py (original)
+++ gump/live/python/gump/test/notifying.py Mon Nov 30 21:45:38 2020
@@ -20,7 +20,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
import gump.core.config
Modified: gump/live/python/gump/test/pyunit.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/pyunit.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/pyunit.py (original)
+++ gump/live/python/gump/test/pyunit.py Mon Nov 30 21:45:38 2020
@@ -19,9 +19,10 @@
"""
import os
import sys
-from types import NoneType
import types
import logging
+import collections
+import collections.abc
from gump import log
from gump.core.gumpinit import gumpinit
@@ -45,14 +46,14 @@ class Testable:
message += str(s)
message += '] '
- raise RuntimeError, message
+ raise RuntimeError(message)
def assertNotNone(self, message, o):
- if isinstance(o, NoneType):
+ if o is None:
self.raiseIssue(['Ought NOT be None', message, o])
def assertNone(self, message, o):
- if not isinstance(o, NoneType):
+ if o is not None:
self.raiseIssue(['Ought be None', message, o])
def assertNonZero(self, message, o):
@@ -64,6 +65,10 @@ class Testable:
if not (o1 == o2):
self.raiseIssue(['Ought evaluate as equal', message, o1, o2])
+ def assertLesser(self, message, o1, o2):
+ if not (o1 < o2):
+ self.raiseIssue(['Ought evaluate as lesser', message, o1, o2])
+
def assertGreater(self, message, o1, o2):
if not (o1 > o2):
self.raiseIssue(['Ought evaluate as greater', message, o1, o2])
@@ -78,14 +83,14 @@ class Testable:
def assertFalse(self, message, o):
if o:
- self.raiseIssue(['Ought evaluate as false', message, o])
+ self.raiseIssue(['Ought evaluate as False', message, o])
def assertInString(self, message, substr, superstring):
if -1 == superstring.find(substr):
self.raiseIssue(['Ought evaluate as in', message, substr,
superstring])
- def assertIn(self, message, o, sequence):
+ def assertInSequence(self, message, o, sequence):
if not o in sequence:
self.raiseIssue(['Ought evaluate as in', message, o, sequence])
@@ -95,13 +100,25 @@ class Testable:
message, subString, mainString,
mainString.find(subString)])
- def assertNotEmpty(self, message, sequence):
- if not sequence or not len(sequence) > 0:
- self.raiseIssue(['Ought NOT evaluate as empty', message, sequence])
+ def assertNotEmptyDictionary(self, message, dictionary):
+ if not dictionary:
+ self.raiseIssue(['Ought NOT evaluate as None dictionary', message, dictionary])
+ if not isinstance(dictionary,dict):
+ self.raiseIssue(['Ought NOT evaluate as NOT a dictionary', message, dictionary])
+ if not len(dictionary.keys()) > 0:
+ self.raiseIssue(['Ought NOT evaluate as an empty dictionary', message, dictionary])
+
+ def assertNotEmptySequence(self, message, sequence):
+ if not sequence:
+ self.raiseIssue(['Ought NOT evaluate as a None sequence', message, sequence])
+ if not isinstance(sequence,collections.abc.Sequence):
+ self.raiseIssue(['Ought NOT evaluate as NOT a sequence', message, sequence])
+ if not len(sequence) > 0:
+ self.raiseIssue(['Ought NOT evaluate as an empty sequence', message, sequence])
- def assertNotIn(self, message, o, sequence):
+ def assertNotInSequence(self, message, o, sequence):
if o in sequence:
- self.raiseIssue(['Ought NOT evaluate as in', message, o, sequence])
+ self.raiseIssue(['Ought NOT evaluate as in sequence', message, o, sequence])
def assertNotSubstring(self, message, subString, mainString):
if not -1 == mainString.find(subString):
@@ -118,7 +135,7 @@ class Testable:
self.assertEqual(message, o, sequence[posn])
def assertString(self, message, o):
- if not isinstance(o, types.StringTypes):
+ if not isinstance(o, str):
self.raiseIssue(['Ought be a String type', message, o,
type(o)])
@@ -201,7 +218,7 @@ class UnitTestSuite(Testable):
# avoid nulls, metadata, and methods other than test*
if not test:
continue
- if isinstance(test, types.TypeType):
+ if isinstance(test, type):
continue
if not isinstance(test, types.MethodType):
continue
@@ -213,12 +230,13 @@ class UnitTestSuite(Testable):
# If arguments, they are patterns to match
if ptrns:
for pattern in ptrns:
+ #print("Pattern : " + name + " - " + pattern)
try:
if pattern == "all":
pattern = '*'
if fnmatch(name, pattern):
break
- except Exception, detail:
+ except Exception as detail:
log.error('Failed to regexp: ' + pattern + \
'. Details: ' + str(detail))
continue
@@ -247,7 +265,7 @@ class UnitTestSuite(Testable):
if hasattr(self, 'tearDown'):
self.tearDown()
- except Exception, _details:
+ except Exception as _details:
log.error('Test [' + self.__class__.__name__ \
+ ':' + test.__name__ + '] Failed',
exc_info = 1)
@@ -284,7 +302,7 @@ class TestRunner:
initializeGarbageCollection()
# Sort to resolve dependency order
- runOrder = createOrderedList(self.suites)
+ runOrder = self.suites # TEMPORARY createOrderedList(self.suites)
testsRun = 0
problems = []
@@ -295,7 +313,7 @@ class TestRunner:
(runs, results) = suite.performTests(args)
testsRun += runs
problems += results
- except Exception, _details:
+ except Exception as _details:
log.error('Failed')
ei = sys.exc_info()
message = formatException(ei)
@@ -304,8 +322,8 @@ class TestRunner:
printSeparator()
- log.info('Performed [' + `testsRun` + '] tests with [' + \
- `len(problems)` + '] issues.')
+ log.info('Performed [' + repr(testsRun) + '] tests with [' + \
+ repr(len(problems)) + '] issues.')
for problem in problems:
log.error('------------------------------------------------------------------------')
Modified: gump/live/python/gump/test/resolving.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/resolving.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/resolving.py (original)
+++ gump/live/python/gump/test/resolving.py Mon Nov 30 21:45:38 2020
@@ -21,7 +21,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
import gump.core.config
@@ -90,7 +90,7 @@ class ResolvingTestSuite(UnitTestSuite):
path=Path()
- print path.getPathUp()
+ print(path.getPathUp())
self.assertNotNone('Ought be period.', path.getPathUp())
path1=path.getPostfixed('ABC')
@@ -142,7 +142,7 @@ class ResolvingTestSuite(UnitTestSuite):
self.assertNotNone(message + "::getDirectoryUrl", resolver.getDirectoryUrl(self.module1))
self.assertNotNone(message + "::getUrl", resolver.getUrl(self.module1))
- self.assertNotEmpty('Need work on workspace', self.workspace.getWorkList())
+ self.assertNotEmptySequence('Need work on workspace', self.workspace.getWorkList())
for work in self.workspace.getWorkList():
#printSeparator()
self.assertNotNone(message + "::work", work)
Modified: gump/live/python/gump/test/resources/full1/module1.xml
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/resources/full1/module1.xml?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/resources/full1/module1.xml (original)
+++ gump/live/python/gump/test/resources/full1/module1.xml Mon Nov 30 21:45:38 2020
@@ -12,6 +12,13 @@
to="project1@jakarta.apache.org"/>
<project name="project1">
+
+ <configure>
+ <arg name="--prefix" path="dest-@@DATE@@"/>
+ <arg name="--prefix1" path="dest1"/>
+ <arg name="--prefix2" value="dest1"/>
+ </configure>
+
<package>org.apache.project1</package>
<script name="gumpscript"/>
Modified: gump/live/python/gump/test/stats.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/stats.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/stats.py (original)
+++ gump/live/python/gump/test/stats.py Mon Nov 30 21:45:38 2020
@@ -20,7 +20,7 @@
import os
import logging
-import types, StringIO
+import types, io
from gump import log
import gump.core.config
Modified: gump/live/python/gump/test/svg.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/test/svg.py?rev=1883964&r1=1883963&r2=1883964&view=diff
==============================================================================
--- gump/live/python/gump/test/svg.py (original)
+++ gump/live/python/gump/test/svg.py Mon Nov 30 21:45:38 2020
@@ -24,7 +24,7 @@ from gump.tool.svg.drawing import *
from gump.tool.svg.svg import *
from gump.test.pyunit import UnitTestSuite
-import StringIO
+import io
class SvgTestSuite(UnitTestSuite):
def __init__(self):
@@ -33,7 +33,7 @@ class SvgTestSuite(UnitTestSuite):
def testSvgConstruction(self):
svg=SimpleSvg()
- stream=StringIO.StringIO()
+ stream=io.StringIO()
svg.serialize(stream)
stream.close()