Mercurial > hg
annotate tests/test-docker-packaging.t @ 27370:d9e3ebe56970 stable
record: don't dereference symlinks while copying over stat data
Previously, we could be calling os.utime or os.chflags (via shutil.copystat) on
a symlink. These functions dereference symlinks, so this would have caused the
timestamp of the target to be set. On a read-only or similarly weird
filesystem, this might cause an exception to be raised.
This is pretty hard to test because conjuring up a read-only filesystem for
test purposes is non-trivial.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Sat, 12 Dec 2015 10:58:05 -0800 |
parents | 7f49efcaa9b4 |
children | fc0f9714d077 |
rev | line source |
---|---|
26146
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
1 #require test-repo slow docker |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
2 |
26148
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
3 Ensure debuild doesn't run the testsuite, as that could get silly. |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
4 $ DEB_BUILD_OPTIONS=nocheck |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
5 $ export DEB_BUILD_OPTIONS |
26146
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
6 $ OUTPUTDIR=`pwd` |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
7 $ export OUTPUTDIR |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
8 |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
9 $ cd "$TESTDIR"/.. |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
10 $ make docker-debian-jessie > $OUTPUTDIR/build.log 2>&1 |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
11 $ cd $OUTPUTDIR |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
12 $ ls *.deb |
26148
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
13 mercurial-common_*.deb (glob) |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
14 mercurial_*.deb (glob) |
26146
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
15 |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
16 We check debian package contents with portable tools so that when |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
17 we're on non-debian machines we can still test the packages that are |
8c91726caeae
test-docker-packaging: test packages built using docker
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
18 built using docker. |
26148
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
19 |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
20 main deb should have .so but no .py |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
21 $ ar x mercurial_*.deb |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
22 $ tar tf data.tar* | egrep '(localrepo|parsers)' |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
23 ./usr/lib/python2.7/dist-packages/mercurial/parsers*.so (glob) |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
24 mercurial-common should have .py but no .so or .pyc |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
25 $ ar x mercurial-common_*.deb |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
26 $ tar tf data.tar* | egrep '(localrepo|parsers)' |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26146
diff
changeset
|
27 ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py |