1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
#!/usr/bin/env bash
include './scripts/profiler.sh' > '/dev/null' 2>&1
include './tests/unit/utils.sh'
function setUp()
{
export ORIGINAL_PATH="$PWD"
declare -ga full_profile
cd "${SHUNIT_TMPDIR}" || {
fail "($LINENO): setUp(): It was not possible to move into ${SHUNIT_TMPDIR}"
return
}
}
function tearDown()
{
unset full_profile
cd "${ORIGINAL_PATH}" || {
fail "($LINENO): tearDown(): It was not possible to move into ${ORIGINAL_PATH}"
return
}
}
function test_process_csv_files_full_single_threaded()
{
local list_of_csv_filepaths="${SAMPLES_DIR}/scripts/profiler/single_threaded/0.csv"
local expected
process_csv_files "$list_of_csv_filepaths" 'full'
assert_equals_helper 'Wrong number of threads' "$LINENO" 1 "${#full_profile[@]}"
expected='--> foo'$'\n'
expected+=' 1.000 milliseconds'$'\n'
expected+=' --> bar'$'\n'
expected+=' 11.000 milliseconds'$'\n'
expected+=' <-- bar'$'\n'
expected+=' 8.000 milliseconds'$'\n'
expected+=' --> foobar'$'\n'
expected+=' 251.000 milliseconds'$'\n'
expected+='<---- foobar'$'\n'
assert_equals_helper 'Wrong profile of thread 0' "$LINENO" "$expected" "${full_profile[0]}"
}
function test_process_csv_files_full_multi_threaded()
{
local list_of_csv_filepaths
local expected
list_of_csv_filepaths+="${SAMPLES_DIR}/scripts/profiler/multi_threaded/2.csv"$'\n'
list_of_csv_filepaths+="${SAMPLES_DIR}/scripts/profiler/multi_threaded/1.csv"$'\n'
list_of_csv_filepaths+="${SAMPLES_DIR}/scripts/profiler/multi_threaded/0.csv"
process_csv_files "$list_of_csv_filepaths" 'full'
assert_equals_helper 'Wrong number of threads' "$LINENO" 3 "${#full_profile[@]}"
expected='--> foo'$'\n'
expected+=' 1.000 milliseconds'$'\n'
expected+=' --> bar'$'\n'
expected+=' 11.000 milliseconds'$'\n'
expected+=' <-- bar'$'\n'
expected+=' 8.000 milliseconds'$'\n'
expected+=' --> foobar'$'\n'
expected+=' 251.000 milliseconds'$'\n'
expected+='<---- foobar'$'\n'
assert_equals_helper 'Wrong profile of thread 0' "$LINENO" "$expected" "${full_profile[0]}"
expected='--> rec'$'\n'
expected+=' .500 milliseconds'$'\n'
expected+=' --> rec'$'\n'
expected+=' .500 milliseconds'$'\n'
expected+=' --> rec'$'\n'
expected+=' 1.000 milliseconds'$'\n'
expected+=' <-- rec'$'\n'
expected+=' 2.050 milliseconds'$'\n'
expected+=' <-- rec'$'\n'
expected+=' 2.180 milliseconds'$'\n'
expected+='<-- rec'$'\n'
assert_equals_helper 'Wrong profile of thread 1' "$LINENO" "$expected" "${full_profile[1]}"
expected='--> foo'$'\n'
expected+=' .002 milliseconds'$'\n'
expected+='<-- foo'$'\n'
expected+='.010 milliseconds'$'\n'
expected+='--> bar'$'\n'
expected+=' .200 milliseconds'$'\n'
expected+='<-- bar'$'\n'
expected+='.898 milliseconds'$'\n'
expected+='--> foobar'$'\n'
expected+=' 1.111 milliseconds'$'\n'
expected+='<-- foobar'$'\n'
assert_equals_helper 'Wrong profile of thread 2' "$LINENO" "$expected" "${full_profile[2]}"
}
function test_display_full_profile()
{
local list_of_csv_filepaths
local output
local expected
full_profile[0]='foo'
full_profile[1]='bar'
full_profile[2]='foobar'
output=$(display_full_profile)
expected='Thread nr. 0'$'\n'
expected+='###############'$'\n'
expected+='foo'$'\n'
expected+='Thread nr. 1'$'\n'
expected+='###############'$'\n'
expected+='bar'$'\n'
expected+='Thread nr. 2'$'\n'
expected+='###############'$'\n'
expected+='foobar'
assert_equals_helper 'Wrong profile displayed' "$LINENO" "$expected" "$output"
}
invoke_shunit
|