OCamlPro / gnucobol

A clone of the sourceforge GnuCOBOL compiler from COBOL to C.
https://get-superbol.com
GNU Lesser General Public License v3.0
16 stars 21 forks source link

homogenization of testsuite syntax #82

Closed lefessan closed 1 year ago

lefessan commented 1 year ago

The syntax of the testsuite is not homogeneous, so it makes it difficult to use other tools than autoconf to work with it.

The goal of this PR is to make it more homogeneous, and test/dev some other tooling to simplify running the testsuite and fixing issues (while still using autoconf testsuite for mainstream use).

GitMensch commented 1 year ago

Because of other pending commits I've checked in all of the testsuite changes that were related and done, please update the mirror and branch, enabling us to see what's "missing"; do you have any thoughts on the open points outlined above?

lefessan commented 1 year ago

I will update this PR on top of your commits, but here is a few points:

GitMensch commented 1 year ago

Most of the conditional "if failing, then ..." are about 32/64 bit, you may come up with an GC_TEST32 GC_TEST64 macro (ideally defined in testsuite.at), the ABI that does not match would then be ignored, the other one executed. This should reduce the issues and create not so many conflicts (writing and using more macros needs to be postponed until everything is merged to trunk).

lefessan commented 1 year ago

Actually, I would prefer not to introduce new macros, as the tool is based on the knowledge of a small fixed set of macros.

I actually got rid of these tests using AT_CHECK and the run-if parts for then/else.

GitMensch commented 1 year ago

Hm, I'll have a look at your suggestion next week after the update and push.

lefessan commented 1 year ago

I still need also to review it, in particular the replacements of if by AT_CHECK. I haven't been careful enough on them.

lefessan commented 1 year ago

For information, the program I wrote is here: https://github.com/ocamlpro/autofonce It's main features:

It requires this PR to be merge to fully work on gnucobol (once the workflows are fixed)

codecov-commenter commented 1 year ago

Codecov Report

Merging #82 (b2f7da1) into gcos4gnucobol-3.x (7fd5d49) will not change coverage. The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@                Coverage Diff                 @@
##           gcos4gnucobol-3.x      #82   +/-   ##
==================================================
  Coverage              65.27%   65.27%           
==================================================
  Files                     31       31           
  Lines                  56542    56542           
  Branches               14767    14767           
==================================================
  Hits                   36908    36908           
  Misses                 13828    13828           
  Partials                5806     5806           

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

lefessan commented 1 year ago

I have a new version of the tool that is much more tolerant to the syntax, I am going to submit an updated version of this PR with much fewer changes.

GitMensch commented 1 year ago

feel free to check in

lefessan commented 1 year ago

Merged !