Mercurial > hg
view tests/test-narrow-sparse.t @ 49642:7e6f3c69c0fb
tests: update test-util.py for modern attrs package
When updating to 22.1.0, this test started failing:
Traceback (most recent call last):
File "/tmp/mercurial-ci/tests/test-util.py", line 53, in <module>
_start_default = (util.timedcmstats.start.default, 'factory')
AttributeError: type object 'timedcmstats' has no attribute 'start'
Poking around in `hg debugshell`, the attribute is indeed missing, but looks to
be attached to `__attrs_attrs__` in both the currently vendored and the modern
version of attrs. The old attrs packages will print the same for both accesses,
so fingers crossed...
>>> print((util.timedcmstats.start.default, 'factory'))
(Factory(factory=<function timedcmstats.<lambda> at 0x000001EFDF0F21F0>, takes_self=False), 'factory')
>>> print((util.timedcmstats.__attrs_attrs__.start.default, 'factory'))
(Factory(factory=<function timedcmstats.<lambda> at 0x000001EFDF0F21F0>, takes_self=False), 'factory')
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 21 Nov 2022 16:18:28 -0500 |
parents | 7ee07e1a25c0 |
children |
line wrap: on
line source
Testing interaction of sparse and narrow when both are enabled on the client side and we do a non-ellipsis clone #testcases tree flat $ . "$TESTDIR/narrow-library.sh" $ cat << EOF >> $HGRCPATH > [extensions] > sparse = > EOF #if tree $ cat << EOF >> $HGRCPATH > [experimental] > treemanifest = 1 > EOF #endif $ hg init master $ cd master $ mkdir inside $ echo 'inside' > inside/f $ hg add inside/f $ hg commit -m 'add inside' $ mkdir widest $ echo 'widest' > widest/f $ hg add widest/f $ hg commit -m 'add widest' $ mkdir outside $ echo 'outside' > outside/f $ hg add outside/f $ hg commit -m 'add outside' $ cd .. narrow clone the inside file $ hg clone --narrow ssh://user@dummy/master narrow --include inside/f requesting all changes adding changesets adding manifests adding file changes added 3 changesets with 1 changes to 1 files new changesets *:* (glob) updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd narrow $ hg tracked I path:inside/f $ hg files inside/f XXX: we should have a flag in `hg debugsparse` to list the sparse profile $ test -f .hg/sparse [1] $ hg debugrequires dotencode dirstate-v2 (dirstate-v2 !) fncache generaldelta narrowhg-experimental persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 share-safe sparserevlog store treemanifest (tree !) $ hg debugrebuilddirstate We only make the following assertions for the flat test case since in the treemanifest test case debugsparse fails with "path ends in directory separator: outside/" which seems like a bug unrelated to the regression this is testing for. #if flat widening with both sparse and narrow is possible $ cat >> .hg/hgrc <<EOF > [extensions] > sparse = > narrow = > EOF $ hg debugsparse -X outside/f -X widest/f $ hg tracked -q --addinclude outside/f $ find . -name .hg -prune -o -type f -print | sort ./inside/f $ hg debugsparse -d outside/f $ find . -name .hg -prune -o -type f -print | sort ./inside/f ./outside/f #endif