# New Ticket Created by  A. Sinan Unur 
# Please include the string:  [perl #126881]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=126881 >


64-bit Windows 10.0.10586. 64-bit perl6 on MoarVM built using MS
Visual Studio 2013 tools. See below for more details.

I noticed[1] that several tests fail if the test script has Unix line
endings instead of Windows. These tests succeed if the test script is
converted using unix2dos.

This is problematic behavior. Tests should pass or fail independently
of the EOL convention used in the script file.

E.g. see test 20 in t\spec\S02-literals\heredocs.t:

   my $e = q:to<END>;

END
    is no-r($e), "\n", 'Heredoc one empty line';

This fails with:

# Failed test 'Heredoc one empty line'
# at t\spec\S02-literals\heredocs.t line 171
# expected: "\r\n"
#      got: "\n"

That is, when the script source uses Unix line endings, $e contains
"\n", but, because the test is being run on Windows, the comparison
string, "\n" becomes "\r\n". Converting the file with unix2dos fixes
the failures, but that is not a solution. "\n" should not be converted
to "\r\n" behind the scenes in a program. EOL conversion should only
happen at input-output boundaries.

What happens in this and other tests that fail depending on whether
the test script is saved using Unix or Windows line endings is
contrary to decades of convention of doing EOL translation only at
input-output boundaries.

For more exploration, see

[1]: https://www.nu42.com/2015/12/perl6-newline-translation-botched.html

