diff options
Diffstat (limited to 'third_party/git/t/t0210-trace2-normal.sh')
-rwxr-xr-x | third_party/git/t/t0210-trace2-normal.sh | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/third_party/git/t/t0210-trace2-normal.sh b/third_party/git/t/t0210-trace2-normal.sh deleted file mode 100755 index ce7574edb1e7..000000000000 --- a/third_party/git/t/t0210-trace2-normal.sh +++ /dev/null @@ -1,189 +0,0 @@ -#!/bin/sh - -test_description='test trace2 facility (normal target)' -. ./test-lib.sh - -# Turn off any inherited trace2 settings for this test. -sane_unset GIT_TRACE2 GIT_TRACE2_PERF GIT_TRACE2_EVENT -sane_unset GIT_TRACE2_BRIEF -sane_unset GIT_TRACE2_CONFIG_PARAMS - -# Add t/helper directory to PATH so that we can use a relative -# path to run nested instances of test-tool.exe (see 004child). -# This helps with HEREDOC comparisons later. -TTDIR="$GIT_BUILD_DIR/t/helper/" && export TTDIR -PATH="$TTDIR:$PATH" && export PATH - -# Warning: use of 'test_cmp' may run test-tool.exe and/or git.exe -# Warning: to do the actual diff/comparison, so the HEREDOCs here -# Warning: only cover our actual calls to test-tool and/or git. -# Warning: So you may see extra lines in artifact files when -# Warning: interactively debugging. - -V=$(git version | sed -e 's/^git version //') && export V - -# There are multiple trace2 targets: normal, perf, and event. -# Trace2 events will/can be written to each active target (subject -# to whatever filtering that target decides to do). -# This script tests the normal target in isolation. -# -# Defer setting GIT_TRACE2 until the actual command line we want to test -# because hidden git and test-tool commands run by the test harness -# can contaminate our output. - -# Enable "brief" feature which turns off "<clock> <file>:<line> " prefix. -GIT_TRACE2_BRIEF=1 && export GIT_TRACE2_BRIEF - -# Basic tests of the trace2 normal stream. Since this stream is used -# primarily with printf-style debugging/tracing, we do limited testing -# here. -# -# We do confirm the following API features: -# [] the 'version <v>' event -# [] the 'start <argv>' event -# [] the 'cmd_name <name>' event -# [] the 'exit <time> code:<code>' event -# [] the 'atexit <time> code:<code>' event -# -# Fields of the form _FIELD_ are tokens that have been replaced (such -# as the elapsed time). - -# Verb 001return -# -# Implicit return from cmd_<verb> function propagates <code>. - -test_expect_success 'normal stream, return code 0' ' - test_when_finished "rm trace.normal actual expect" && - GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <trace.normal >actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual -' - -test_expect_success 'normal stream, return code 1' ' - test_when_finished "rm trace.normal actual expect" && - test_must_fail env GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 001return 1 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <trace.normal >actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 1 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:1 - atexit elapsed:_TIME_ code:1 - EOF - test_cmp expect actual -' - -test_expect_success 'automatic filename' ' - test_when_finished "rm -r traces actual expect" && - mkdir traces && - GIT_TRACE2="$(pwd)/traces" test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <"$(ls traces/*)" >actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual -' - -# Verb 002exit -# -# Explicit exit(code) from within cmd_<verb> propagates <code>. - -test_expect_success 'normal stream, exit code 0' ' - test_when_finished "rm trace.normal actual expect" && - GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 002exit 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <trace.normal >actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 002exit 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual -' - -test_expect_success 'normal stream, exit code 1' ' - test_when_finished "rm trace.normal actual expect" && - test_must_fail env GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 002exit 1 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <trace.normal >actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 002exit 1 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:1 - atexit elapsed:_TIME_ code:1 - EOF - test_cmp expect actual -' - -# Verb 003error -# -# To the above, add multiple 'error <msg>' events - -test_expect_success 'normal stream, error event' ' - test_when_finished "rm trace.normal actual expect" && - GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 003error "hello world" "this is a test" && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <trace.normal >actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 003error '\''hello world'\'' '\''this is a test'\'' - cmd_name trace2 (trace2) - error hello world - error this is a test - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual -' - -sane_unset GIT_TRACE2_BRIEF - -# Now test without environment variables and get all Trace2 settings -# from the global config. - -test_expect_success 'using global config, normal stream, return code 0' ' - test_when_finished "rm trace.normal actual expect" && - test_config_global trace2.normalBrief 1 && - test_config_global trace2.normalTarget "$(pwd)/trace.normal" && - test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <trace.normal >actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual -' - -test_expect_success 'using global config with include' ' - test_when_finished "rm trace.normal actual expect real.gitconfig" && - test_config_global trace2.normalBrief 1 && - test_config_global trace2.normalTarget "$(pwd)/trace.normal" && - mv "$(pwd)/.gitconfig" "$(pwd)/real.gitconfig" && - test_config_global include.path "$(pwd)/real.gitconfig" && - test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <trace.normal >actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual -' - -test_done |