Download raw body.
Replace jot in regress
Hello, Find a patch providing a replacement for `jot`, which should aid in running regress under Linux. While there, I converted to obvious cases of `echo 1; echo 2; echo 3; ...` to the new function. I only tested this fully under OpenBSD. I tested it lightly on Linux and I don't have access to a FreeBSD system and sadly vmd can't run it. On OpenBSD, only failure, which I also face running without this patch, is: ==== histedit ==== ./histedit.sh -q -r "/home/lucas/code/git/git.gameoftrees.org/got-test-root/got-test.cr5YVj68IG" --- /home/lucas/code/git/git.gameoftrees.org/got-test-root/got-test.cr5YVj68IG/got-test-histedit_no_op-77iNHu1m/stdout.expected Tue Sep 21 03:57:49 2021 +++ /home/lucas/code/git/git.gameoftrees.org/got-test-root/got-test.cr5YVj68IG/got-test-histedit_no_op-77iNHu1m/stdout Tue Sep 21 03:57:49 2021 @@ -7,5 +7,3 @@ has become commit a7f05202bdc51c8f3a225be3e4d89fea313ebb6a (master) 2021-09-21 flan_hacker committing to zeta on master -history forked at 98316d0a9092e0817b44bace2ee78be726a649f6 - 2021-09-21 flan_hacker adding the test tree test failed; leaving test data in /home/lucas/code/git/git.gameoftrees.org/got-test-root/got-test.cr5YVj68IG/got-test-histedit_no_op-77iNHu1m On Linux, the only non-strerror-related failures are --- /tmp/got-test-histedit_no_op-ejXE1yFI/stdout.expected 2021-09-21 04:27:45.137403006 +0000 +++ /tmp/got-test-histedit_no_op-ejXE1yFI/stdout 2021-09-21 04:27:45.130402405 +0000 @@ -7,5 +7,5 @@ has become commit 70dc5e53ef5de1a665a464b314052a6a834d3bdf (master) 2021-09-21 flan_hacker committing to zeta on master -history forked at c0da20980a34bf4d07ff46d652c02f4d96b55a08 - 2021-09-21 flan_hacker adding the test tree +history forked at 0862fd9c1ca3627316e3934cd9681191e1a4f2d1 + 2021-09-21 flan_hacker committing changes test failed; leaving test data in /tmp/got-test-histedit_no_op-ejXE1yFI --- /tmp/got-test-import_basic-j5tUtP9C/stdout.expected 2021-09-21 04:27:46.725539328 +0000 +++ /tmp/got-test-import_basic-j5tUtP9C/stdout 2021-09-21 04:27:46.723539156 +0000 @@ -1,5 +1,5 @@ -A /tmp/got-test-import_basic-j5tUtP9C/tree/gamma/delta A /tmp/got-test-import_basic-j5tUtP9C/tree/epsilon/zeta +A /tmp/got-test-import_basic-j5tUtP9C/tree/gamma/delta A /tmp/got-test-import_basic-j5tUtP9C/tree/alpha A /tmp/got-test-import_basic-j5tUtP9C/tree/beta Created branch refs/heads/main with commit c8d07174c9d406d8c10db6841335ccf73e900b2a test failed; leaving test data in /tmp/got-test-import_basic-j5tUtP9C Comments? -Lucas diff refs/heads/main refs/heads/dont-use-jot blob - a9916124c369cb2ba1bac4634cd2e80573716a5a blob + e041544b4b38c59af3471bb72a50f32bf86ca4e5 --- regress/cmdline/blame.sh +++ regress/cmdline/blame.sh @@ -205,7 +205,7 @@ test_blame_all_lines_replaced() { return 1 fi - jot 8 > $testroot/wt/alpha + pjot 8 > $testroot/wt/alpha (cd $testroot/wt && got commit -m "change 1" > /dev/null) local commit1=`git_show_head $testroot/repo` local short_commit1=`trim_obj_id 32 $commit1` @@ -242,7 +242,7 @@ test_blame_lines_shifted_up() { return 1 fi - jot 8 > $testroot/wt/alpha + pjot 8 > $testroot/wt/alpha (cd $testroot/wt && got commit -m "change 1" > /dev/null) local commit1=`git_show_head $testroot/repo` local short_commit1=`trim_obj_id 32 $commit1` @@ -253,11 +253,11 @@ test_blame_lines_shifted_up() { local commit2=`git_show_head $testroot/repo` local short_commit2=`trim_obj_id 32 $commit2` - jot 2 > $testroot/wt/alpha + pjot 2 > $testroot/wt/alpha echo foo >> $testroot/wt/alpha echo bar >> $testroot/wt/alpha echo baz >> $testroot/wt/alpha - jot 8 6 8 1 >> $testroot/wt/alpha + pjot 6 8 >> $testroot/wt/alpha (cd $testroot/wt && got commit -m "change 3" > /dev/null) local commit3=`git_show_head $testroot/repo` local short_commit3=`trim_obj_id 32 $commit3` @@ -298,7 +298,7 @@ test_blame_lines_shifted_down() { return 1 fi - jot 8 > $testroot/wt/alpha + pjot 8 > $testroot/wt/alpha (cd $testroot/wt && got commit -m "change 1" > /dev/null) local commit1=`git_show_head $testroot/repo` local short_commit1=`trim_obj_id 32 $commit1` @@ -309,11 +309,11 @@ test_blame_lines_shifted_down() { local commit2=`git_show_head $testroot/repo` local short_commit2=`trim_obj_id 32 $commit2` - jot 2 > $testroot/wt/alpha + pjot 2 > $testroot/wt/alpha echo foo >> $testroot/wt/alpha echo bar >> $testroot/wt/alpha echo baz >> $testroot/wt/alpha - jot 8 3 8 1 >> $testroot/wt/alpha + pjot 3 8 >> $testroot/wt/alpha (cd $testroot/wt && got commit -m "change 3" > /dev/null) local commit3=`git_show_head $testroot/repo` local short_commit3=`trim_obj_id 32 $commit3` blob - 260f6406dd2eba1355d668e2c054b7f09f9f1ee5 blob + f6cce9686d3d9bd9d22bbfc535f0fa7c1117bf2a --- regress/cmdline/common.sh +++ regress/cmdline/common.sh @@ -256,3 +256,36 @@ test_done() echo "test failed; leaving test data in $testroot" fi } + +# Portable, jot-like utility. Limitations: +# - only integers operations supported +# - only positive stepsize +# - no type-checks on arguments +# - `echo $n` might not work correctly with negative numbers, but +# `printf "%d\n" $n` makes `make regress` go from ~3min20sec to +# ~4min0sec on my machine. +# Usage: +# pjot E print numbers from 1 to E, stepsize 1 +# pjot B E print numbers from B to E, stepsize 1 +# pjot B E S print numbers from B to E, stepsize S +pjot() +{ + local begin=1 stepsize=1 end n + + case $# in + 1) end=$1 ;; + 2) begin=$1 end=$2 ;; + 3) begin=$1 end=$2 stepsize=$3 ;; + *) return 1 ;; + esac + + if [ $stepsize -le 0 ] || [ $begin -gt $end ]; then + return 1 + fi + + n=$begin + while [ $n -le $end ]; do + echo $n + n=$((n + stepsize)) + done +} blob - 5d259e7e69fb72c30e2d546a71895f1edb136f69 blob + 6b9ae241240bec4d3ae8e80ea17400e7fcb8cbad --- regress/cmdline/diff.sh +++ regress/cmdline/diff.sh @@ -92,14 +92,7 @@ test_diff_basic() { test_diff_shows_conflict() { local testroot=`test_init diff_shows_conflict 1` - echo "1" > $testroot/repo/numbers - echo "2" >> $testroot/repo/numbers - echo "3" >> $testroot/repo/numbers - echo "4" >> $testroot/repo/numbers - echo "5" >> $testroot/repo/numbers - echo "6" >> $testroot/repo/numbers - echo "7" >> $testroot/repo/numbers - echo "8" >> $testroot/repo/numbers + pjot 8 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" local base_commit=`git_show_head $testroot/repo` blob - 9766243def1b9ea970812bb138d4d8aeda056a96 blob + 3c765d38370268b9061455ab965bb92e80b86dfe --- regress/cmdline/revert.sh +++ regress/cmdline/revert.sh @@ -372,7 +372,7 @@ test_revert_directory_unknown() { test_revert_patch() { local testroot=`test_init revert_patch` - jot 16 > $testroot/repo/numbers + pjot 16 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" local commit_id=`git_show_head $testroot/repo` @@ -845,7 +845,7 @@ test_revert_patch_removed() { test_revert_patch_one_change() { local testroot=`test_init revert_patch_one_change` - jot 16 > $testroot/repo/numbers + pjot 16 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" local commit_id=`git_show_head $testroot/repo` blob - 8e7009b68305bcecb73914412de27d91708eb4ef blob + e95d3ae07966997e91f7792de94d47ebd3bbccb4 --- regress/cmdline/stage.sh +++ regress/cmdline/stage.sh @@ -1432,7 +1432,7 @@ test_stage_commit() { test_stage_patch() { local testroot=`test_init stage_patch` - jot 16 > $testroot/repo/numbers + pjot 16 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" local commit_id=`git_show_head $testroot/repo` @@ -1717,7 +1717,7 @@ EOF test_stage_patch_twice() { local testroot=`test_init stage_patch_twice` - jot 16 > $testroot/repo/numbers + pjot 16 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" local commit_id=`git_show_head $testroot/repo` @@ -2154,7 +2154,7 @@ test_stage_patch_removed_twice() { test_stage_patch_quit() { local testroot=`test_init stage_patch_quit` - jot 16 > $testroot/repo/numbers + pjot 16 > $testroot/repo/numbers echo zzz > $testroot/repo/zzz (cd $testroot/repo && git add numbers zzz) git_commit $testroot/repo -m "added files" @@ -2262,7 +2262,7 @@ EOF test_stage_patch_incomplete_script() { local testroot=`test_init stage_incomplete_script` - jot 16 > $testroot/repo/numbers + pjot 16 > $testroot/repo/numbers echo zzz > $testroot/repo/zzz (cd $testroot/repo && git add numbers zzz) git_commit $testroot/repo -m "added files" blob - de94a6e129b914a487c98dde2b1cc0d59698c4cd blob + 40e85ded8ba5b13faad99f066bb284a3a10f0ba5 --- regress/cmdline/status.sh +++ regress/cmdline/status.sh @@ -159,14 +159,7 @@ test_status_obstructed() { test_status_shows_local_mods_after_update() { local testroot=`test_init status_shows_local_mods_after_update 1` - echo "1" > $testroot/repo/numbers - echo "2" >> $testroot/repo/numbers - echo "3" >> $testroot/repo/numbers - echo "4" >> $testroot/repo/numbers - echo "5" >> $testroot/repo/numbers - echo "6" >> $testroot/repo/numbers - echo "7" >> $testroot/repo/numbers - echo "8" >> $testroot/repo/numbers + pjot 8 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" @@ -320,10 +313,7 @@ test_status_shows_no_mods_after_complete_merge() { local testroot=`test_init status_shows_no_mods_after_complete_merge 1` # make this file larger than the usual blob buffer size of 8192 - echo -n > $testroot/repo/numbers - for i in `jot 16384`; do - echo "$i" >> $testroot/repo/numbers - done + pjot 16384 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" @@ -372,14 +362,7 @@ test_status_shows_no_mods_after_complete_merge() { test_status_shows_conflict() { local testroot=`test_init status_shows_conflict 1` - echo "1" > $testroot/repo/numbers - echo "2" >> $testroot/repo/numbers - echo "3" >> $testroot/repo/numbers - echo "4" >> $testroot/repo/numbers - echo "5" >> $testroot/repo/numbers - echo "6" >> $testroot/repo/numbers - echo "7" >> $testroot/repo/numbers - echo "8" >> $testroot/repo/numbers + pjot 8 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" blob - 053325225ecc1c55962ba876ee2610f161762fa3 blob + 221761a0f3558827ca847a10feaf60b4c7286bfd --- regress/cmdline/unstage.sh +++ regress/cmdline/unstage.sh @@ -186,7 +186,7 @@ test_unstage_nonexistent() { test_unstage_patch() { local testroot=`test_init unstage_patch` - jot 16 > $testroot/repo/numbers + pjot 16 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" local commit_id=`git_show_head $testroot/repo` @@ -805,7 +805,7 @@ test_unstage_patch_removed() { test_unstage_patch_quit() { local testroot=`test_init unstage_patch_quit` - jot 16 > $testroot/repo/numbers + pjot 16 > $testroot/repo/numbers echo zzz > $testroot/repo/zzz (cd $testroot/repo && git add numbers zzz) git_commit $testroot/repo -m "added files" blob - cae602420f097ed69b049e9fffb3fc46510d2de5 blob + 7c18e182b112938629ef6f9eee5fd1e225350d49 --- regress/cmdline/update.sh +++ regress/cmdline/update.sh @@ -639,14 +639,7 @@ test_update_file_in_subsubdir() { test_update_merges_file_edits() { local testroot=`test_init update_merges_file_edits` - echo "1" > $testroot/repo/numbers - echo "2" >> $testroot/repo/numbers - echo "3" >> $testroot/repo/numbers - echo "4" >> $testroot/repo/numbers - echo "5" >> $testroot/repo/numbers - echo "6" >> $testroot/repo/numbers - echo "7" >> $testroot/repo/numbers - echo "8" >> $testroot/repo/numbers + pjot 8 > $testroot/repo/numbers (cd $testroot/repo && git add numbers) git_commit $testroot/repo -m "added numbers file" local base_commit=`git_show_head $testroot/repo`
Replace jot in regress