sapling/eden/mononoke/tests/integration
Kostia Balytskyi c8e3c27a65 megarepo: test invisible merge e2e
Reviewed By: StanislavGlebik

Differential Revision: D22924237

fbshipit-source-id: ba13d610c26c1b0be4f4afa75de93568359457c6
2020-08-04 12:21:13 -07:00
..
certs mononoke/backsyncer_cmd: make backsyncer_cmd public (#36) 2020-07-30 02:52:56 -07:00
commitsync megarepo: test invisible merge e2e 2020-08-04 12:21:13 -07:00
dummyssh.sh Manual synchronization of fbcode/eden and facebookexperimental/eden 2020-02-11 11:42:43 +01:00
integration_runner_real.py mononoke/integration tests: use C locale by default (#41) 2020-07-31 09:02:33 -07:00
library-push-redirector.sh commit_validator: validate according to recorded sync config version 2020-07-21 10:19:44 -07:00
library.sh library.sh: add absolute config paths everywhere 2020-08-03 13:00:23 -07:00
manifest_deps mononoke/mononoke_x_repo_sync_job: make mononoke_x_repo_sync_job and related public (#40) 2020-07-31 09:02:33 -07:00
nossh.sh mononoke: opsfiles: Port deny_from_corp.sh hook 2020-06-10 19:29:47 -07:00
pushrebase_replay.bundle mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
README.md a small tool to backfill git mappings 2020-03-04 06:08:43 -08:00
run_tests_getdeps.py mononoke/mononoke_x_repo_sync_job: make mononoke_x_repo_sync_job and related public (#40) 2020-07-31 09:02:33 -07:00
test-admin-crossrepo-config.t admin: add crossrepo config subcommand 2020-07-22 07:34:59 -07:00
test-admin-hg-sync-bundle-last-processed.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-admin-hg-sync-bundle-remains.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-admin-hg-sync-bundle-verify.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-admin-hg-sync-inspect.t mononoke/admin: add support for showing arbitrary bundles in hg sync 2020-04-27 07:24:41 -07:00
test-admin-hg-sync-show.t mononoke/admin: asyncify the hg_sync subcommand 2020-04-27 07:24:41 -07:00
test-alias-verify.t mononoke: update bulkops::fetch_all_public_changesets to return commits in order 2020-05-21 20:43:45 -07:00
test-allowed-users.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-backfill-derived-data.t mononoke: add --limit to backfill_derived_data 2020-07-23 13:33:16 -07:00
test-backfill-git-mapping.t a small tool to backfill git mappings 2020-03-04 06:08:43 -08:00
test-backsync-forever.t backsyncer_cmd: use LiveCommitSyncConfig 2020-06-26 13:40:31 -07:00
test-backsyncer-merges.t mononoke/integration tests: use C locale by default (#41) 2020-07-31 09:02:33 -07:00
test-benchmark-filestore.t mononoke/benchmark_filestore: make it work again 2020-03-30 07:32:20 -07:00
test-blobimport-bookmarks.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-blobimport-derived-data.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-blobimport-fix-parent-order.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-blobimport-git-mapping.t improve the check for conflicts during insert 2020-03-10 05:47:05 -07:00
test-blobimport-globalrev.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-blobimport-inline.t mononoke/integration tests: use C locale by default (#41) 2020-07-31 09:02:33 -07:00
test-blobimport-lfs.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-blobimport-megarepo.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-blobimport-no-create.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-blobimport-return-error.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-blobimport.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-blobstore_healer.t blobstore_healer: log the speed with which queue rows are deleted 2020-07-03 05:09:56 -07:00
test-bonsai-verify.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-bookmark-hg-kind.t mononoke/integration tests: sqlite - cast BLOB to TEXT before applying LIKE operation 2020-07-27 14:35:01 -07:00
test-bookmark-race.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-bookmarks-filler.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-bundle2-preservation.t mononoke/integration tests: use a combination of kill and wait to kill a process 2020-07-28 08:02:52 -07:00
test-cache-warmup-microwave.t mononoke/integration tests: use a combination of kill and wait to kill a process 2020-07-28 08:02:52 -07:00
test-cache-warmup.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-clienttelemetry.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-cmd-manual-scrub.t Sort test output in test-cmd-manual-scrub.t 2020-07-16 05:48:07 -07:00
test-commitcloud.t imrove authentication handling 2020-07-31 10:16:59 -07:00
test-copyrename.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-cross-repo-commit-sync-live.t x-repo sync job: use LiveCommitSyncConfig 2020-07-03 13:36:18 -07:00
test-cross-repo-commit-sync-merge.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-cross-repo-commit-sync.t mononoke/integration tests: use C locale by default (#41) 2020-07-31 09:02:33 -07:00
test-cross-repo-commit-validator.t commit_validator: validate according to recorded sync config version 2020-07-21 10:19:44 -07:00
test-db-filenodes.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-edenapi-server-complete-trees.t mononoke/integration tests: use C locale by default (#41) 2020-07-31 09:02:33 -07:00
test-edenapi-server-files.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-edenapi-server-history.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-edenapi-server-trees.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-edenapi-server.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-fastreplay-inline-args.t scuba: add log sequence numbers 2020-07-27 07:10:07 -07:00
test-fastreplay-remote-args.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-filenodes-disabled.t mononoke: add an integration test where filenodes are disabled 2020-06-10 19:29:29 -07:00
test-filenodes-push-merge.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-filenodes.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-getpackv1.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-getpackv2.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-gettreepack-designated-nodes.t test-gettreepack-designated-nodes: use modern configs 2020-06-29 13:00:06 -07:00
test-gettreepack-sparse-update.t test-gettreepack-sparse-update: use modern configs 2020-06-29 13:00:06 -07:00
test-gettreepack.t extensions: enable lz4revlog by default 2020-07-14 14:33:43 -07:00
test-gitimport-octopus.t mononoke/gitimport: improve concurrency 2020-05-04 07:18:02 -07:00
test-gitimport.t mononoke/gitimport: support read-only mode 2020-05-04 07:18:02 -07:00
test-hash-validation.t extensions: enable lz4revlog by default 2020-07-14 14:33:43 -07:00
test-hook-tailer.t mononoke/hook_tailer: support passing a list of changesets to tail 2020-04-17 04:52:28 -07:00
test-hooks.t Remove last vestiges of Lua hooks from tests 2020-06-29 10:03:22 -07:00
test-inconsistent-hash.t mononoke/integration tests: use C locale by default (#41) 2020-07-31 09:02:33 -07:00
test-infinitepush-bookmarks-disabled.t tests: fix broken test-infinitepush-bookmarks-disabled.t 2020-06-11 09:22:28 -07:00
test-infinitepush-commits-disabled.t test-infinitepush-commits-disabled: use modern configs 2020-06-29 13:00:06 -07:00
test-infinitepush-hydrated.t changegroup: do not print 'adding changeset X' with --debug 2020-07-30 20:32:35 -07:00
test-infinitepush-lfs.t tests: turn on narrow-heads for some tests 2020-06-29 13:00:06 -07:00
test-infinitepush-mutation.t test-infinitepush-mutation: use modern configs 2020-06-29 13:00:07 -07:00
test-infinitepush-namespace.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-infinitepush-phaseheads.t getbundle: compute full set of new draft commits 2020-04-15 11:00:33 -07:00
test-infinitepush-vs-push.t mononoke/integration tests: use a combination of kill and wait to kill a process 2020-07-28 08:02:52 -07:00
test-infinitepush.t test-infinitepush: use modern configs 2020-06-29 13:00:07 -07:00
test-init.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-large-path-and-content.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-lfs-copytracing.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-lfs-import.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-lfs-server-acl-check.t mononoke: lfs_server: Use enforce_acl_check as a killswitch for ACL enforcement 2020-07-28 04:57:01 -07:00
test-lfs-server-consistent-hashing.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-lfs-server-disabled-hostname-resolution.t mononoke: lfs_server: Use enforce_acl_check as a killswitch for ACL enforcement 2020-07-28 04:57:01 -07:00
test-lfs-server-error-formatting.t mononoke/lfs_server: add a test for error formatting 2020-05-05 05:44:52 -07:00
test-lfs-server-https.t tests: allow multiple curl error codes in test-lfs-server-https.t 2020-07-30 10:27:35 -07:00
test-lfs-server-identity-parsing-from-header.t mononoke: replace all remaining usages of aclchecker with permission_checker 2020-04-29 11:57:34 -07:00
test-lfs-server-identity-parsing-untrusted.t mononoke: replace all remaining usages of aclchecker with permission_checker 2020-04-29 11:57:34 -07:00
test-lfs-server-identity-parsing.t mononoke: replace all remaining usages of aclchecker with permission_checker 2020-04-29 11:57:34 -07:00
test-lfs-server-live-config.t mononoke: lfs_server: Use enforce_acl_check as a killswitch for ACL enforcement 2020-07-28 04:57:01 -07:00
test-lfs-server-max-upload-size.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-lfs-server-proxy-skip-upstream.t mononoke/integration tests: use a combination of kill and wait to kill a process 2020-07-28 08:02:52 -07:00
test-lfs-server-proxy-sync.t mononoke/lfs_server: support the client not having the data it wants to send us 2020-06-24 10:02:01 -07:00
test-lfs-server-proxy.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-lfs-server-rate-limiting.t mononoke: lfs_server: add optional client identities to ratelimit config 2020-03-03 09:33:03 -08:00
test-lfs-server-scuba-logging.t scuba: add log sequence numbers 2020-07-27 07:10:07 -07:00
test-lfs-server.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-lfs-to-mononoke.t remotefilelog: enable the rust stores by default 2020-06-23 18:47:44 -07:00
test-lfs-upload-alias-on-fetch.t remotefilelog: enable the rust stores by default 2020-06-23 18:47:44 -07:00
test-lfs-wantslfspointers.t remotefilelog: enable the rust stores by default 2020-06-23 18:47:44 -07:00
test-lfs.t remotefilelog: enable the rust stores by default 2020-06-23 18:47:44 -07:00
test-linknodes.t remotefilelog: enable the rust stores by default 2020-06-23 18:47:44 -07:00
test-listkeyspatterns.t changelog: use Rust RevlogIndex for partialmatch 2020-07-17 22:23:04 -07:00
test-lookup.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-megarepo-gradual-merge.t mononoke: megarepotool support for gradual merge 2020-08-04 02:53:15 -07:00
test-megarepo-tool.t megarepotool: add pre-merge-delete CLI 2020-08-03 11:32:35 -07:00
test-mononoke-admin.t mononoke/admin: add a filestore fetch subcommand 2020-07-06 14:56:08 -07:00
test-mononoke-hg-sync-job-generate-bundles-force.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-mononoke-hg-sync-job-generate-bundles-lfs-verification.t mononoke/hg_sync_job: use 0.2 runtime 2020-02-18 07:42:41 -08:00
test-mononoke-hg-sync-job-generate-bundles-lfs.t remotefilelog: enable the rust stores by default 2020-06-23 18:47:44 -07:00
test-mononoke-hg-sync-job-generate-bundles-loop.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-mononoke-hg-sync-job-generate-bundles-other-books.t context: remove "is a remote bookmark or commit, try to 'hg pull' it first" message 2020-05-13 19:27:41 -07:00
test-mononoke-hg-sync-job-generate-bundles.t mononoke: support ManualMove in hg sync job 2020-05-28 07:24:05 -07:00
test-mononoke-hg-sync-job-sync-globalrevs.t mononoke_hg_sync_job: don't fail if the Globalrev counter is where we want it 2020-04-21 06:09:19 -07:00
test-mononoke-hg-sync-job-with-copies.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-mononoke-hg-sync-job.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-mononoke-readonly-storage-blobstore.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-mononoke-readonly-storage-sql.t mononoke: fix a broken test 2020-05-05 02:47:03 -07:00
test-multiplexed-blobstore.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-multiplexed-chaosblob.t mononoke: include DB config in multiplexed blobstore configuration 2020-02-24 11:54:45 -08:00
test-multiplexed-packblob.t mononoke: add optional compress to packblob put 2020-06-17 02:35:04 -07:00
test-new-repo.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-post-push-logging.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-priority.t mononoke: allow selecting a priority in hgcli, and passing it to Mononoke 2020-03-11 08:54:51 -07:00
test-push-bookmarks.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-push-disallowed.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-push-git-mapping.t mononoke: record git mapping while doing a push 2020-05-18 05:41:41 -07:00
test-push-newblobimport.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-push-protocol-lfs.t tests: turn on narrow-heads for some tests 2020-06-29 13:00:06 -07:00
test-push-protocol.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-push-readonly.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-push-redirector-live-config-changes.t unbundle: use live_commit_sync_config for push redirection 2020-06-25 03:28:08 -07:00
test-push-redirector-pushrebase-hooks.t Remove last vestiges of Lua hooks from tests 2020-06-29 10:03:22 -07:00
test-push-redirector-pushrebase-onesided.t unbundle: use live_commit_sync_config for push redirection 2020-06-25 03:28:08 -07:00
test-push-redirector-pushrebase.t mononoke: add x_repo_lookup to scsc 2020-02-06 07:26:14 -08:00
test-push-redirector-sync-job.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-pushrebase-allow-casefolding.t mononoke: pushrebase: fix casefolding_check usage during changeset creation 2020-03-03 03:57:32 -08:00
test-pushrebase-block-casefolding.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-pushrebase-block-merges.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-pushrebase-copy-src-changed.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-pushrebase-discovery.t Remove last vestiges of Lua hooks from tests 2020-06-29 10:03:22 -07:00
test-pushrebase-emit-obsmarkers.t test-pushrebase-emit-obsmarkers: use modern configs 2020-06-29 13:00:07 -07:00
test-pushrebase-empty.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-pushrebase-file-list.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-pushrebase-git-mapping.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-pushrebase-globalrevs.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-pushrebase-mutation.t debugmutation: add time range limiting 2020-02-17 06:41:03 -08:00
test-pushrebase-over-merge.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-pushrebase-per-head-config.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-pushrebase.t test-pushrebase: use modern configs 2020-06-29 13:00:07 -07:00
test-rechunker.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-redaction-admin.t mononoke: allow specifying list to redact in a file 2020-07-22 07:37:36 -07:00
test-redaction-config.t mononoke/integration tests: use a combination of kill and wait to kill a process 2020-07-28 08:02:52 -07:00
test-redaction.t mononoke/integration tests: use a combination of kill and wait to kill a process 2020-07-28 08:02:52 -07:00
test-remotefilelog-lfs.t mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
test-rename-in-merge.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-repo_import.t mononoke/repo_import: add hg sync checker 2020-08-03 04:01:27 -07:00
test-scs-blame.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-scs-common-base.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-scs-diff.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-scs-list-bookmarks.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-scs-log.t add descendants_of argument to commit_path_history 2020-07-23 07:34:52 -07:00
test-scs-lookup.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-scs-x-repo.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-scs.t live_commit_sync_config: make scs xrepo-lookup watch live changes 2020-07-21 09:09:23 -07:00
test-server.t mononoke/integration tests: use a combination of kill and wait to kill a process 2020-07-28 08:02:52 -07:00
test-sqlblob.t tests: enable template-new-builtin 2020-07-20 17:27:53 -07:00
test-traffic-replay.t mononoke: move the codebase under eden/ directory 2020-02-06 13:46:04 +01:00
test-unbundle-replay-bookmarks-update-log.t mononoke/unbundle_replay: unbundle concurrently, derive filenodes concurrently 2020-03-30 06:25:07 -07:00
test-unbundle-replay-hg-bookmark.t mononoke/integration tests: use a combination of kill and wait to kill a process 2020-07-28 08:02:52 -07:00
test-unbundle-replay-hg-recording.t mononoke/integration tests: use a combination of kill and wait to kill a process 2020-07-28 08:02:52 -07:00
test-walker-compression-benefit.t mononoke: walker: add fsnodes derivation to test blobimport 2020-04-24 04:29:52 -07:00
test-walker-corpus.t mononoke: fix flaky test test-walker-corpus.t 2020-07-31 10:22:34 -07:00
test-walker-count-objects.t mononoke: update walker to visit content referenced by fsnodes 2020-07-24 09:03:47 -07:00
test-walker-enable-derive.t mononoke: update walker to visit content referenced by fsnodes 2020-07-24 09:03:47 -07:00
test-walker-error-as-data.t mononoke: add walker for fsnodes 2020-04-23 01:24:20 -07:00
test-walker-sample-by-node.t mononoke: walker: add --sample-offset so whole repo can be sampled in slices 2020-05-11 12:00:58 -07:00
test-walker-sample-by-path.t mononoke: walker: filter the repo path by node type 2020-05-11 12:00:59 -07:00
test-walker-scrub-blobstore.t test-walker-scrub-blobstore: use modern configs 2020-06-29 13:00:07 -07:00
test-walker-scrub-queue.t mononoke: add walker for fsnodes 2020-04-23 01:24:20 -07:00
test-walker-throttle.t mononoke/integration tests: use C locale by default (#41) 2020-07-31 09:02:33 -07:00
test-walker-validate-non-public.t mononoke: check whether to emit an edge earlier from the walker, remaining types 2020-08-04 06:47:38 -07:00
test-walker-validate.t mononoke: log route to step on unexpected errors from walker 2020-07-28 05:21:48 -07:00
test-warm-bookmarks-cache.t mononoke: use WarmBookmarkCache in repo_client 2020-07-31 03:09:24 -07:00

Mononoke Integration Tests

Mononoke's integration tests run using Mercurial's run-tests test framework, which is orchestrated using a wrapper to make it more friendly to TestPilot and provide some added functionality, such as wiring up dependencies and / or setting up an ephemeral MySQL shard.

TL;DR: Running one test

Use:

buck run //eden/mononoke/tests/integration:integration_runner -- TEST

But! Keep reading: there are faster ways to run the tests if you're going to be iterating on something. You might as well read on while you wait for that build to complete.

Running Tests Incrementally: a better way

To run tests locally, a better way is to run the integration runner directly. This allows you to skip most build steps, and rebuild only what you need to re-run your test (e.g. if you're iterating on Mononoke server, then you won't need to rebuild blobimport more than once).

To do this, you should start by building everything once:

buck build //eden/mononoke/tests/integration

Then, run the tests by executing the integration runner directly. The integration runner relies on a manifest to find all the binaries it needs to run (the ones you built earlier), so you need to point it there:

~/fbcode/buck-out/dev/gen/eden/mononoke/tests/integration/integration_runner_real.par \
  ~/fbcode/buck-out/gen/eden/mononoke/tests/integration/manifest/manifest.json \
  test1.t test2.t test3.t

If you don't have ~/fbcode symlink, create it, or update the instructions as needed. Note that you can run this from anywhere in fbsource tree (so you can run it from the actual tests directory to get autocompletion or globbing on test names).

Every time you make changes to your code, buck build whatever you changed, then re-run.

Use --interactive when running your tests in order to accept (or reject) changes to your .t files.

Adding new tests:

Add your new test in this directory (or under facebook/) if it's not relevant to open-source.

If your test needs assets to work, then you'll need to:

  • Put the asset somewhere under this directory.
  • In tests, your asset can be found at ${TEST_FIXTURES}/relative/path, where relative/path is the path to your asset relative from .../mononoke/tests/integration.
  • Add your asset to the test_fixtures Buck rule in this directory's TARGETS file. If you don't do this, then running tests using the runner directly will work (read on to understand why), but it won't work when running through Buck / TestPilot.

Exposing a new binary

Add it to MANIFEST_DEPS in the TARGETS file in this directory. The key is an environment variable that will be set to the path to this binary when the tests execute (if you need to customize the environment variable a bit, you can do so in generate_manifest.py).

How it works

To avoid full rebuilds whenever you make a change, the test runner takes a few shortcuts to avoid relying on the Buck dependency graph (that is because Buck doesn't see each individual test's dependencies: it only knows that all the tests depend on everything).

Notably, it:

  • Uses the actual test source files (and assets) from your fbcode working directory when running the runner directly (as documented above). This allows --interactive to work seamlessly.
  • Stores the paths to all its dependencies in a manifest file (which is generated from Buck).

However, when you're running tests using Buck, then the test runner will not use source files, and will instead expect files to be managed using Buck. The main result of this is that while you might have a bunch of files jumbled together in this directory, when running tests using Buck, they will not.

Normally, this should all be transparent if you're adding a new test and using ${TEST_FIXTURES} to reference it.