From e1b2d8cfdffc4a4246d637893aab0e6eb246612d Mon Sep 17 00:00:00 2001 From: Enric Morales Date: Thu, 12 Sep 2024 01:08:20 -0400 Subject: [PATCH] gnucobol: add NIST test suite --- pkgs/by-name/gn/gnucobol/package.nix | 32 +++++++++++++++++++--------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/gn/gnucobol/package.nix b/pkgs/by-name/gn/gnucobol/package.nix index f68390c2879a..62c44ad4a9a1 100644 --- a/pkgs/by-name/gn/gnucobol/package.nix +++ b/pkgs/by-name/gn/gnucobol/package.nix @@ -16,15 +16,22 @@ help2man, texinfo, texliveBasic, -# test + # test + perl, }: - -stdenv.mkDerivation rec { +let + nistTestSuite = fetchurl { + # Used to check GnuCOBOL with the NIST test suite + url = "mirror://sourceforge/gnucobol/newcob.val.tar.gz"; + hash = "sha256-5FE/JqmziRH3v4gv49MzmoC0XKvCyvheswVbD1zofuA="; + }; +in +stdenv.mkDerivation (finalAttrs: { pname = "gnucobol"; version = "3.2"; src = fetchurl { - url = "mirror://sourceforge/gnucobol/${lib.versions.majorMinor version}/gnucobol-${version}.tar.xz"; + url = "mirror://gnu/gnucobol/gnucobol-${finalAttrs.version}.tar.xz"; hash = "sha256-O7SK9GztR3n6z0H9wu5g5My4bqqZ0BCzZoUxXfOcLuI="; }; @@ -32,8 +39,9 @@ stdenv.mkDerivation rec { pkg-config autoconf269 automake - libtool help2man + libtool + perl texinfo texliveBasic ]; @@ -59,10 +67,10 @@ stdenv.mkDerivation rec { postPatch = '' sed -i '/^AT_CHECK.*crud\.cob/i AT_SKIP_IF([true])' tests/testsuite.src/listings.at # upstream reports the following tests as known failures - # test 843: - sed -i '14180i\AT_SKIP_IF([true])' tests/testsuite.src/run_misc.at - # test 875: - sed -i '2894s/^/AT_SKIP_IF([true])/' tests/testsuite.src/run_file.at + # test 843 (runtime check: write to internal storage (1)) + sed -i "/^843;/d" tests/testsuite + # test 875 (INDEXED sample) + sed -i "/^875;/d" tests/testsuite ''; preConfigure = @@ -99,6 +107,10 @@ stdenv.mkDerivation rec { # Run tests TESTSUITEFLAGS="--jobs=$NIX_BUILD_CORES" make check + # Run NIST tests + cp -v ${nistTestSuite} ./tests/cobol85/newcob.val.tar.gz + TESTSUITEFLAGS="--jobs=$NIX_BUILD_CORES" make test + # Sanity check message="Hello, COBOL!" # XXX: Don't for a second think you can just get rid of these spaces, they @@ -132,4 +144,4 @@ stdenv.mkDerivation rec { ]; platforms = platforms.all; }; -} +})