Mailing List Archive

t/porting/authors.t fails in symlink directory
This is a bug report for perl from doughera@lafayette.edu,
generated with the help of perlbug 1.43 running under perl 5.38.0.


-----------------------------------------------------------------
<!--[Please describe your issue here]-->

**Description**
<!-- A clear and concise description of what the bug is. -->

If you use Configure -Dmksymlinks to copy from a git checkout, the test porting/authors
fails like this:

$ ./perl harness -v porting/authors.t
porting/authors.t ..
# Found source tree at /tmp/perl-git/., setting $ENV{GIT_DIR}
Failed to read '.mailmap': No such file or directory at Porting/updateAUTHORS.pm line 475.
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run

The .mailmap file is deliberately not included in MANIFEST, but the mksymlinks process
relies on MANIFEST to populate the build directory. The test should either be skipped or
be adjusted to use the git .mailmap in this situation.

This should *NOT* affect any release tarball.

**Steps to Reproduce**
<!-- A one-liner or script to reproduce the issue. -->

#!/bin/sh
# Assume a git checkout is in /tmp/perl-git
mkdir build
cd build
sh /tmp/perl-git/Configure -Dmksymlinks -des
make
make test
cd t
./perl harness -v porting/authors.t
exit

**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->

The test should either be skipped or be adjusted to use the git .mailmap in this situation.
My inital attempt to simply pass --mailmap_file $source_dir/.mailmap to
t/porting/authors.t resulted in failed test that wanted to add over 200 entries to
AUTHORS. I expect running Porting/updateAUTHORS.pl from a symlinked directory is more
subtle than that, and simply skipping the test is probably appropriate.


<!--[Please do not change anything below this line]-->
<!------------------------------------------------------------------- -->


---
**Flags**
- category=core
- severity=low
---
**Perl configuration**
```
Site configuration information for perl 5.38.0:

Configured by doughera at Sun Jun 11 21:57:16 EDT 2023.

Summary of my perl5 (revision 5 version 38 subversion 0) configuration:
Commit id: f867fa9b11d26b8ece608b25d3547d0a039a1857
Platform:
osname=darwin
osvers=22.5.0
archname=darwin-2level
uname='darwin xxx 22.5.0 darwin kernel version 22.5.0: mon apr 24 20:52:24 pdt 2023; root:xnu-8796.121.2~5release_arm64_t6000 arm64 '
config_args='-Dmksymlinks -des'
hint=recommended
useposix=true
d_sigaction=define
useithreads=undef
usemultiplicity=undef
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
Compiler:
cc='cc'
ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=13.4 -DNO_POSIX_2008_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include'
optimize='-O3'
cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=13.4 -DNO_POSIX_2008_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include'
ccversion=''
gccversion='Apple LLVM 14.0.0 (clang-1400.0.29.202)'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=8
longdblkind=0
ivtype='long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='cc'
ldflags =' -mmacosx-version-min=13.4 -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib'
libpth=/usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/14.0.0/lib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /opt/local/lib /usr/lib
libs=-lgdbm
perllibs=
libc=
so=dylib
useshrplib=false
libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=bundle
d_dlsymun=undef
ccdlflags=' '
cccdlflags=' '
lddlflags=' -mmacosx-version-min=13.4 -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib -fstack-protector-strong'

Locally applied patches:
RC0

---
@INC for perl 5.38.0:
lib
/tmp/perl-install/lib/site_perl/5.38.0/darwin-2level
/tmp/perl-install/lib/site_perl/5.38.0
/tmp/perl-install/lib/5.38.0/darwin-2level
/tmp/perl-install/lib/5.38.0

---
Environment for perl 5.38.0:
DYLD_LIBRARY_PATH (unset)
HOME=/Users/doughera
LANG=en_US.UTF-8
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/opt/local/sbin:/opt/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/puppetlabs/bin:/usr/local/munki:/Library/Apple/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
PERL_BADLANG (unset)
SHELL=/bin/zsh
```
Re: t/porting/authors.t fails in symlink directory [ In reply to ]
I think perlbug is in the process of being deprecated, and new issues are
requested to be submitted to GitHub at https://github.com/Perl/perl5/issues


14 iyn 2023, Ç. 11:17 tarixind? <doughera@lafayette.edu> yazd?:

>
> This is a bug report for perl from doughera@lafayette.edu,
> generated with the help of perlbug 1.43 running under perl 5.38.0.
>
>
> -----------------------------------------------------------------
> <!--[Please describe your issue here]-->
>
> **Description**
> <!-- A clear and concise description of what the bug is. -->
>
> If you use Configure -Dmksymlinks to copy from a git checkout, the test
> porting/authors
> fails like this:
>
> $ ./perl harness -v porting/authors.t
> porting/authors.t ..
> # Found source tree at /tmp/perl-git/., setting $ENV{GIT_DIR}
> Failed to read '.mailmap': No such file or directory at
> Porting/updateAUTHORS.pm line 475.
> Dubious, test returned 2 (wstat 512, 0x200)
> No subtests run
>
> The .mailmap file is deliberately not included in MANIFEST, but the
> mksymlinks process
> relies on MANIFEST to populate the build directory. The test should
> either be skipped or
> be adjusted to use the git .mailmap in this situation.
>
> This should *NOT* affect any release tarball.
>
> **Steps to Reproduce**
> <!-- A one-liner or script to reproduce the issue. -->
>
> #!/bin/sh
> # Assume a git checkout is in /tmp/perl-git
> mkdir build
> cd build
> sh /tmp/perl-git/Configure -Dmksymlinks -des
> make
> make test
> cd t
> ./perl harness -v porting/authors.t
> exit
>
> **Expected behavior**
> <!-- A clear and concise description of what you expected to happen. -->
>
> The test should either be skipped or be adjusted to use the git .mailmap
> in this situation.
> My inital attempt to simply pass --mailmap_file $source_dir/.mailmap to
> t/porting/authors.t resulted in failed test that wanted to add over 200
> entries to
> AUTHORS. I expect running Porting/updateAUTHORS.pl from a symlinked
> directory is more
> subtle than that, and simply skipping the test is probably appropriate.
>
>
> <!--[Please do not change anything below this line]-->
> <!------------------------------------------------------------------- -->
>
>
> ---
> **Flags**
> - category=core
> - severity=low
> ---
> **Perl configuration**
> ```
> Site configuration information for perl 5.38.0:
>
> Configured by doughera at Sun Jun 11 21:57:16 EDT 2023.
>
> Summary of my perl5 (revision 5 version 38 subversion 0) configuration:
> Commit id: f867fa9b11d26b8ece608b25d3547d0a039a1857
> Platform:
> osname=darwin
> osvers=22.5.0
> archname=darwin-2level
> uname='darwin xxx 22.5.0 darwin kernel version 22.5.0: mon apr 24
> 20:52:24 pdt 2023; root:xnu-8796.121.2~5release_arm64_t6000 arm64 '
> config_args='-Dmksymlinks -des'
> hint=recommended
> useposix=true
> d_sigaction=define
> useithreads=undef
> usemultiplicity=undef
> use64bitint=define
> use64bitall=define
> uselongdouble=undef
> usemymalloc=n
> default_inc_excludes_dot=define
> Compiler:
> cc='cc'
> ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=13.4
> -DNO_POSIX_2008_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong
> -I/usr/local/include -I/opt/local/include'
> optimize='-O3'
> cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=13.4
> -DNO_POSIX_2008_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong
> -I/usr/local/include -I/opt/local/include'
> ccversion=''
> gccversion='Apple LLVM 14.0.0 (clang-1400.0.29.202)'
> gccosandvers=''
> intsize=4
> longsize=8
> ptrsize=8
> doublesize=8
> byteorder=12345678
> doublekind=3
> d_longlong=define
> longlongsize=8
> d_longdbl=define
> longdblsize=8
> longdblkind=0
> ivtype='long'
> ivsize=8
> nvtype='double'
> nvsize=8
> Off_t='off_t'
> lseeksize=8
> alignbytes=8
> prototype=define
> Linker and Libraries:
> ld='cc'
> ldflags =' -mmacosx-version-min=13.4 -fstack-protector-strong
> -L/usr/local/lib -L/opt/local/lib'
> libpth=/usr/local/lib
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/14.0.0/lib
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib
> /opt/local/lib /usr/lib
> libs=-lgdbm
> perllibs=
> libc=
> so=dylib
> useshrplib=false
> libperl=libperl.a
> gnulibc_version=''
> Dynamic Linking:
> dlsrc=dl_dlopen.xs
> dlext=bundle
> d_dlsymun=undef
> ccdlflags=' '
> cccdlflags=' '
> lddlflags=' -mmacosx-version-min=13.4 -bundle -undefined
> dynamic_lookup -L/usr/local/lib -L/opt/local/lib -fstack-protector-strong'
>
> Locally applied patches:
> RC0
>
> ---
> @INC for perl 5.38.0:
> lib
> /tmp/perl-install/lib/site_perl/5.38.0/darwin-2level
> /tmp/perl-install/lib/site_perl/5.38.0
> /tmp/perl-install/lib/5.38.0/darwin-2level
> /tmp/perl-install/lib/5.38.0
>
> ---
> Environment for perl 5.38.0:
> DYLD_LIBRARY_PATH (unset)
> HOME=/Users/doughera
> LANG=en_US.UTF-8
> LANGUAGE (unset)
> LD_LIBRARY_PATH (unset)
> LOGDIR (unset)
>
> PATH=/opt/local/sbin:/opt/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/puppetlabs/bin:/usr/local/munki:/Library/Apple/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
> PERL_BADLANG (unset)
> SHELL=/bin/zsh
> ```
>