qmtest 1.1.5 bug
Sven Lundblad
svlu at enea.se
Mon Nov 25 15:22:13 UTC 2002
Hi,
There is a problem with tests that have dependencies to unknown tests in
qmtest 1.1.5. According to the manual such dependencies shall be
silently ignored but that is not the case if the test is run by "qmtest
run", instead a KeyError exception is raised from the execution engine.
Below is a patch that takes care of that exception.
Regards,
Sven Lundblad
diff -ru qmtest-1.1.5-BL237/lib/qm/qm/test/execution_engine.py
qmtest-1.1.5/lib/qm/qm/test/execution_engine.py
--- qmtest-1.1.5-BL237/lib/qm/qm/test/execution_engine.py Tue Oct
8 13:22:17 2002
+++ qmtest-1.1.5/lib/qm/qm/test/execution_engine.py Wed Nov 20
18:16:08 2002
@@ -163,15 +163,19 @@
# Create the edges.
for descriptor in self.__descriptors.values():
prereqs = descriptor.GetPrerequisites()
- if prereqs:
- for (prereq_id, outcome) in prereqs.items():
+ added_prereq = 0
+ for (prereq_id, outcome) in prereqs.items():
+ try:
prereq_desc = self.__descriptors[prereq_id]
self.__descriptor_graph[prereq_desc][1] \
.append((descriptor, outcome))
- self.__descriptor_graph[descriptor][0] = len(prereqs)
- else:
- # A node with no prerequisites is ready.
+ added_prereq = added_prereq + 1
+ except KeyError:
+ pass # Ignore any non existing dependent
+ if(added_prereq == 0):
self.__ready.append(descriptor)
+ else:
+ self.__descriptor_graph[descriptor][0] = len(prereqs)
# Iterate until there are no more tests to run.
self.__pending = self.__descriptors.values()
More information about the qmtest
mailing list