From 1189984964800476d615ab91d1dbe9c4e423207f Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 17:44:29 +0200 Subject: [PATCH 01/23] Initial attempt just to matrix the target 'platform'; no actual separate build instructions for Cygwin yet --- .github/appveyor.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index e8012f69ee5b2e..ecbdc1b83c1c64 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -5,6 +5,7 @@ branches: - master - /\d\.\d/ - buildbot-custom + - appveyor-cygwin cache: - externals -> PCbuild before_build: @@ -36,3 +37,10 @@ environment: HOST_PYTHON: C:\Python36\python.exe image: - Visual Studio 2017 +platform: + - Win32 + - Cygwin64 +matrix: + fast_finish: true + allow_failures: + - platform: Cygwin64 From 33c89fab46826209a2944932da70e2f594e19d1d Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 18:39:39 +0200 Subject: [PATCH 02/23] Forget about running the tests for now; let's just see how far we get in building on Cygwin; temporarily disabling Win32 for now while we get Cygwin up and running --- .github/appveyor.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index ecbdc1b83c1c64..cb9f7d0f7b0f16 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -29,16 +29,25 @@ before_build: build_script: - - cmd: PCbuild\build.bat -e -p x64 - - cmd: PCbuild\amd64\python.exe -m test.pythoninfo +- ps: | + if ($env:PLATFORM -eq "Win32") { + PCbuild\build.bat -e -p x64 + PCbuild\amd64\python.exe -m test.pythoninfo + } else if ($env:PLATFORM -eq "Cygwin64") { + C:\Cygwin64\bash.exe -l -c './configure && make -s -j4' + C:\Cygwin64\bash.exe -l -c './python.exe -m test.pythoninfo' + } test_script: - - cmd: PCbuild\rt.bat -x64 -q -uall -u-cpu -u-largefile -rwW --slowest --timeout=1200 --fail-env-changed -j0 +- ps: | + if ($env:PLATFORM -eq "Win32") { + PCbuild\rt.bat -x64 -q -uall -u-cpu -u-largefile -rwW --slowest --timeout=1200 --fail-env-changed -j0 + } environment: HOST_PYTHON: C:\Python36\python.exe image: - Visual Studio 2017 platform: - - Win32 +# - Win32 - Cygwin64 matrix: fast_finish: true From 922e340298546755c3f346fc09a255e186e9deb1 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 18:42:19 +0200 Subject: [PATCH 03/23] It's elseif --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index cb9f7d0f7b0f16..acd414d2ed0afd 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -33,7 +33,7 @@ build_script: if ($env:PLATFORM -eq "Win32") { PCbuild\build.bat -e -p x64 PCbuild\amd64\python.exe -m test.pythoninfo - } else if ($env:PLATFORM -eq "Cygwin64") { + } elseif ($env:PLATFORM -eq "Cygwin64") { C:\Cygwin64\bash.exe -l -c './configure && make -s -j4' C:\Cygwin64\bash.exe -l -c './python.exe -m test.pythoninfo' } From f76a5604a3bb08273b306662dd8f917647ae1dcb Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 18:43:41 +0200 Subject: [PATCH 04/23] Should be bin\bash --- .github/appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index acd414d2ed0afd..10985430a0b65b 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -34,8 +34,8 @@ build_script: PCbuild\build.bat -e -p x64 PCbuild\amd64\python.exe -m test.pythoninfo } elseif ($env:PLATFORM -eq "Cygwin64") { - C:\Cygwin64\bash.exe -l -c './configure && make -s -j4' - C:\Cygwin64\bash.exe -l -c './python.exe -m test.pythoninfo' + C:\Cygwin64\bin\bash.exe -l -c './configure && make -s -j4' + C:\Cygwin64\bin\bash.exe -l -c './python.exe -m test.pythoninfo' } test_script: - ps: | From adf8640cee03e4a0545e5c1d23a63335ee2c1d4a Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 19:12:44 +0200 Subject: [PATCH 05/23] Little helper function to run Cygwin programs in the right directory/environment --- .github/appveyor.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 10985430a0b65b..a00e99c17c7b02 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -30,12 +30,17 @@ before_build: build_script: - ps: | + function Cygwin { + $cmd = "C:\\cygwin64\\bin\\bash.exe -lc ` + 'cd $env:APPVEYOR_BUILD_FOLDER; $($args -join " ")'" + Invoke-Expression $cmd + } if ($env:PLATFORM -eq "Win32") { PCbuild\build.bat -e -p x64 PCbuild\amd64\python.exe -m test.pythoninfo } elseif ($env:PLATFORM -eq "Cygwin64") { - C:\Cygwin64\bin\bash.exe -l -c './configure && make -s -j4' - C:\Cygwin64\bin\bash.exe -l -c './python.exe -m test.pythoninfo' + Cygwin ./configure "&&" make -s -j4 + Cygwin ./python.exe -m test.pythoninfo } test_script: - ps: | From 33114d390112fe98860f1b906ae4baa70f5ebaac Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 19:17:48 +0200 Subject: [PATCH 06/23] It didn't like my long string continuation; I think this is the right syntax --- .github/appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index a00e99c17c7b02..16215011868fb4 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -31,8 +31,8 @@ before_build: build_script: - ps: | function Cygwin { - $cmd = "C:\\cygwin64\\bin\\bash.exe -lc ` - 'cd $env:APPVEYOR_BUILD_FOLDER; $($args -join " ")'" + $cmd = ("C:\\cygwin64\\bin\\bash.exe -lc " +` + "'cd $env:APPVEYOR_BUILD_FOLDER; $($args -join " ")'") Invoke-Expression $cmd } if ($env:PLATFORM -eq "Win32") { From 72c0a9606b0401b20865adcc4eaab0394dbd5ebf Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 19:26:50 +0200 Subject: [PATCH 07/23] I've had this problem before--sometimes it's necessary to explicitly convert the path to a Cygwin path --- .github/appveyor.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 16215011868fb4..3e37d5d17b44f9 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -31,9 +31,14 @@ before_build: build_script: - ps: | function Cygwin { + $cygbin = "C:\\cygwin64\\bin" + $project_path = & "$cygbin\\cygpath" -u -a $env:APPVEYOR_BUILD_FOLDER $cmd = ("C:\\cygwin64\\bin\\bash.exe -lc " +` - "'cd $env:APPVEYOR_BUILD_FOLDER; $($args -join " ")'") + "'cd $project_path; $($args -join " ")'") Invoke-Expression $cmd + if ($LastExitCode -ne 0) { + $host.SetShouldExit($LastExitCode) + } } if ($env:PLATFORM -eq "Win32") { PCbuild\build.bat -e -p x64 From 85143a10f647ec3b694176e820c51a4d7f079c1a Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 19:37:45 +0200 Subject: [PATCH 08/23] Invoke 'configure' and 'make' separately; disable the -s flag on make for now while I debug --- .github/appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 3e37d5d17b44f9..36df3f1f5d34e6 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -44,7 +44,8 @@ build_script: PCbuild\build.bat -e -p x64 PCbuild\amd64\python.exe -m test.pythoninfo } elseif ($env:PLATFORM -eq "Cygwin64") { - Cygwin ./configure "&&" make -s -j4 + Cygwin ./configure + Cygwin make -j4 Cygwin ./python.exe -m test.pythoninfo } test_script: From c6f31d710bf7e67000d2a4559d521f8a71fe2ad0 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 19:45:26 +0200 Subject: [PATCH 09/23] At least for debugging purposes, might be helpful to have cygcheck output --- .github/appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 36df3f1f5d34e6..a7a4219a384c61 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -44,6 +44,7 @@ build_script: PCbuild\build.bat -e -p x64 PCbuild\amd64\python.exe -m test.pythoninfo } elseif ($env:PLATFORM -eq "Cygwin64") { + Cygwin cygcheck -s Cygwin ./configure Cygwin make -j4 Cygwin ./python.exe -m test.pythoninfo From ddf04a432273de6e18c0f5bd4aafa3fb96908508 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 19:59:24 +0200 Subject: [PATCH 10/23] Try using apt-cyg to add some additional build dependencies --- .github/appveyor.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index a7a4219a384c61..948a1f3e049d9f 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -45,6 +45,9 @@ build_script: PCbuild\amd64\python.exe -m test.pythoninfo } elseif ($env:PLATFORM -eq "Cygwin64") { Cygwin cygcheck -s + Cygwin curl rawgit.com/transcode-open/apt-cyg/master/apt-cyg + Cygwin chmod +x apt-cyg + Cygwin ./apt-cyg install libcrypt-devel libffi-devel Cygwin ./configure Cygwin make -j4 Cygwin ./python.exe -m test.pythoninfo From 8c26b64c2dfdd92f73ebc4f1611c62fc2efedbc2 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 20:02:12 +0200 Subject: [PATCH 11/23] curl got weird about redirected content; appveyor log got weird about curl's output --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 948a1f3e049d9f..bc98b27769edd1 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -45,7 +45,7 @@ build_script: PCbuild\amd64\python.exe -m test.pythoninfo } elseif ($env:PLATFORM -eq "Cygwin64") { Cygwin cygcheck -s - Cygwin curl rawgit.com/transcode-open/apt-cyg/master/apt-cyg + Cygwin curl -s https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg Cygwin chmod +x apt-cyg Cygwin ./apt-cyg install libcrypt-devel libffi-devel Cygwin ./configure From aa4057d0608810b899fa223ff64cb2d17653bfb5 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Fri, 27 Oct 2017 20:04:59 +0200 Subject: [PATCH 12/23] Output to a file, duh --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index bc98b27769edd1..d1a55deaa82570 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -45,7 +45,7 @@ build_script: PCbuild\amd64\python.exe -m test.pythoninfo } elseif ($env:PLATFORM -eq "Cygwin64") { Cygwin cygcheck -s - Cygwin curl -s https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg + Cygwin curl -s --output apt-cyg https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg Cygwin chmod +x apt-cyg Cygwin ./apt-cyg install libcrypt-devel libffi-devel Cygwin ./configure From a4a24cc5c49194e07683e18b3f62fe1417cfbd4c Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Mon, 30 Oct 2017 10:56:42 +0100 Subject: [PATCH 13/23] Move the Cygwin function into a little cygwin.ps1 library that can be sourced when needed in each build stage --- .github/appveyor.yml | 11 +---------- .github/cygwin.ps1 | 10 ++++++++++ 2 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 .github/cygwin.ps1 diff --git a/.github/appveyor.yml b/.github/appveyor.yml index d1a55deaa82570..f3067a7cc8d5b4 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -30,20 +30,11 @@ before_build: build_script: - ps: | - function Cygwin { - $cygbin = "C:\\cygwin64\\bin" - $project_path = & "$cygbin\\cygpath" -u -a $env:APPVEYOR_BUILD_FOLDER - $cmd = ("C:\\cygwin64\\bin\\bash.exe -lc " +` - "'cd $project_path; $($args -join " ")'") - Invoke-Expression $cmd - if ($LastExitCode -ne 0) { - $host.SetShouldExit($LastExitCode) - } - } if ($env:PLATFORM -eq "Win32") { PCbuild\build.bat -e -p x64 PCbuild\amd64\python.exe -m test.pythoninfo } elseif ($env:PLATFORM -eq "Cygwin64") { + . .github\cygwin.ps1 Cygwin cygcheck -s Cygwin curl -s --output apt-cyg https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg Cygwin chmod +x apt-cyg diff --git a/.github/cygwin.ps1 b/.github/cygwin.ps1 new file mode 100644 index 00000000000000..aecae628e76f89 --- /dev/null +++ b/.github/cygwin.ps1 @@ -0,0 +1,10 @@ +function Cygwin { + $cygbin = "C:\\cygwin64\\bin" + $project_path = & "$cygbin\\cygpath" -u -a $env:APPVEYOR_BUILD_FOLDER + $cmd = ("C:\\cygwin64\\bin\\bash.exe -lc " +` + "'cd $project_path; $($args -join " ")'") + Invoke-Expression $cmd + if ($LastExitCode -ne 0) { + $host.SetShouldExit($LastExitCode) + } +} From 58184394568ae78b8f189982c5fdf47a3c9211d3 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Mon, 30 Oct 2017 10:56:55 +0100 Subject: [PATCH 14/23] Enable tests on Cygwin --- .github/appveyor.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index f3067a7cc8d5b4..698f6350c2d7b2 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -47,6 +47,12 @@ test_script: - ps: | if ($env:PLATFORM -eq "Win32") { PCbuild\rt.bat -x64 -q -uall -u-cpu -u-largefile -rwW --slowest --timeout=1200 --fail-env-changed -j0 + } elseif ($env:PLATFORM -eq "Cygwin64") { + . .github\cygwin.ps1 + # For now, skip tests that are failing locally + # Later we will want to expand this to more closely resemble hwo the + # tests are run for Linux on Travis-CI + Cygwin ./python.exe -E -Wd -m test --timeout=1200 --fail-env-changed -j0 -x test_asyncio -x test_asyncore -x test_bufio -x test_c_locale_coercion -x test_concurrent_futures -x test_dbm_dumb -x test_distutils -x test_file -x test_file_eintr -x test_fileio -x test_grp -x test_httpservers -x test_import -x test_io -x test_largefile -x test_math -x test_memoryio -x test_mmap -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_main_handling -x test_multiprocessing_spawn -x test_pathlib -x test_posix -x test_pwd -x test_resource -x test_selectors -x test_shutil -x test_signal -x test_socket -x test_socketserver -x test_ssl -x test_stat -x test_subprocess -x test_support -x test_tarfile -x test_tempfile -x test_univnewlines -x test_urllib -x test_utf8_mode -x test_venv -x test_zipfile } environment: HOST_PYTHON: C:\Python36\python.exe From 3206d1d4f139cdf712f0da2652df480de2ed4bad Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Mon, 30 Oct 2017 10:58:36 +0100 Subject: [PATCH 15/23] Hush noisy stderr output from apt-cyg install --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 698f6350c2d7b2..d35e3d23e28c8a 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -38,7 +38,7 @@ build_script: Cygwin cygcheck -s Cygwin curl -s --output apt-cyg https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg Cygwin chmod +x apt-cyg - Cygwin ./apt-cyg install libcrypt-devel libffi-devel + Cygwin ./apt-cyg install libcrypt-devel libffi-devel "2>&1" Cygwin ./configure Cygwin make -j4 Cygwin ./python.exe -m test.pythoninfo From c1c4e6ccb7c0e3805e8fe0c3b33605393bfb7020 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Tue, 31 Oct 2017 14:01:44 +0100 Subject: [PATCH 16/23] Add verbose test results, at least for now, while I investigate test failures --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index d35e3d23e28c8a..7940e8ebcf91ae 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -52,7 +52,7 @@ test_script: # For now, skip tests that are failing locally # Later we will want to expand this to more closely resemble hwo the # tests are run for Linux on Travis-CI - Cygwin ./python.exe -E -Wd -m test --timeout=1200 --fail-env-changed -j0 -x test_asyncio -x test_asyncore -x test_bufio -x test_c_locale_coercion -x test_concurrent_futures -x test_dbm_dumb -x test_distutils -x test_file -x test_file_eintr -x test_fileio -x test_grp -x test_httpservers -x test_import -x test_io -x test_largefile -x test_math -x test_memoryio -x test_mmap -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_main_handling -x test_multiprocessing_spawn -x test_pathlib -x test_posix -x test_pwd -x test_resource -x test_selectors -x test_shutil -x test_signal -x test_socket -x test_socketserver -x test_ssl -x test_stat -x test_subprocess -x test_support -x test_tarfile -x test_tempfile -x test_univnewlines -x test_urllib -x test_utf8_mode -x test_venv -x test_zipfile + Cygwin ./python.exe -E -Wd -m test -v --timeout=1200 --fail-env-changed -j0 -x test_asyncio -x test_asyncore -x test_bufio -x test_c_locale_coercion -x test_concurrent_futures -x test_dbm_dumb -x test_distutils -x test_file -x test_file_eintr -x test_fileio -x test_grp -x test_httpservers -x test_import -x test_io -x test_largefile -x test_math -x test_memoryio -x test_mmap -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_main_handling -x test_multiprocessing_spawn -x test_pathlib -x test_posix -x test_pwd -x test_resource -x test_selectors -x test_shutil -x test_signal -x test_socket -x test_socketserver -x test_ssl -x test_stat -x test_subprocess -x test_support -x test_tarfile -x test_tempfile -x test_univnewlines -x test_urllib -x test_utf8_mode -x test_venv -x test_zipfile } environment: HOST_PYTHON: C:\Python36\python.exe From dc77d0c1319cb99513be9d312eb3e1ba325fe940 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Tue, 31 Oct 2017 16:29:47 +0100 Subject: [PATCH 17/23] This is a bit nicer--re-run only failed tests with verbose output --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 7940e8ebcf91ae..d8f433b5fcd53c 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -52,7 +52,7 @@ test_script: # For now, skip tests that are failing locally # Later we will want to expand this to more closely resemble hwo the # tests are run for Linux on Travis-CI - Cygwin ./python.exe -E -Wd -m test -v --timeout=1200 --fail-env-changed -j0 -x test_asyncio -x test_asyncore -x test_bufio -x test_c_locale_coercion -x test_concurrent_futures -x test_dbm_dumb -x test_distutils -x test_file -x test_file_eintr -x test_fileio -x test_grp -x test_httpservers -x test_import -x test_io -x test_largefile -x test_math -x test_memoryio -x test_mmap -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_main_handling -x test_multiprocessing_spawn -x test_pathlib -x test_posix -x test_pwd -x test_resource -x test_selectors -x test_shutil -x test_signal -x test_socket -x test_socketserver -x test_ssl -x test_stat -x test_subprocess -x test_support -x test_tarfile -x test_tempfile -x test_univnewlines -x test_urllib -x test_utf8_mode -x test_venv -x test_zipfile + Cygwin ./python.exe -E -Wd -m test -w --timeout=1200 --fail-env-changed -j0 -x test_asyncio -x test_asyncore -x test_bufio -x test_c_locale_coercion -x test_concurrent_futures -x test_dbm_dumb -x test_distutils -x test_file -x test_file_eintr -x test_fileio -x test_grp -x test_httpservers -x test_import -x test_io -x test_largefile -x test_math -x test_memoryio -x test_mmap -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_main_handling -x test_multiprocessing_spawn -x test_pathlib -x test_posix -x test_pwd -x test_resource -x test_selectors -x test_shutil -x test_signal -x test_socket -x test_socketserver -x test_ssl -x test_stat -x test_subprocess -x test_support -x test_tarfile -x test_tempfile -x test_univnewlines -x test_urllib -x test_utf8_mode -x test_venv -x test_zipfile } environment: HOST_PYTHON: C:\Python36\python.exe From dd7960caf304efc14eb6351ecb1cd14f57787045 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Wed, 8 Nov 2017 15:41:26 +0100 Subject: [PATCH 18/23] Add zlib-devel so that the zlib module can get built. --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index d8f433b5fcd53c..5050160707ca9b 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -38,7 +38,7 @@ build_script: Cygwin cygcheck -s Cygwin curl -s --output apt-cyg https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg Cygwin chmod +x apt-cyg - Cygwin ./apt-cyg install libcrypt-devel libffi-devel "2>&1" + Cygwin ./apt-cyg install libcrypt-devel libffi-devel zlib-devel "2>&1" Cygwin ./configure Cygwin make -j4 Cygwin ./python.exe -m test.pythoninfo From bd5477e65e00d83b15ef524cc8b38833fb968725 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Wed, 25 Jul 2018 15:54:01 +0200 Subject: [PATCH 19/23] skip a few more tests that didn't fail locally, but that are failing on appveyor: - test_argparse - test_ioctl - test_os - test_py_compile --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 5050160707ca9b..21b4f51bb9647f 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -52,7 +52,7 @@ test_script: # For now, skip tests that are failing locally # Later we will want to expand this to more closely resemble hwo the # tests are run for Linux on Travis-CI - Cygwin ./python.exe -E -Wd -m test -w --timeout=1200 --fail-env-changed -j0 -x test_asyncio -x test_asyncore -x test_bufio -x test_c_locale_coercion -x test_concurrent_futures -x test_dbm_dumb -x test_distutils -x test_file -x test_file_eintr -x test_fileio -x test_grp -x test_httpservers -x test_import -x test_io -x test_largefile -x test_math -x test_memoryio -x test_mmap -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_main_handling -x test_multiprocessing_spawn -x test_pathlib -x test_posix -x test_pwd -x test_resource -x test_selectors -x test_shutil -x test_signal -x test_socket -x test_socketserver -x test_ssl -x test_stat -x test_subprocess -x test_support -x test_tarfile -x test_tempfile -x test_univnewlines -x test_urllib -x test_utf8_mode -x test_venv -x test_zipfile + Cygwin ./python.exe -E -Wd -m test -w --timeout=1200 --fail-env-changed -j0 -x test_argparse -x test_asyncio -x test_asyncore -x test_bufio -x test_c_locale_coercion -x test_concurrent_futures -x test_dbm_dumb -x test_distutils -x test_file -x test_file_eintr -x test_fileio -x test_grp -x test_httpservers -x test_import -x test_io -x test_ioctl -x test_largefile -x test_math -x test_memoryio -x test_mmap -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_main_handling -x test_multiprocessing_spawn -x test_os -x test_pathlib -x test_posix -x test_pwd -x test_py_compile -x test_resource -x test_selectors -x test_shutil -x test_signal -x test_socket -x test_socketserver -x test_ssl -x test_stat -x test_subprocess -x test_support -x test_tarfile -x test_tempfile -x test_univnewlines -x test_urllib -x test_utf8_mode -x test_venv -x test_zipfile } environment: HOST_PYTHON: C:\Python36\python.exe From f3937bebcb7780413f9e05896ccd66f29a28fc84 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Wed, 25 Jul 2018 16:09:42 +0200 Subject: [PATCH 20/23] something mysteriously causing test_logging to hang when run on appveyor --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 21b4f51bb9647f..52175228fbebd4 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -52,7 +52,7 @@ test_script: # For now, skip tests that are failing locally # Later we will want to expand this to more closely resemble hwo the # tests are run for Linux on Travis-CI - Cygwin ./python.exe -E -Wd -m test -w --timeout=1200 --fail-env-changed -j0 -x test_argparse -x test_asyncio -x test_asyncore -x test_bufio -x test_c_locale_coercion -x test_concurrent_futures -x test_dbm_dumb -x test_distutils -x test_file -x test_file_eintr -x test_fileio -x test_grp -x test_httpservers -x test_import -x test_io -x test_ioctl -x test_largefile -x test_math -x test_memoryio -x test_mmap -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_main_handling -x test_multiprocessing_spawn -x test_os -x test_pathlib -x test_posix -x test_pwd -x test_py_compile -x test_resource -x test_selectors -x test_shutil -x test_signal -x test_socket -x test_socketserver -x test_ssl -x test_stat -x test_subprocess -x test_support -x test_tarfile -x test_tempfile -x test_univnewlines -x test_urllib -x test_utf8_mode -x test_venv -x test_zipfile + Cygwin ./python.exe -E -Wd -m test -w --timeout=1200 --fail-env-changed -j0 -x test_argparse -x test_asyncio -x test_asyncore -x test_bufio -x test_c_locale_coercion -x test_concurrent_futures -x test_dbm_dumb -x test_distutils -x test_file -x test_file_eintr -x test_fileio -x test_grp -x test_httpservers -x test_import -x test_io -x test_ioctl -x test_largefile -x test_logging -x test_math -x test_memoryio -x test_mmap -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_main_handling -x test_multiprocessing_spawn -x test_os -x test_pathlib -x test_posix -x test_pwd -x test_py_compile -x test_resource -x test_selectors -x test_shutil -x test_signal -x test_socket -x test_socketserver -x test_ssl -x test_stat -x test_subprocess -x test_support -x test_tarfile -x test_tempfile -x test_univnewlines -x test_urllib -x test_utf8_mode -x test_venv -x test_zipfile } environment: HOST_PYTHON: C:\Python36\python.exe From 084d1f17d520c368a8f4922a5dbf2ecb729d8c18 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Wed, 25 Jul 2018 16:29:17 +0200 Subject: [PATCH 21/23] re-enable the native Win32 build --- .github/appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 52175228fbebd4..c27fc421e246a8 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -59,7 +59,7 @@ environment: image: - Visual Studio 2017 platform: -# - Win32 + - Win32 - Cygwin64 matrix: fast_finish: true From 04e9c937282dc9a1eaffd6d0ece99f8fcd0132af Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Wed, 25 Jul 2018 16:55:45 +0200 Subject: [PATCH 22/23] if anything was written to stderr powershell will complain of an 'exception' even if the last command existed successfully this should work around that... --- .github/appveyor.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index c27fc421e246a8..4e08ecbe72adfc 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -47,6 +47,9 @@ test_script: - ps: | if ($env:PLATFORM -eq "Win32") { PCbuild\rt.bat -x64 -q -uall -u-cpu -u-largefile -rwW --slowest --timeout=1200 --fail-env-changed -j0 + if ($LastExitCode -ne 0) { + $host.SetShouldExit($LastExitCode) + } } elseif ($env:PLATFORM -eq "Cygwin64") { . .github\cygwin.ps1 # For now, skip tests that are failing locally From 2c54a5f41b1e77b92492947795e8b659bde43581 Mon Sep 17 00:00:00 2001 From: "Erik M. Bray" Date: Wed, 25 Jul 2018 17:15:29 +0200 Subject: [PATCH 23/23] I think this might have been backwards actually --- .github/appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/appveyor.yml b/.github/appveyor.yml index 4e08ecbe72adfc..42d25082076603 100644 --- a/.github/appveyor.yml +++ b/.github/appveyor.yml @@ -47,8 +47,8 @@ test_script: - ps: | if ($env:PLATFORM -eq "Win32") { PCbuild\rt.bat -x64 -q -uall -u-cpu -u-largefile -rwW --slowest --timeout=1200 --fail-env-changed -j0 - if ($LastExitCode -ne 0) { - $host.SetShouldExit($LastExitCode) + if ($LastExitCode -eq 0) { + $host.SetShouldExit(0) } } elseif ($env:PLATFORM -eq "Cygwin64") { . .github\cygwin.ps1