tests/test-archive-symlinks
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 06 Oct 2007 14:14:11 -0300
changeset 5398 ecde0b7e0b3f
parent 5085 92d7ce0da063
permissions -rwxr-xr-x
osutil.c: use readdir instead of readdir64 Some systems (e.g. *BSD) don't have a readdir64 function - the regular readdir already uses 64-bit types. On other systems (Linux, Solaris, ...), if Python was compiled with large file support, Python.h will define _LARGEFILE_SOURCE and _FILE_OFFSET_BITS=64, so that any call to readdir will actually be a call to readdir64. If Python was not compiled with large file support, we probably don't want to define these macros to avoid ABI problems.

#!/bin/sh

"$TESTDIR/hghave" symlink || exit 80

origdir=`pwd`

cat >> readlink.py <<EOF
import os
import sys

for f in sys.argv[1:]:
    print f, '->', os.readlink(f)
EOF

hg init repo
cd repo
ln -s nothing dangling
hg ci -qAm 'add symlink'

hg archive -t files ../archive
hg archive -t tar -p tar ../archive.tar
hg archive -t zip -p zip ../archive.zip

echo '% files'
cd "$origdir"
cd archive
python ../readlink.py dangling

echo '% tar'
cd "$origdir"
tar xf archive.tar
cd tar
python ../readlink.py dangling

echo '% zip'
cd "$origdir"
unzip archive.zip > /dev/null
cd zip
python ../readlink.py dangling