moar::syslibs[6]=iphlpapi
moar::dcbrule=@:
moar::ar=lib
moar::mastdir=C:\opt\perl6\share\nqp\lib\MAST
moar::tomrule=$(AR) $(ARFLAGS) /out:$@ 3rdparty\libtommath\*.obj
moar::syslibs[2]=mswsock
moar::shaobjects=3rdparty\sha1\sha1.obj
moar::ccshared=
moar::be=0
moar::dynasmlua=.\3rdparty\dynasm\dynasm.lua
moar::ld=link
moar::mtlib=3rdparty\tinymt\tinymt.lib
moar::mtobjects=3rdparty\tinymt\tinymt64.obj
moar::noreturnspecifier=__declspec(noreturn)
moar::perl=c:\opt\perl\5.23.5\bin\perl.exe
moar::shaclean=$(RM) 3rdparty\sha1\sha1.lib 3rdparty\sha1\*.obj
moar::static_inline=static __inline
moar::ccdebugflags=/Zi
moar::auxclean=$(RM) moar.ilk moar.pdb moar.dll.lib moar.dll.exp vc100.pdb
moar::thirdpartylibs=3rdparty\dyncall\dyncall\libdyncall_s.lib
3rdparty\dyncall\dyncallback\libdyncallback_s.lib
3rdparty\dyncall\dynload\libdynload_s.lib 3rdparty\tinymt\tinymt.lib
3rdparty\sha1\sha1.lib 3rdparty\libtommath\tommath.lib
3rdparty\libuv\uv.lib
moar::config=--optimize --prefix=C:\opt\perl6 --make-install
moar::ccinc=/I
moar::ldout=/out:
moar::moarlib=moar.lib
moar::mtrule=$(AR) $(ARFLAGS) /out:$@ 3rdparty\tinymt\*.obj
moar::syslibs[0]=shell32
moar::dcrule=cd 3rdparty\dyncall && configure.bat /target-x64 &&
$(MAKE) -f Nmakefile
moar::dcbobjects=
moar::cflags=/nologo /MT /Ox /GL /DNDEBUG  /DWIN32 /DAO_ASSUME_WINDOWS98
moar::laolib=__lao__
moar::libdir=C:\opt\perl6\bin
moar::nul=NUL
moar::osvers=10.0
moar::dlrule=@:
moar::cat=type
moar::can_unaligned_int32=1
moar::ldimp=%s.dll.lib
moar::win32_compiler_toolchain=win32
moar::ccdef=/D
moar::lib=%s.lib
moar::tomclean=$(RM) 3rdparty\libtommath\tommath.lib 3rdparty\libtommath\*.obj
moar::dlllocal=
moar::dcbclean=$(RM) 3rdparty\dyncall\dyncallback\libdyncallback_s.lib
moar::noreturnattribute=
moar::ptr_size=8
moar::syslibs[5]=psapi
moar::dllimport=__declspec(dllimport)
moar::ccout=/Fo
moar::can_unaligned_num64=1
moar::has_pthread_yield=0
moar::ldrpath=
moar::ldusr=%s.lib
moar::mainflags=/DMVM_SHARED
moar::name=moar
moar::dll=%s.dll
moar::cincludes= /I3rdparty\libuv\include /I3rdparty\libuv\src
/I3rdparty\libatomic_ops\src /I3rdparty\libtommath /I3rdparty\dynasm
/I3rdparty\dyncall\dynload /I3rdparty\dyncall\dyncall
/I3rdparty\dyncall\dyncallback
moar::uvrule=$(AR) $(ARFLAGS) /out:$@ 3rdparty\libuv\src\*.obj
3rdparty\libuv\src\win\*.obj
moar::tomlib=3rdparty\libtommath\tommath.lib
moar::syslibs[3]=rpcrt4
moar::staticlib=
moar::dlclean=$(RM) 3rdparty\dyncall\dynload\libdynload_s.lib
moar::make=nmake
moar::ccinstflags=
moar::ldflags=/nologo /LTCG
moar::crossconf=
moar::obj=.obj
moar::dlobjects=
moar::defs[0]=WIN32
moar::cppout=/Fi
moar::ccoptiflags=/Ox /GL /DNDEBUG
moar::asmswitch=/c /FAs
moar::ldoptiflags=/LTCG
moar::mkflags=/nologo
moar::moar=moar.dll
moar::version=2015.11
moar::dcclean=$(RM) 3rdparty\dyncall\ConfigVars
3rdparty\dyncall\dyncall\libdyncall_s.lib
3rdparty\dyncall\dyncallback\libdyncallback_s.lib
3rdparty\dyncall\dynload\libdynload_s.lib
3rdparty\dyncall\dyncall\*.obj 3rdparty\dyncall\dyncallback\*.obj
3rdparty\dyncall\dynload\*.obj
moar::moarshared=/implib:moar.dll.lib
moar::sharule=$(AR) $(ARFLAGS) /out:$@ 3rdparty\sha1\*.obj
moar::ccwarnflags=
moar::jit=$(JIT_WIN32_X64)
moar::moardll=moar.dll
moar::asm=.asm
moar::mknoisy=!IF $(NOISY) != 1MSG = @echoCMD = @NOOUT = > NULNOERR =
2> NUL!ENDIF
moar::dclib=3rdparty\dyncall\dyncall\libdyncall_s.lib
moar::ccdefflags=/DWIN32 /DAO_ASSUME_WINDOWS98
moar::cc=cl
moar::exe=.exe
moar::lddir=/libpath:
moar::uvlib=3rdparty\libuv\uv.lib
moar::dllib=3rdparty\dyncall\dynload\libdynload_s.lib
moar::shaincludedir=3rdparty\sha1
moar::versionmajor=2015
moar::cppswitch=/P
moar::can_unaligned_int64=1
moar::lua=.\3rdparty\dynasm\minilua.exe
moar::dcobjects=
moar::cancgoto=0
moar::ldlibs=shell32.lib ws2_32.lib mswsock.lib rpcrt4.lib
advapi32.lib psapi.lib iphlpapi.lib
moar::mainlibs=/libpath:. moar.dll.lib
moar::nativecall_backend=dyncall
moar::objflags=/DMVM_BUILD_SHARED
moar::versionpatch=0
moar::laoclean=@:
moar::versionminor=11
moar::ccmiscflags=/nologo /MT
moar::install=    $(MKPATH) $(DESTDIR)$(PREFIX)\include\libuv    $(CP)
3rdparty\libuv\include\*.h $(DESTDIR)$(PREFIX)\include\libuv
$(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\armcc
   $(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\gcc
   $(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\hpc
   $(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\ibmc
   $(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\icc
   $(MKPATH) 
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\loadstore
   $(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\msftc
   $(MKPATH) $(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\sunc
   $(CP) 3rdparty\libatomic_ops\src\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops    $(CP)
3rdparty\libatomic_ops\src\atomic_ops\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops    $(CP)
3rdparty\libatomic_ops\src\atomic_ops\sysdeps\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps    $(CP)
3rdparty\libatomic_ops\src\atomic_ops\sysdeps\armcc\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\armcc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\gcc\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\gcc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\hpc\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\hpc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\ibmc\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\ibmc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\icc\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\icc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\loadstore\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\loadstore
   $(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\msftc\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\msftc
$(CP) 3rdparty\libatomic_ops\src\atomic_ops\sysdeps\sunc\*.h
$(DESTDIR)$(PREFIX)\include\libatomic_ops\atomic_ops\sysdeps\sunc
$(CP) 3rdparty\libtommath\*.h $(DESTDIR)$(PREFIX)\include\libtommath
 $(MKPATH) $(DESTDIR)$(PREFIX)\include\dyncall    $(CP)
3rdparty\dyncall\dynload\*.h $(DESTDIR)$(PREFIX)\include\dyncall
$(CP) 3rdparty\dyncall\dyncall\*.h $(DESTDIR)$(PREFIX)\include\dyncall
   $(CP) 3rdparty\dyncall\dyncallback\*.h
$(DESTDIR)$(PREFIX)\include\dyncall
moar::laoobjects=
moar::mtclean=$(RM) 3rdparty\tinymt\tinymt.lib 3rdparty\tinymt\*.obj
moar::rm=del
moar::uvclean=$(RM) 3rdparty\libuv\uv.lib 3rdparty\libuv\src\*.obj
3rdparty\libuv\src\win\*.obj
moar::sharedlib=moar.dll.lib
moar::dllexport=__declspec(dllexport)
moar::shalib=3rdparty\sha1\sha1.lib
moar::arout=/out:
moar::lddebugflags=/debug /pdb:$@.pdb
moar::osname=MSWin32
moar::prefix=C:\opt\perl6
moar::uvobjects=3rdparty\libuv\src\fs-poll.obj
3rdparty\libuv\src\inet.obj 3rdparty\libuv\src\threadpool.obj
3rdparty\libuv\src\uv-common.obj 3rdparty\libuv\src\version.obj
3rdparty\libuv\src\win\async.obj 3rdparty\libuv\src\win\core.obj
3rdparty\libuv\src\win\dl.obj 3rdparty\libuv\src\win\error.obj
3rdparty\libuv\src\win\fs-event.obj 3rdparty\libuv\src\win\fs.obj
3rdparty\libuv\src\win\getaddrinfo.obj
3rdparty\libuv\src\win\getnameinfo.obj
3rdparty\libuv\src\win\handle.obj
3rdparty\libuv\src\win\loop-watcher.obj
3rdparty\libuv\src\win\pipe.obj 3rdparty\libuv\src\win\poll.obj
3rdparty\libuv\src\win\process-stdio.obj
3rdparty\libuv\src\win\process.obj 3rdparty\libuv\src\win\req.obj
3rdparty\libuv\src\win\signal.obj 3rdparty\libuv\src\win\stream.obj
3rdparty\libuv\src\win\tcp.obj 3rdparty\libuv\src\win\thread.obj
3rdparty\libuv\src\win\timer.obj 3rdparty\libuv\src\win\tty.obj
3rdparty\libuv\src\win\udp.obj 3rdparty\libuv\src\win\util.obj
3rdparty\libuv\src\win\winapi.obj 3rdparty\libuv\src\win\winsock.obj
moar::dcblib=3rdparty\dyncall\dyncallback\libdyncallback_s.lib
moar::bindir=C:\opt\perl6\bin
moar::asmout=/Fa
moar::laorule=@:
moar::os=win32
moar::sh=cmd
moar::arflags=/nologo
moar::ldshared=/dll
moar::defs[1]=AO_ASSUME_WINDOWS98
moar::impinst=moar.dll.lib
moar::ldinstflags=/Profile
moar::ldmiscflags=/nologo
moar::ldsys=%s.lib
moar::platform=$(PLATFORM_WIN32)
moar::ccswitch=/c
moar::formatattribute=
moar::tomobjects=3rdparty\libtommath\bn_error.obj
3rdparty\libtommath\bn_fast_mp_invmod.obj
3rdparty\libtommath\bn_fast_mp_montgomery_reduce.obj
3rdparty\libtommath\bn_fast_s_mp_mul_digs.obj
3rdparty\libtommath\bn_fast_s_mp_mul_high_digs.obj
3rdparty\libtommath\bn_fast_s_mp_sqr.obj
3rdparty\libtommath\bn_mp_2expt.obj 3rdparty\libtommath\bn_mp_abs.obj
3rdparty\libtommath\bn_mp_add.obj 3rdparty\libtommath\bn_mp_add_d.obj
3rdparty\libtommath\bn_mp_addmod.obj 3rdparty\libtommath\bn_mp_and.obj
3rdparty\libtommath\bn_mp_clamp.obj
3rdparty\libtommath\bn_mp_clear.obj
3rdparty\libtommath\bn_mp_clear_multi.obj
3rdparty\libtommath\bn_mp_cmp.obj 3rdparty\libtommath\bn_mp_cmp_d.obj
3rdparty\libtommath\bn_mp_cmp_mag.obj
3rdparty\libtommath\bn_mp_cnt_lsb.obj
3rdparty\libtommath\bn_mp_copy.obj
3rdparty\libtommath\bn_mp_count_bits.obj
3rdparty\libtommath\bn_mp_div.obj 3rdparty\libtommath\bn_mp_div_2.obj
3rdparty\libtommath\bn_mp_div_2d.obj
3rdparty\libtommath\bn_mp_div_3.obj
3rdparty\libtommath\bn_mp_div_d.obj
3rdparty\libtommath\bn_mp_dr_is_modulus.obj
3rdparty\libtommath\bn_mp_dr_reduce.obj
3rdparty\libtommath\bn_mp_dr_setup.obj
3rdparty\libtommath\bn_mp_exch.obj
3rdparty\libtommath\bn_mp_expt_d.obj
3rdparty\libtommath\bn_mp_exptmod.obj
3rdparty\libtommath\bn_mp_exptmod_fast.obj
3rdparty\libtommath\bn_mp_exteuclid.obj
3rdparty\libtommath\bn_mp_fread.obj
3rdparty\libtommath\bn_mp_fwrite.obj 3rdparty\libtommath\bn_mp_gcd.obj
3rdparty\libtommath\bn_mp_get_int.obj
3rdparty\libtommath\bn_mp_get_long.obj
3rdparty\libtommath\bn_mp_grow.obj 3rdparty\libtommath\bn_mp_init.obj
3rdparty\libtommath\bn_mp_init_copy.obj
3rdparty\libtommath\bn_mp_init_multi.obj
3rdparty\libtommath\bn_mp_init_set.obj
3rdparty\libtommath\bn_mp_init_set_int.obj
3rdparty\libtommath\bn_mp_init_size.obj
3rdparty\libtommath\bn_mp_invmod.obj
3rdparty\libtommath\bn_mp_invmod_slow.obj
3rdparty\libtommath\bn_mp_is_square.obj
3rdparty\libtommath\bn_mp_jacobi.obj
3rdparty\libtommath\bn_mp_karatsuba_mul.obj
3rdparty\libtommath\bn_mp_karatsuba_sqr.obj
3rdparty\libtommath\bn_mp_lcm.obj 3rdparty\libtommath\bn_mp_lshd.obj
3rdparty\libtommath\bn_mp_mod.obj 3rdparty\libtommath\bn_mp_mod_2d.obj
3rdparty\libtommath\bn_mp_mod_d.obj
3rdparty\libtommath\bn_mp_montgomery_calc_normalization.obj
3rdparty\libtommath\bn_mp_montgomery_reduce.obj
3rdparty\libtommath\bn_mp_montgomery_setup.obj
3rdparty\libtommath\bn_mp_mul.obj 3rdparty\libtommath\bn_mp_mul_2.obj
3rdparty\libtommath\bn_mp_mul_2d.obj
3rdparty\libtommath\bn_mp_mul_d.obj
3rdparty\libtommath\bn_mp_mulmod.obj
3rdparty\libtommath\bn_mp_n_root.obj 3rdparty\libtommath\bn_mp_neg.obj
3rdparty\libtommath\bn_mp_or.obj
3rdparty\libtommath\bn_mp_prime_fermat.obj
3rdparty\libtommath\bn_mp_prime_is_divisible.obj
3rdparty\libtommath\bn_mp_prime_is_prime.obj
3rdparty\libtommath\bn_mp_prime_miller_rabin.obj
3rdparty\libtommath\bn_mp_prime_next_prime.obj
3rdparty\libtommath\bn_mp_prime_rabin_miller_trials.obj
3rdparty\libtommath\bn_mp_prime_random_ex.obj
3rdparty\libtommath\bn_mp_radix_size.obj
3rdparty\libtommath\bn_mp_radix_smap.obj
3rdparty\libtommath\bn_mp_rand.obj
3rdparty\libtommath\bn_mp_read_radix.obj
3rdparty\libtommath\bn_mp_read_signed_bin.obj
3rdparty\libtommath\bn_mp_read_unsigned_bin.obj
3rdparty\libtommath\bn_mp_reduce.obj
3rdparty\libtommath\bn_mp_reduce_2k.obj
3rdparty\libtommath\bn_mp_reduce_2k_l.obj
3rdparty\libtommath\bn_mp_reduce_2k_setup.obj
3rdparty\libtommath\bn_mp_reduce_2k_setup_l.obj
3rdparty\libtommath\bn_mp_reduce_is_2k.obj
3rdparty\libtommath\bn_mp_reduce_is_2k_l.obj
3rdparty\libtommath\bn_mp_reduce_setup.obj
3rdparty\libtommath\bn_mp_rshd.obj 3rdparty\libtommath\bn_mp_set.obj
3rdparty\libtommath\bn_mp_set_int.obj
3rdparty\libtommath\bn_mp_set_long.obj
3rdparty\libtommath\bn_mp_shrink.obj
3rdparty\libtommath\bn_mp_signed_bin_size.obj
3rdparty\libtommath\bn_mp_sqr.obj 3rdparty\libtommath\bn_mp_sqrmod.obj
3rdparty\libtommath\bn_mp_sqrt.obj 3rdparty\libtommath\bn_mp_sub.obj
3rdparty\libtommath\bn_mp_sub_d.obj
3rdparty\libtommath\bn_mp_submod.obj
3rdparty\libtommath\bn_mp_to_signed_bin.obj
3rdparty\libtommath\bn_mp_to_signed_bin_n.obj
3rdparty\libtommath\bn_mp_to_unsigned_bin.obj
3rdparty\libtommath\bn_mp_to_unsigned_bin_n.obj
3rdparty\libtommath\bn_mp_toom_mul.obj
3rdparty\libtommath\bn_mp_toom_sqr.obj
3rdparty\libtommath\bn_mp_toradix.obj
3rdparty\libtommath\bn_mp_toradix_n.obj
3rdparty\libtommath\bn_mp_unsigned_bin_size.obj
3rdparty\libtommath\bn_mp_xor.obj 3rdparty\libtommath\bn_mp_zero.obj
3rdparty\libtommath\bn_prime_tab.obj
3rdparty\libtommath\bn_reverse.obj 3rdparty\libtommath\bn_s_mp_add.obj
3rdparty\libtommath\bn_s_mp_exptmod.obj
3rdparty\libtommath\bn_s_mp_mul_digs.obj
3rdparty\libtommath\bn_s_mp_mul_high_digs.obj
3rdparty\libtommath\bn_s_mp_sqr.obj
3rdparty\libtommath\bn_s_mp_sub.obj 3rdparty\libtommath\bncore.obj
moar::syslibs[4]=advapi32
moar::syslibs[1]=ws2_32
perl6::name=rakudo
perl6::codename=
perl6::release-number=
perl6::build-date=2015-12-10T20:31:31Z
perl6::version=2015.11

Reply via email to