Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed test 186 - ENV store downgrades utf8 in setenv at op/magic.t line 75 (also test 187) #60

Open
shawnlaffan opened this issue Mar 5, 2023 · 5 comments
Labels
gcc13-related Probably related to changes between gcc8 and gcc13 perl5.36 perl5.38

Comments

@shawnlaffan
Copy link
Contributor

Raising a separate issue so as not to clutter #56

From #56 (comment)

These failures are appearing in the perl tests when running under GCC 10.

op/magic-27839.t ..................................................... ok
# Failed test 186 - ENV store downgrades utf8 in setenv at op/magic.t line 75
#      got 'foo=eh zero �\n'
# expected /(?^:^(?:foo=)?eh\ zero\ \<A0>$)/
# Failed test 187 - ENV store downgrades utf8 key in setenv at op/magic.t line 75
#      got 'eh zero �=widekey\r\neh zero �=widekey\n'
# expected /(?^:^(?:eh\ zero\ \<A0>=)?widekey$)/
op/magic.t ...........................................................
Failed 2/208 subtests
        (less 13 skipped subtests: 193 okay)
op/method.t .......................................................... ok

The only other case I can find is from 2013 and it was unresolved: https://www.nntp.perl.org/group/perl.perl5.porters/2013/05/msg201832.html

Possibly it is an artefact of running under docker. Or it is related to the compiler (I have not checked with GCC 11). Maybe it is a codepage setting somewhere?

@genio
Copy link
Member

genio commented Mar 12, 2023

Would you mind committing your 5.36 setup of spbuild to the repo so we can more accurately test exactly the same way as you are?

@shawnlaffan
Copy link
Contributor Author

The config files are on the wip_536 branch. I've just pushed the latest changes to skip tests for several CPAN packages.
https://github.com/StrawberryPerl/Perl-Dist-Strawberry/tree/wip_536

I have uploaded the extlibs to a dev release on https://github.com/StrawberryPerl/build-extlibs/releases/tag/dev_gcc10.3_20230313

I will update the config to point to those files but in the interim the contents of the extlibs_gcc10_20230313.tar file can be extracted to /z/extlibs/_out

The build itself is called using devel.utils/_build-5.36.bat from within the devel.utils dir. The leading underscore is just for faster autocomplete during development. The Perl-Dist-Strawberry Build.PL script needs to be run before calling the bat file the first time, for which I'm using a 5.32 portable distribution extracted to /z/sp532. The strawberry perl instance might be useful as part of the docker instance, and the batch file should be updated to run the build.PL script automatically.
https://github.com/StrawberryPerl/Perl-Dist-Strawberry/blob/wip_536/devel.utils/_build-5.36.bat

Also, if you have a link for how to set up github authentication on the docker instance then please point me to it. At the moment git hangs on push so I'm having to copy the repos to a local machine to push. I assume there is a credential manager command somewhere under powershell but the ones I have found seem to not work as git still hangs on push.
https://stackoverflow.com/questions/29103238/accessing-windows-credential-manager-from-powershell
https://github.com/echalone/PowerShell_Credential_Manager

@shawnlaffan
Copy link
Contributor Author

The builds also need the winlibs distro. I've uploaded that to https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/dev_20230311/winlibs_10.3.zip

It is the winlibs 10.3 GCC mingw64 distribution but without mingw being the top level dir so it matches the strawberry expectations, and with gmake.exe as a copy of wingw32-make.exe. (We do need to develop a trimmed down version).

@xenu
Copy link

xenu commented Mar 16, 2023

Also, if you have a link for how to set up github authentication on the docker instance then please point me to it.

No idea how to make the oauth authentication work inside docker, but I imagine putting an ssh key in %USERPROFILE%\.ssh should work.

@shawnlaffan
Copy link
Contributor Author

These tests pass when building on a local machine instead of under docker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gcc13-related Probably related to changes between gcc8 and gcc13 perl5.36 perl5.38
Projects
None yet
Development

No branches or pull requests

3 participants