sapling/tests/test-basic.t
Stefan Filip 1d616cebe0 manifest: update test configs to enable rustmanifest by default
Summary:
Rust manifests are the future. Tests work well with them and we are looking
ahead at rolling them out. To protect against regressions on the Rust manifest
side we need to have an automated test story.

I think that the most effective thing we can do is to enable Rust Manifest for
all tests. The C++ codebase is not seeing any kind of modification and we plan
to delete as soon as Rust manifests roll out.

Reviewed By: xavierd

Differential Revision: D17728414

fbshipit-source-id: 59979d02e3cece83e73569a43d6fdbb7a29dc66d
2019-10-04 10:52:13 -07:00

108 lines
3.0 KiB
Perl

$ setconfig extensions.treemanifest=!
Create a repository:
$ hg config
commands.names=absorb|sf add addremove amend annotate|blame archive backfillmanifestrevlog backfilltree backout backupdelete backupdisable backupenable bisect blackbox bookmarks|bookmark bottom branch bundle cachemanifest cat cherry-pick chistedit clone cloud commit|ci config|showconfig|debugconfig copy|cp crecord diff export files fold|squash foo forget fs fsl fssl gc getavailablebackups githelp|git graft grep heads help hide|strip hint histedit histgrep identify|id import|patch incoming|in init isbackedup journal locate log|history manifest merge metaedit metaedit next odiff outgoing|out parents pasterage paths phase prefetch previous prune pull pullbackup purge|clean push pushbackup rage rebase record recover redo reflog remove|rm rename|move|mv repack reset resolve restack revert rollback root sb sba serve share shelve shortlog show sl smartlog|slog sparse split ssl stash status|st summary|sum svn tag tags tip top unamend unbundle uncommit undo unhide unshare unshelve update|up|checkout|co verify verifyremotefilelog version wgrep
devel.all-warnings=true
devel.default-date=0 0
extensions.fsmonitor= (fsmonitor !)
extensions.treemanifest=!
fsmonitor.detectrace=1 (fsmonitor !)
remotefilelog.reponame=reponame-default
remotefilelog.cachepath=$TESTTMP/default-hgcache
treemanifest.flatcompat=True
treemanifest.rustmanifest=True
ui.slash=True
ui.interactive=False
ui.mergemarkers=detailed
ui.promptecho=True
web.address=localhost
web\.ipv6=(?:True|False) (re)
$ hg init t
$ cd t
Prepare a changeset:
$ echo a > a
$ hg add a
$ hg status
A a
Writes to stdio succeed and fail appropriately
#if devfull
$ hg status 2>/dev/full
A a
$ hg status >/dev/full
abort: No space left on device
[255]
#endif
#if devfull no-chg
$ hg status >/dev/full 2>&1
[1]
$ hg status ENOENT 2>/dev/full
[1]
#endif
#if devfull chg
$ hg status >/dev/full 2>&1
[255]
$ hg status ENOENT 2>/dev/full
[255]
#endif
$ hg commit -m test
This command is ancient:
$ hg history
changeset: 0:acb14030fe0a
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: test
Verify that updating to revision 0 via commands.update() works properly
$ cat <<EOF > update_to_rev0.py
> from edenscm.mercurial import ui, hg, commands
> myui = ui.ui.load()
> repo = hg.repository(myui, path='.')
> commands.update(myui, repo, rev=0)
> EOF
$ hg up null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg debugpython -- ./update_to_rev0.py
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg identify -n
0
Poke around at hashes:
$ hg manifest --debug
b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a
$ hg cat a
a
Verify should succeed:
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
At the end...
$ cd ..