diff options
Diffstat (limited to 'community/ghc/fix-testsuite.patch')
-rw-r--r-- | community/ghc/fix-testsuite.patch | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/community/ghc/fix-testsuite.patch b/community/ghc/fix-testsuite.patch deleted file mode 100644 index 2d14d19d9d8..00000000000 --- a/community/ghc/fix-testsuite.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 43fd712b4f679fe00d6d75c8bc088357052a0365 Mon Sep 17 00:00:00 2001 -From: Ben Gamari <ben@smart-cactus.org> -Date: Tue, 11 Jun 2019 09:54:55 -0400 -Subject: [PATCH] testsuite: A more portable solution to #9399 - -Previously we used an awful hybrid batch script/Bourne shell script to -allow this test to run both on Windows and Linux (fixing #9399). -However, this breaks on some libc implementations (e.g. musl). Fix this. - -Fixes #16798. ---- - libraries/base/tests/all.T | 28 ++++++++++++++++++------- - libraries/base/tests/enum01.hs | 4 ---- - libraries/base/tests/enum02.hs | 4 ---- - libraries/base/tests/enum03.hs | 4 ---- - libraries/base/tests/enum_processor.bat | 6 ------ - libraries/base/tests/enum_processor.py | 2 ++ - 6 files changed, 23 insertions(+), 25 deletions(-) - mode change 100644 => 100755 libraries/base/tests/enum_processor.py - -diff --git a/libraries/base/tests/all.T b/libraries/base/tests/all.T -index e64ca40006..33e9e196a8 100644 ---- a/libraries/base/tests/all.T -+++ b/libraries/base/tests/all.T -@@ -94,13 +94,27 @@ test('dynamic004', omit_ways(['normal', 'threaded1', 'ghci']), compile_and_ - test('dynamic005', normal, compile_and_run, ['']) - - enum_setups = [when(fast(), skip)] --test('enum01', [extra_files(['enum_processor.bat', 'enum_processor.py']), -- enum_setups], compile_and_run, ['']) --test('enum02', [extra_files(['enum_processor.bat', 'enum_processor.py']), -- enum_setups], compile_and_run, ['']) --test('enum03', [extra_files(['enum_processor.bat', 'enum_processor.py']), -- enum_setups], compile_and_run, ['']) --test('enum04', normal, compile_and_run, ['']) -+def enum_test(name): -+ """ -+ These tests have a funky Python preprocessor which require some headstands -+ to run on Windows. -+ """ -+ if opsys('mingw32'): -+ test(name, -+ [when(opsys('mingw32'), extra_files(['enum_processor.bat'])), -+ extra_files(['enum_processor.py'])], -+ compile_and_run, -+ ['-F -pgmF ./enum_processor.bat']) -+ else: -+ test(name, -+ [extra_files(['enum_processor.py'])], -+ compile_and_run, -+ ['-F -pgmF ./enum_processor.py']) -+ -+enum_test('enum01') -+enum_test('enum02') -+enum_test('enum03') -+test('enum04', normal, compile_and_run, ['']) - - test('exceptionsrun001', normal, compile_and_run, ['']) - test('exceptionsrun002', normal, compile_and_run, ['']) -diff --git a/libraries/base/tests/enum01.hs b/libraries/base/tests/enum01.hs -index 5aea7dea4d..4dfc29978c 100644 ---- a/libraries/base/tests/enum01.hs -+++ b/libraries/base/tests/enum01.hs -@@ -1,8 +1,4 @@ - -- !!! Testing the Prelude's Enum instances. --{-# OPTIONS_GHC -F -pgmF ./enum_processor.bat #-} ---- The processor is a non-CPP-based equivalent of ---- #define printTest(x) (do{ putStr ( " " ++ "x" ++ " = " ) ; print (x) }) ---- which is not portable to clang - - module Main(main) where - -diff --git a/libraries/base/tests/enum02.hs b/libraries/base/tests/enum02.hs -index 2d06f95f90..3741880f57 100644 ---- a/libraries/base/tests/enum02.hs -+++ b/libraries/base/tests/enum02.hs -@@ -1,8 +1,4 @@ - -- !!! Testing the Int Enum instances. --{-# OPTIONS_GHC -F -pgmF ./enum_processor.bat #-} ---- The processor is a non-CPP-based equivalent of ---- #define printTest(x) (do{ putStr ( " " ++ "x" ++ " = " ) ; print (x) }) ---- which is not portable to clang - - module Main(main) where - -diff --git a/libraries/base/tests/enum03.hs b/libraries/base/tests/enum03.hs -index 28d02d1c13..a701df4501 100644 ---- a/libraries/base/tests/enum03.hs -+++ b/libraries/base/tests/enum03.hs -@@ -1,8 +1,4 @@ - -- !!! Testing the Word Enum instances. --{-# OPTIONS_GHC -F -pgmF ./enum_processor.bat #-} ---- The processor is a non-CPP-based equivalent of ---- #define printTest(x) (do{ putStr ( " " ++ "x" ++ " = " ) ; print (x) }) ---- which is not portable to clang - - module Main(main) where - -diff --git a/libraries/base/tests/enum_processor.bat b/libraries/base/tests/enum_processor.bat -index 2b13a7db07..6f9eb0fd29 100755 ---- a/libraries/base/tests/enum_processor.bat -+++ b/libraries/base/tests/enum_processor.bat -@@ -1,11 +1,5 @@ - :;# Problem: GHC on Windows doesn't like '-pgmF ./enum_processor.py'. - :;# See ticket:365#comment:7 for details. - :;# --:;# Workaround: this file, which functions both as a Windows .bat script and a --:;# Unix shell script. Hacky, but it seems to work. - --:;# Starts with a ':', to skip on Windows. --:; "${PYTHON}" enum_processor.py $@; exit $? -- --:;# Windows only: - %PYTHON% enum_processor.py %* -diff --git a/libraries/base/tests/enum_processor.py b/libraries/base/tests/enum_processor.py -old mode 100644 -new mode 100755 -index 15243f11ff..b4ca3e9797 ---- a/libraries/base/tests/enum_processor.py -+++ b/libraries/base/tests/enum_processor.py -@@ -1,3 +1,5 @@ -+#!/usr/bin/env python3 -+ - # The rough equivalent of the traditional CPP: - # #define printTest(x) (do{ putStr ( " " ++ "x" ++ " = " ) ; print (x) }) - # which is not portable to clang. --- -2.22.0 - |