[ref_impl_eiffel] [872] Improve the test that loads and compiles the val
Revision: 872
Author: peter.gummer
Date: 2009-06-25 05:53:45 +0100 (Thu, 25 Jun 2009)
Log Message:
-----------
Improve the test that loads and compiles the validation test archetype
repository. Previously the repository path was hard-coded to its
location on my computer, but now it is read from the config file. To
run the test, add this to your config file (substituting your own path
of course):
[tests]
validation_repository=C:\Ocean\adl\test\validation
Running the test has uncovered an infinite loop in
ARCH_REP_ARCHETYPE.parse_archetype. One of the archetypes causes a
precondition violation (a bug which itself ought to be fixed), which is
caught in the rescue clause of parse_archetype. On retrying,
parse_archetype immediately resets the exception_encountered flag,
which it then tests (too late!) to see if an exception had occurred.
The consequent infinite loop can be fixed by resetting the flag _after_
testing it. I'm not committing this fix, however, because the flag is
used in many places in a confusing manner and I'm not sure how it is
intended to be used. The test therefore currently never terminates
normally. ARCH_REP_ARCHETYPE.parse_archetype needs to be fixed.
Modified Paths:
--------------
BRANCHES/specialisation/apps/adl_workbench/app/adl_workbench.ecf
BRANCHES/specialisation/components/archetype_repository/tests/test_arch_directory.e