Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

ET does not correctly compile the ace examples #67

Closed
ramack opened this Issue · 8 comments

2 participants

Raphael Mack Cyril Adrian
Raphael Mack
Owner

tutorial/ace shall be compiled using ace files, not directly the .e files.
It's probably best to check whether ace files are in a directory (for tests and tutorial) and if so, only those are used.
What do you think?

ramack shall also start to document ET in the wiki.

For the testsuite ET decides on basis of the existance of test_.e or bad_.e files whether it is a real test directory (se test is called for each directory with this condition). But what for the tutorial? Here I just compile each class, which is not good, as there are also auxiliary classes e. g. tutorial/agent/apple.e. Should we define a convention for aux-classes as it is in tests or move them to a subdirectory, or restructure the whole tutorial dir? - How does the user know which classes are part of which tutorial and which are the correct root-classes? And what about the wiki? It has the page http://wiki.liberty-eiffel.org/index.php/Tutorial_tour. Shall we update this?

Many questions for one issue, I know.

Raphael Mack ramack was assigned
Cyril Adrian
Owner

What do you mean?

Raphael Mack
Owner

I edited the issue while you already commented. Anyhow, it may still be unclear.
In tutorial there are many example programs, which consist of just one class. e. g. downcasting.e. Therefore ET compiles all .e files a.t.m. and expects that only root-classes are in tutorial. This assumption is proven wrong by tutorial/ace/aux_example_debug_a.e, and for the ace examples ET shall not find the root class, but use all the ace files to compile the different demo programs.

If ace files exist in a directory, I suggest to make the assumption, that only those ace files define the example programs, and ET shall not check for other classes and do not recursively handle subdirectories.

Cyril Adrian
Owner

don't you use eiffeltest?

Raphael Mack
Owner

For the tutorial directory not, no. Is just compile them, the tutorials are not even executed. (This could be changed, of cause, but I think there was something which requires input on command line or something, and I did not want to use 'expect' or alike.)

For the testsuite, I call eiffeltest for each directory which contains an eiffeltest dir, as I use the exit code of eiffeltest and wantes the test result with finer granularity than just one big "fail". Do you have a better idea?

Cyril Adrian
Owner

I should learn to read all the words :-) There is no better way for the tutorial, except that you can fine-tune a bit: exclude a .e file if there is a .ace with the same prefix (e.g. example_debug.{e,ace})

I have no better idea currently, no… at least until eiffeltest_ng works :-)

Raphael Mack
Owner

ok, ace files are considered: if ace files are available, only those are used. Neither are .e files compiled directly, nor are subdirectories handled.

still open:

  • non-root (auxiliary) classes like tutorial/agent/apple.e
  • documentation in the wiki
Raphael Mack
Owner

ET now ignores directories ending with "aux" in tutorial. This way we can move non-root classes into such aux directories to prevent failing compilation.

Cyril Adrian cadrian closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.