{"thread":{"id":"47665","subject":"Re: [PATCH/RFC] Merge most test helper programs into a new one \"test-tool\"","startedAt":"2018-01-22T09:33:00Z","lastAt":"2018-01-22T09:33:00Z","messageCount":1,"participants":["Duy Nguyen"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"337052","messageId":"CACsJy8CSja4Lh1co4PfMmag=REhEpfYrDchWzQrJW1p9uV=1HA@mail.gmail.com","threadId":"47665","inReplyTo":"20180122092114.27640-1-pclouds@gmail.com","subject":"Re: [PATCH/RFC] Merge most test helper programs into a new one \"test-tool\"","fromName":"Duy Nguyen","fromEmail":"pclouds@gmail.com","sentAt":"2018-01-22T09:32:21Z","receivedAt":"2018-01-22T09:33:00Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Whoops, this patch is over 100KB and will likely be blocked by\nvger.kernel.org. I may need to split it and resend later, but I think\nthe commit message is enough for discussion (the actual changes are\nnot that interesting anyway). The commit is only available at\nhttps://github.com/pclouds/git/tree/t-helper-all-in-one\n\nOn Mon, Jan 22, 2018 at 4:21 PM, Nguyễn Thái Ngọc Duy <pclouds@gmail.com> wrote:\n> Plenty small programs in t/helper are now part of a bigger one called\n> test-tool. There are two benefits in merging multiple programs into\n> one:\n>\n> - t/helper consumes less disk space (31MB vs 152MB)\n> - link time is reduced (with ccache on and -j1, 16s vs 24s)\n>\n> The following programs remain standalone because...\n>\n> - test-line-buffer:\n> - test-svn-fe: extra dependencies\n>\n> - test-fake-ssh: some tests require this to be a single argument,\n>   splitting it into 'test-tool fake-ssh' creates new problems\n>\n> - test-dump-fsmonitor:\n> - test-dump-untracked-cache:\n> - test-run-command:\n> - test-wildmatch: some in-flight topics add or remove call sites. It\n>   is simpler to leave them out until the dust settles. Then we can\n>   move them to test-tool.\n>\n> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n> ---\n>  This may bring joy to Johannes and pain to Junio. I've excluded some\n>  programs to reduce merge conflicts on 'pu' (only one conflict left in\n>  Makefile due to a new test program). But if some new topics show up\n>  and use these programs, it's going to be pain pain pain.\n>\n>  Makefile                                |  77 ++++-----\n>  cache.h                                 |   2 +-\n>  name-hash.c                             |   2 +-\n>  t/helper/test-chmtime.c                 |   3 +-\n>  t/helper/test-config.c                  |   3 +-\n>  t/helper/test-ctype.c                   |   3 +-\n>  t/helper/test-date.c                    |   3 +-\n>  t/helper/test-delta.c                   |   3 +-\n>  t/helper/test-drop-caches.c             |   3 +-\n>  t/helper/test-dump-cache-tree.c         |   3 +-\n>  t/helper/test-dump-split-index.c        |   3 +-\n>  t/helper/test-example-decorate.c        |   3 +-\n>  t/helper/test-genrandom.c               |   3 +-\n>  t/helper/test-hashmap.c                 |   3 +-\n>  t/helper/test-index-version.c           |   3 +-\n>  t/helper/test-lazy-init-name-hash.c     |  13 +-\n>  t/helper/test-match-trees.c             |   3 +-\n>  t/helper/test-mergesort.c               |   3 +-\n>  t/helper/test-mktemp.c                  |   3 +-\n>  t/helper/test-online-cpus.c             |   3 +-\n>  t/helper/test-parse-options.c           |   3 +-\n>  t/helper/test-path-utils.c              |   3 +-\n>  t/helper/test-prio-queue.c              |   3 +-\n>  t/helper/test-read-cache.c              |   3 +-\n>  t/helper/test-ref-store.c               |   3 +-\n>  t/helper/test-regex.c                   |   3 +-\n>  t/helper/test-revision-walking.c        |   3 +-\n>  t/helper/test-scrap-cache-tree.c        |   3 +-\n>  t/helper/test-sha1-array.c              |   3 +-\n>  t/helper/test-sha1.c                    |   3 +-\n>  t/helper/test-sha1.sh                   |   4 +-\n>  t/helper/test-sigchain.c                |   3 +-\n>  t/helper/test-strcmp-offset.c           |   3 +-\n>  t/helper/test-string-list.c             |   3 +-\n>  t/helper/test-submodule-config.c        |   3 +-\n>  t/helper/test-subprocess.c              |   3 +-\n>  t/helper/test-tool.c (new)              |  66 ++++++++\n>  t/helper/test-tool.h (new)              |  39 +++++\n>  t/helper/test-urlmatch-normalization.c  |   3 +-\n>  t/helper/test-write-cache.c             |   3 +-\n>  t/lib-git-p4.sh                         |   2 +-\n>  t/lib-git-svn.sh                        |   2 +-\n>  t/lib-pack.sh                           |   2 +-\n>  t/perf/p0002-read-cache.sh              |   2 +-\n>  t/perf/p0004-lazy-init-name-hash.sh     |   8 +-\n>  t/perf/p0007-write-cache.sh             |   2 +-\n>  t/perf/p0071-sort.sh                    |   2 +-\n>  t/perf/p7519-fsmonitor.sh               |  12 +-\n>  t/t0005-signals.sh                      |   6 +-\n>  t/t0006-date.sh                         |   8 +-\n>  t/t0009-prio-queue.sh                   |   6 +-\n>  t/t0011-hashmap.sh                      |   4 +-\n>  t/t0013-sha1dc.sh                       |   4 +-\n>  t/t0021-conversion.sh                   |   4 +-\n>  t/t0040-parse-options.sh                |  68 ++++----\n>  t/t0060-path-utils.sh                   |  60 +++----\n>  t/t0062-revision-walking.sh             |   2 +-\n>  t/t0063-string-list.sh                  |  48 +++---\n>  t/t0064-sha1-array.sh                   |  16 +-\n>  t/t0065-strcmp-offset.sh                |   2 +-\n>  t/t0070-fundamental.sh                  |   8 +-\n>  t/t0090-cache-tree.sh                   |  18 +--\n>  t/t0110-urlmatch-normalization.sh       | 266 ++++++++++++++++----------------\n>  t/t1006-cat-file.sh                     |   2 +-\n>  t/t1050-large.sh                        |   6 +-\n>  t/t1300-repo-config.sh                  |   2 +-\n>  t/t1305-config-include.sh               |   2 +-\n>  t/t1308-config-set.sh                   |  22 +--\n>  t/t1309-early-config.sh                 |  12 +-\n>  t/t1405-main-ref-store.sh               |   2 +-\n>  t/t1406-submodule-ref-store.sh          |   2 +-\n>  t/t1407-worktree-ref-store.sh           |   4 +-\n>  t/t1501-work-tree.sh                    |  10 +-\n>  t/t1600-index.sh                        |   2 +-\n>  t/t1700-split-index.sh                  |  62 ++++----\n>  t/t2022-checkout-paths.sh               |   4 +-\n>  t/t2104-update-index-skip-worktree.sh   |   6 +-\n>  t/t3008-ls-files-lazy-init-name-hash.sh |   4 +-\n>  t/t3306-notes-prune.sh                  |   2 +-\n>  t/t3404-rebase-interactive.sh           |   4 +-\n>  t/t3418-rebase-continue.sh              |   4 +-\n>  t/t3501-revert-cherry-pick.sh           |   2 +-\n>  t/t3510-cherry-pick-sequence.sh         |   4 +-\n>  t/t3600-rm.sh                           |   2 +-\n>  t/t3700-add.sh                          |   2 +-\n>  t/t4011-diff-symlink.sh                 |   2 +-\n>  t/t4013-diff-various.sh                 |   2 +-\n>  t/t4035-diff-quiet.sh                   |   2 +-\n>  t/t4151-am-abort.sh                     |   4 +-\n>  t/t4200-rerere.sh                       |  22 +--\n>  t/t5000-tar-tree.sh                     |   4 +-\n>  t/t5300-pack-object.sh                  |   4 +-\n>  t/t5301-sliding-window.sh               |   2 +-\n>  t/t5302-pack-index.sh                   |  14 +-\n>  t/t5303-pack-corruption-resilience.sh   |  10 +-\n>  t/t5304-prune.sh                        |  16 +-\n>  t/t5310-pack-bitmaps.sh                 |   2 +-\n>  t/t5313-pack-bounds-checks.sh           |   4 +-\n>  t/t5314-pack-cycle-detection.sh         |   2 +-\n>  t/t5316-pack-delta-depth.sh             |   2 +-\n>  t/t5400-send-pack.sh                    |   2 +-\n>  t/t5516-fetch-push.sh                   |   2 +-\n>  t/t5546-receive-limits.sh               |   2 +-\n>  t/t5547-push-quarantine.sh              |   2 +-\n>  t/t5608-clone-2gb.sh                    |   2 +-\n>  t/t6022-merge-rename.sh                 |  30 ++--\n>  t/t6500-gc.sh                           |   2 +-\n>  t/t6501-freshen-objects.sh              |   4 +-\n>  t/t7411-submodule-config.sh             |  18 +--\n>  t/t7508-status.sh                       |   6 +-\n>  t/t7701-repack-unpack-unreachable.sh    |   6 +-\n>  t/t7812-grep-icase-non-ascii.sh         |   2 +-\n>  t/t9004-example.sh                      |   2 +-\n>  t/t9100-git-svn-basic.sh                |   4 +-\n>  t/t9300-fast-import.sh                  |   2 +-\n>  t/t9802-git-p4-filetype.sh              |   2 +-\n>  t/t9803-git-p4-shell-metachars.sh       |   4 +-\n>  t/t9813-git-p4-preserve-users.sh        |   6 +-\n>  t/t9820-git-p4-editor-handling.sh       |   2 +-\n>  t/test-lib.sh                           |  10 +-\n>  120 files changed, 681 insertions(+), 537 deletions(-)\n>  create mode 100644 t/helper/test-tool.c\n>  create mode 100644 t/helper/test-tool.h\n-- \nDuy\n"}]}