28 # $1 => session-name, $2 => exit status
29 expected_abduco_output
() {
30 echo "\e[?25h\e[999Habduco: $1: session terminated with exit status $2"
34 [ "`$ABDUCO | wc -l`" -gt 1 ] && echo Abduco session exists
&& exit 1;
35 pgrep abduco
&& echo Abduco process exists
&& exit 1;
39 test_non_existing_command
() {
40 check_environment ||
return 1;
41 $ABDUCO -c test .
/non-existing-command
&> /dev
/null
42 check_environment ||
return 1;
45 # $1 => session-name, $2 => command to execute
47 check_environment ||
return 1;
51 local output
="$name.out"
52 local output_expected
="$name.expected"
54 echo -n "Running test attached: $name "
55 $cmd &> "$output_expected"
56 expected_abduco_output
"$name" $?
>> "$output_expected"
57 $ABDUCO -c "$name" $cmd 2>&1 |
head -n -1 |
sed 's/.$//' > "$output"
58 if diff -u "$output_expected" "$output" && check_environment
; then
59 rm "$output" "$output_expected"
68 # $1 => session-name, $2 => command to execute
70 check_environment ||
return 1;
74 local output
="$name.out"
75 local output_expected
="$name.expected"
77 echo -n "Running test detached: $name "
79 expected_abduco_output
"$name" $?
> "$output_expected"
81 if $ABDUCO -n "$name" $cmd &> /dev
/null
&& sleep 1 &&
82 $ABDUCO -a "$name" 2>&1 |
head -n -1 |
sed 's/.$//' > "$output" &&
83 diff -u "$output_expected" "$output" && check_environment
; then
84 rm "$output" "$output_expected"
93 # $1 => session-name, $2 => command to execute
94 run_test_attached_detached
() {
95 check_environment ||
return 1;
99 local output
="$name.out"
100 local output_expected
="$name.expected"
102 echo -n "Running test: $name "
104 expected_abduco_output
"$name" $?
> "$output_expected"
106 if detach |
$ABDUCO -c "$name" $cmd &> /dev
/null
&& sleep 3 &&
107 $ABDUCO -a "$name" 2>&1 |
head -n -1 |
tail -1 |
sed 's/.$//' > "$output" &&
108 diff -u "$output_expected" "$output" && check_environment
; then
109 rm "$output" "$output_expected"
119 echo -n "Running dvtm test: "
120 if ! which dvtm
&> /dev
/null
; then
126 local output
="$name.out"
127 local output_expected
="$name.expected"
129 echo exit | dvtm
&> /dev
/null
130 expected_abduco_output
"$name" $?
> "$output_expected"
131 local len
=`wc -c "$output_expected" | awk '{ print $1 }'`
133 if dvtm_session |
$ABDUCO -c "$name" 2>&1 |
head -n -1 |
tail -c $len |
sed 's/.$//' > "$output" &&
134 diff -u "$output_expected" "$output" && check_environment
; then
135 rm "$output" "$output_expected"
144 test_non_existing_command ||
echo "Execution of non existing command FAILED"
146 run_test_attached
"seq" "seq 1 1000"
147 run_test_detached
"seq" "seq 1 1000"
149 run_test_attached
"false" "false"
150 run_test_detached
"false" "false"
152 run_test_attached
"true" "true"
153 run_test_detached
"true" "true"
155 cat > exit-status.sh
<<-EOT
159 chmod +x exit-status.sh
161 run_test_attached
"exit-status" "./exit-status.sh"
162 run_test_detached
"exit-status" "./exit-status.sh"
166 cat > long-running.sh
<<-EOT
177 chmod +x long-running.sh
179 run_test_attached_detached
"attach-detach" "./long-running.sh"