sapling/tests
Durham Goode 51ae957ffc treemanifest: add simple test for tree repack
Summary:
This adds a simple test that verifies hg repack will pack two tree manifest
packs into one.

It caught a bug where creating a treemanifest for a commit with a null parent
produced incorrect output because it constructed an empty tree and tried to use
it's node as the parent of the delta, when there should not have been any delta
in the first place. This is fixed by this diff as well.

Test Plan: Ran the new test

Reviewers: #mercurial, dsyang, rmcelroy

Reviewed By: rmcelroy

Subscribers: rmcelroy, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D4261591

Signature: t1:4261591:1480705822:ef21fb8cebd8b89f92f58f11bb1dab59bf97664d
2016-12-02 14:37:55 -08:00
..
blacklist-sqldirstate sqldirstate: call the registered callbacks on wd parent change 2016-08-15 03:46:52 -07:00
check-code.py checkcode: add check code test 2016-04-28 10:18:47 -07:00
check-foreignext.py check-code: enfore checking before using common foreign extensions 2016-07-12 20:39:34 +01:00
conduithttp.py testing: adjust for new home for cmdutil.service 2016-11-29 07:51:16 -08:00
dummyext1.py cleanup: make all the code compliant with the i18n rules for ui strings 2016-01-11 10:19:22 -08:00
dummyext2.py cleanup: make all the code compliant with the i18n rules for ui strings 2016-01-11 10:19:22 -08:00
dummyssh test: backout e221a52 (remove run-tests.py once again) 2015-12-16 16:42:17 +00:00
get-with-headers.py remotefilelog: pass modern check-code 2016-08-26 08:48:07 -07:00
getflogheads.py flogheads: add a test 2016-08-02 10:42:00 -07:00
heredoctest.py checkcode: fix tests 2016-04-26 13:00:31 -07:00
histedit-helpers.sh fb-histedit: Add a histedit extension that adds stop 2014-10-09 10:54:43 -07:00
killdaemons.py checkcode: fix tests 2016-04-26 13:00:31 -07:00
library-infinitepush.sh infinitepush: backup local heads and bookmarks 2016-12-01 08:44:57 -08:00
library.sh tests.t: clean up the shell code a bit 2016-12-01 02:06:57 +00:00
perftest.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
README fastannotate: support remotefilelog 2016-11-03 20:55:16 +00:00
require-core-hg.sh test-check: backport test-check-commit from core hg 2016-10-18 17:07:43 +01:00
require-ext.sh hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
run-sqlitedirstate-test.py sqldirstate: the extension 2016-05-06 16:56:45 -07:00
silenttestrunner.py store: add unit tests for datapack classes 2016-04-28 15:00:34 -07:00
test-absorb-edit-lines.t absorb: add an interface to edit lines for all involved revisions 2016-09-09 14:06:16 +01:00
test-absorb-filefixupstate.py absorb: fix test-check issues 2016-10-20 14:59:20 +01:00
test-absorb-rename.t absorb: improve rename handling 2016-09-28 23:56:43 +01:00
test-absorb.t absorb: fix an issue where changesets do not get deleted correctly 2016-11-01 21:16:13 +00:00
test-allowunstable.t allowunstable: add allowunstable extension 2016-11-28 10:43:34 -08:00
test-arcconfig.t add arcconfig accessors 2016-04-27 09:27:56 -07:00
test-backup.t tests_: fix failures related to recent renames 2016-09-22 07:44:34 -07:00
test-catnotate.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-check-code-hg.t check: update check code override 2016-11-16 13:51:48 -08:00
test-check-commit-hg.t test-check: backport test-check-commit from core hg 2016-10-18 17:07:43 +01:00
test-check-config-hg.t tweakdefaults: fix check config test 2016-11-30 20:58:08 +00:00
test-check-execute-hg.t test-check: backport test-check-execute from core hg 2016-10-18 17:58:45 +01:00
test-check-pyflakes-hg.t pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
test-check-shbang-hg.t test-check: backport test-check-shbang from core hg 2016-10-18 22:28:50 +01:00
test-commitextras.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-ctreemanifest.py treemanifest: write deltas for trees 2016-11-29 15:37:58 -08:00
test-debugcommitmessage.t extension to print commit message that would be supplied to editor 2016-10-03 04:39:51 -07:00
test-dialect-show.t dialect: new extension to "translate" messages to a dialect 2016-09-21 15:04:42 +01:00
test-diff-since-last-arc-diff.t tests_: fix failures related to recent renames 2016-09-22 07:44:34 -07:00
test-dirsync.t Catch up with upstream changes so that our tests pass 2016-10-21 08:58:52 -07:00
test-errorredirect.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-extorder.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-fastannotate-corrupt.t tests.t: clean up the shell code a bit 2016-12-01 02:06:57 +00:00
test-fastannotate-diffopts.t tests.t: clean up the shell code a bit 2016-12-01 02:06:57 +00:00
test-fastannotate-hg.t tests.t: clean up the shell code a bit 2016-12-01 02:06:57 +00:00
test-fastannotate-perfhack.t tests.t: clean up the shell code a bit 2016-12-01 02:06:57 +00:00
test-fastannotate-protocol.t tests.t: clean up the shell code a bit 2016-12-01 02:06:57 +00:00
test-fastannotate-remotefilelog.t fastannotate: conditionally disable remotefilelog annotate prefetching 2016-12-01 02:12:53 +00:00
test-fastannotate-renames.t tests.t: clean up the shell code a bit 2016-12-01 02:06:57 +00:00
test-fastannotate-revmap.py fastannotate: add a method to quickly get the last node of the revmap 2016-10-29 19:19:18 +01:00
test-fastannotate.t tests.t: clean up the shell code a bit 2016-12-01 02:06:57 +00:00
test-fastlog.t [fastlog-hg] More extensive fastlog test 2016-08-22 14:42:39 -07:00
test-fastmanifest-access.t [fastmanifest] split test-fastmanifest.t into multiple files 2016-06-03 17:03:55 -07:00
test-fastmanifest-blackbox.t [fastmanifest] prune the cache only when the revset is empty 2016-07-26 23:35:24 -07:00
test-fastmanifest-concurrency.t [fastmanifest] test to verify the behavior of the background cache worker 2016-06-24 16:17:40 -07:00
test-fastmanifest-permission.t fastmanifest: don't stop when we cannot get the lock 2016-06-13 15:26:55 -07:00
test-fastmanifest-pruning.t [fastmanifest] test to verify that a full cache can accept new data 2016-07-11 17:33:49 -07:00
test-fastmanifest-readfast.t fastmanifest: add the missing readfast method 2016-10-01 01:34:50 +01:00
test-fastmanifest-remotenames.t check-code: enfore checking before using common foreign extensions 2016-07-12 20:39:34 +01:00
test-fastmanifest-writepath.t [fastmanifest] fix incorrect table label 2016-06-24 16:13:39 -07:00
test-fastmanifest.py fastmanifest: fix broken assert 2016-08-24 11:31:06 -07:00
test-fastmanifest.t fastmanifest: implement readdelta for hybridmanifestctx 2016-09-30 02:09:43 +01:00
test-fbamend-next.t fbamend: add new implementations of hg previous and hg next 2016-11-15 18:46:56 -08:00
test-fbamend-nextrebase.t fbamend: add new implementations of hg previous and hg next 2016-11-15 18:46:56 -08:00
test-fbamend-previous.t fbamend: add new implementations of hg previous and hg next 2016-11-15 18:46:56 -08:00
test-fbamend-restack.t fbamend: make restack start from bottom of the stack 2016-11-10 11:25:19 -08:00
test-fbamend-userestack.t fbamend: add config option to use restack instead of preamend bookmark 2016-10-25 11:10:47 -07:00
test-fbamend.t Catch up with upstream changes so that our tests pass 2016-10-21 08:58:52 -07:00
test-fbconduit.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-fbhistedit-exec-obsolete.t tests_: make sure loading sqldirstate does not break fbhistedit 2016-10-20 12:03:43 -07:00
test-fbhistedit-exec.t integration tests for sqldirstate/fbhistedit and "hg amend" test for latter 2016-10-21 06:01:59 -07:00
test-fbhistedit-rebase-interactive.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-fbhistedit-stop-obsolete.t doc: replace "commit" where it is used as a noun with "changeset" 2016-09-21 15:45:25 +01:00
test-fbhistedit-stop.t doc: replace "commit" where it is used as a noun with "changeset" 2016-09-21 15:45:25 +01:00
test-git-getmeta.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-githelp.t hgext: githelp support for commit -C 2016-12-02 10:41:54 +00:00
test-grepdiff.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-grpcheck.t grpcheck: new extension to check if the user is in given groups 2016-09-20 23:15:09 +01:00
test-infinitepush-backup-remotenames.t infinitepush: set push defaults in debugbackup 2016-11-30 02:11:28 -08:00
test-infinitepush-backup-sql.t infinitepush: backup local heads and bookmarks 2016-12-01 08:44:57 -08:00
test-infinitepush-backup.t infinitepush: backup local heads and bookmarks 2016-12-01 08:44:57 -08:00
test-infinitepush-bundlestore.t infinitepush: support bundle with many heads 2016-11-21 00:48:09 -08:00
test-infinitepush-remotefilelog.t tweakdefaults: fix check config test 2016-11-30 20:58:08 +00:00
test-infinitepush-remotenames.t tweakdefaults: fix check config test 2016-11-30 20:58:08 +00:00
test-infinitepush-sql.t infinitepush: backup local heads and bookmarks 2016-12-01 08:44:57 -08:00
test-inhibitwarn.t check-code: enfore checking before using common foreign extensions 2016-07-12 20:39:34 +01:00
test-linelog-random-edits.t [tests] add missing PYTHONPATH changes 2016-08-25 17:42:23 +01:00
test-linkrevcache-linkrevdb.py linkrevcache: implement the database 2016-11-14 18:03:15 +00:00
test-linkrevcache.t linkrevcache: wrap _adjustlinkrev to take advantage of the linkrev database 2016-11-14 18:04:29 +00:00
test-mergedriver.t Catch up with upstream changes so that our tests pass 2016-10-21 08:58:52 -07:00
test-morestatus.t doc: replace "commit" where it is used as a noun with "changeset" 2016-09-21 15:45:25 +01:00
test-nointerrupt.t test-nointerrupt.t: using OSX equivalent of timeout 2016-10-18 11:20:09 +01:00
test-ownercheck.t ownercheck: new extension to prevent operations on repos not owned 2016-07-26 13:10:15 +01:00
test-patchpython.py patchpython: fix test-check tests 2016-10-20 16:03:31 +01:00
test-perftweaks.t test-perftweaks.t: make OS X compatible 2016-10-25 09:03:15 -07:00
test-phabdiff.t phabdiff: don't require a space when parsing the Tasks field 2016-11-15 12:28:21 -08:00
test-phabstatus.t Add sync status and change the conduit call to differential.querydiffhashes 2016-08-05 11:33:36 -07:00
test-profiling.t Log interactive time, internal command timing to scuba 2016-09-30 12:32:21 -07:00
test-pull-createmarkers-hide-later.t tests_: fix failures related to recent renames 2016-09-22 07:44:34 -07:00
test-pull-createmarkers.t tests_: fix failures related to recent renames 2016-09-22 07:44:34 -07:00
test-pushrebase-protection.t doc: replace "commit" where it is used as a noun with "changeset" 2016-09-21 15:45:25 +01:00
test-pushrebase-remotenames.t test-pushrebase-remotenames: add necessary spaces to fix the test 2016-09-26 19:55:06 +01:00
test-pushrebase.t doc: replace "commit" where it is used as a noun with "changeset" 2016-09-21 15:45:25 +01:00
test-pushvars-remotenames.t check-code: enfore checking before using common foreign extensions 2016-07-12 20:39:34 +01:00
test-pushvars.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-rage.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-remotefilelog-bad-configs.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-blame.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-bundle2-legacy.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-bundle2.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-bundles.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-cacheprocess.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-clone-tree.t remotefilelog: make test less flaky 2016-10-31 13:39:17 -07:00
test-remotefilelog-clone.t tests: check that local commit data gets transferred 2016-08-29 16:19:52 -07:00
test-remotefilelog-corrupt-cache.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-datapack.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
test-remotefilelog-gc.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-histpack.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
test-remotefilelog-http.t treemanifests: include dirlogs in streaming cloning 2016-08-29 16:19:52 -07:00
test-remotefilelog-linknodes.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-local.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-log.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-partial-shallow.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-permissions.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-prefetch.t remotefilelog: check file existence in _revertprefetch 2016-11-07 18:30:10 +00:00
test-remotefilelog-pull-noshallow.t remotefilelog: fix getchangegroup signature 2016-10-31 13:40:33 -07:00
test-remotefilelog-push-pull.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-repack-fast.t tweakdefaults: fix check config test 2016-11-30 20:58:08 +00:00
test-remotefilelog-repack.t tweakdefaults: fix check config test 2016-11-30 20:58:08 +00:00
test-remotefilelog-sparse.t remotefilelog: make remotefilelog sparse test more robust 2016-11-16 14:15:35 -08:00
test-remotefilelog-tags.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-remotefilelog-wireproto.t remotefilelog: rename tests/test-* to tests/test-remotefilelog-* 2016-08-26 06:11:27 -07:00
test-reset-remotenames.t check-code: enfore checking before using common foreign extensions 2016-07-12 20:39:34 +01:00
test-reset.t check-code: enfore checking before using common foreign extensions 2016-07-12 20:39:34 +01:00
test-sampling.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-scm-prompt-compat.t scm-prompt: add compatiblity layer 2016-07-22 16:31:51 -07:00
test-scm-prompt-git.t scm-prompt: add test for git behavior 2016-04-29 10:49:36 -07:00
test-scm-prompt-hg.t fix scm-prompt test 2016-08-26 11:59:49 -07:00
test-show.t Catch up with upstream changes so that our tests pass 2016-10-21 08:58:52 -07:00
test-simplecache.t Don't run the memcache test on Macs. 2016-10-24 11:49:54 -07:00
test-smartlog-inhibit.t smartlog: show inhibited obsolete nodes as x's 2016-10-25 17:22:22 -07:00
test-smartlog-remotenames.t doc: replace "commit" where it is used as a noun with "changeset" 2016-09-21 15:45:25 +01:00
test-smartlog-tweakdefaults.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-smartlog.t smartlog: remove unused edge when indentnonpublic is set 2016-09-17 02:22:36 +01:00
test-sparse-clone.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-sparse-extensions.t sparse: remove the failed attempt to change watchman config during test 2016-08-26 11:59:52 -07:00
test-sparse-merges.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-sparse-profiles.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-sparse.t testing: fix spacing for merge conflict markers 2016-11-29 07:23:32 -08:00
test-sqldirstate-fbhistedit.t integration tests for sqldirstate/fbhistedit and "hg amend" test for latter 2016-10-21 06:01:59 -07:00
test-sqldirstate-shelve.t testing: insert missing space 2016-11-29 09:15:29 -08:00
test-sqldirstate-upgrade.t tests: fix checkcode and simple test failures 2016-08-01 11:54:13 -07:00
test-sshaskpass.py sshaskpass: enable ssh to ask password if running with chg 2016-07-17 20:35:34 +01:00
test-sshaskpass.py.out sshaskpass: enable ssh to ask password if running with chg 2016-07-17 20:35:34 +01:00
test-syncstatus.t Add sync status and change the conduit call to differential.querydiffhashes 2016-08-05 11:33:36 -07:00
test-treemanifest-repack.t treemanifest: add simple test for tree repack 2016-12-02 14:37:55 -08:00
test-treemanifest.t hybridmanifest: don't reuse node in match results 2016-12-02 14:37:28 -08:00
test-tweakdefaults-blame.t tweakdefaults: do not use template for annotate if unnecessary (BC) 2016-11-29 11:18:00 +00:00
test-tweakdefaults-bookmarks.t test-tweakdefaults-bookmarks.t: fix typo 2016-08-15 18:45:19 +01:00
test-tweakdefaults-grep.t xargs on OS X does not return 123 2016-10-25 08:09:23 -07:00
test-tweakdefaults-histgrep.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-tweakdefaults-opawarecommands.t hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
test-tweakdefaults-ordering.t check-code: enfore checking before using common foreign extensions 2016-07-12 20:39:34 +01:00
test-tweakdefaults-remotenames.t check-code: enfore checking before using common foreign extensions 2016-07-12 20:39:34 +01:00
test-tweakdefaults.t xargs on OS X does not return 123 2016-10-25 08:09:23 -07:00
test-uncommit-bookmark.t Implement 'hg uncommit' 2016-08-17 13:43:25 -07:00
test-uncommit-merge.t Implement 'hg uncommit' 2016-08-17 13:43:25 -07:00
test-uncommit.t Implement 'hg uncommit' 2016-08-17 13:43:25 -07:00
treemanifest_correctness.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
waitforfile.py [fastmanifest] add the ability for waitforfile.py to wait for a file to materialize 2016-06-24 16:17:18 -07:00

How to run Facebook experimental extensions tests
=================================================

Running the tests
-----------------

To run the tests, `cd` into this directory (./tests/) and run the `run-tests.py`
script from the core Mercurial repository (tests directory too).

For example if you have a 'hg-crew' repository checked out next to this one,
use:

  ../../hg-crew/tests/run-tests.py

Obtaining the test runners
--------------------------

If you do not already have a copy of the Mercurial repository, you can obtains
one with:

  $ hg clone http://mercurial-scm.org/hg

Running against various Mercurial versions
------------------------------------------

By default, the test runners will run against the version of Mercurial in the
repository it lives in. you can run against other version of Mercurial using
the --with-hg=PATH flag. For example to run against the installed version of
Mercurial you can use --with-hg=`which hg`