Skip to content

Commit

Permalink
Provide Autoconf syntax for NIST testsuite
Browse files Browse the repository at this point in the history
Using this suite, it is possible to parallelize its evaluation
(for example with `autofonce run -t tests/cobol85/nist.at` with v0.5
or `autofonce run -t nist` with v0.6)
  • Loading branch information
lefessan committed Feb 4, 2023
1 parent d4f364e commit e8b9748
Show file tree
Hide file tree
Showing 14 changed files with 10,635 additions and 0 deletions.
46 changes: 46 additions & 0 deletions .autofonce
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
[project]
# name to use to infer config
name = "gnucobol"

# files used to locate the project top directory
# and to set the AUTOFONCE_SOURCE_DIR
source_anchors = [ "tests/testsuite.at", "!" ]

# files used to locate the project build directory
# where the _autofonce/ directory will be created
# and to set the AUTOFONCE_BUILD_DIR
# use "!" to trigger an error if build dir is mandatory
build_anchors = [ "cobc/cobc", "!" ]

[testsuites]
# alias = "path-from-topdir"
[testsuites.testsuite]
file = "tests/testsuite.at"
path = [ "tests/testsuite.src"]
env = "testsuite"
[testsuites.nist]
file = "tests/cobol85/nist.at"
path = [ "tests/cobol85/nistrun.src"]
env = "testsuite"

[envs]
# env_name = """..."""
# env_name = "<local-path-to-env-file"
testsuite = """# look at 'build_anchors' to see how the build dir is detected among upper dirs

abs_builddir=${AUTOFONCE_BUILD_DIR}/tests

# these files are generated during configure or first `make check`

. ${abs_builddir}/atconfig
. ${abs_builddir}/atlocal

# the following flags are needed for the NIST testsuite

if test "x$AUTOFONCE_TESTSUITE" = "xnist"; then
export COB_DISABLE_WARNINGS=Y
export COB_SWITCH_1=ON
export COB_SWITCH_2=OFF
fi
"""

63 changes: 63 additions & 0 deletions tests/cobol85/nist.at
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
## Copyright (C) 2023 Free Software Foundation, Inc.
## Written by Fabrice LE FESSANT
##
## This file is part of GnuCOBOL.
##
## The GnuCOBOL compiler is free software: you can redistribute it
## and/or modify it under the terms of the GNU General Public License
## as published by the Free Software Foundation, either version 3 of the
## License, or (at your option) any later version.
##
## GnuCOBOL is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with GnuCOBOL. If not, see <https://www.gnu.org/licenses/>.

AT_COPYRIGHT([Test cases from NIST])

### GnuCOBOL Test Suite

AT_INIT([GnuCOBOL NIST Tests])
AT_COLOR_TESTS

AT_TESTED([cobc cobcrun])

## General tests of used binaries
AT_BANNER([NC Tests])
m4_include([run_NC.at])

AT_BANNER([SM Tests])
m4_include([run_SM.at])

AT_BANNER([IC Tests])
m4_include([run_IC.at])

AT_BANNER([SQ Tests])
m4_include([run_SQ.at])

AT_BANNER([RL Tests])
m4_include([run_RL.at])

AT_BANNER([ST Tests])
m4_include([run_ST.at])

AT_BANNER([SG Tests])
m4_include([run_SG.at])

AT_BANNER([OB Tests])
m4_include([run_OB.at])

AT_BANNER([IF Tests])
m4_include([run_IF.at])

AT_BANNER([RW Tests])
m4_include([run_RW.at])

AT_BANNER([DB Tests])
m4_include([run_DB.at])

AT_BANNER([IX Tests])
m4_include([run_IX.at])
Loading

0 comments on commit e8b9748

Please sign in to comment.