summaryrefslogtreecommitdiff
path: root/tests/runner.sh
blob: ae53d942afd960d0dadc93136020aa9d61773f9f (plain)
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
123
124
125
126
127
128
129
130
#! /usr/bin/env bash

BUILD=$1

USE_GDB=0
USE_WINE=0

export CMSRV_UI=0
export SINK_IP=127.0.0.1

CMV_ADD=../scripts/cmv_add.sh

ERRORED=0
CURRENT_TEST="None"

START_TEST() {
  CURRENT_TEST=$1
  echo "---- TEST: $1 ----"
}

run_cmsrv() {
  if [ $USE_WINE -eq 1 ]; then
    ../build/src/fruits/cmsrv/cmsrv &
  elif [ $USE_GDB -eq 1 ]; then
    gdb --ex run $BUILD/src/fruits/cmsrv/cmsrv &
  else
    $BUILD/src/fruits/cmsrv/cmsrv &
  fi
  CMSRV_PID=$!
}

run_cmv() {
  if [ $USE_WINE -eq 1 ]; then
    wine $BUILD/src/fruits/cmv/cmv.exe &
  elif [ $USE_GDB -eq 1 ]; then
    gdb --ex run $BUILD/src/fruits/cmv/cmv &
  else
    $BUILD/src/fruits/cmv/cmv &
  fi
  SINK_PID=$!
}

check_for_crash() {
  if ps -p $1 > /dev/null; then
    echo "---- PASS: $CURRENT_TEST ----"
  else
    wait $1
    echo "---- FAIL: $CURRENT_TEST ----"
    $CMV_ADD "QUIT"
    exit 1
  fi
}

run_cmsrv

sleep 0.25

# ---
START_TEST "Backskip target fails to load + immediate pause"

$CMV_ADD "START_AT 1"
$CMV_ADD resources/empty_file.mp4
$CMV_ADD resources/1626892672495.mp4

run_cmv

sleep 3

$CMV_ADD "PREV"
$CMV_ADD "PAUSE"

sleep 2

check_for_crash $SINK_PID

$CMV_ADD "CLEAR"

# --- END_TEST

# ---
START_TEST "Server restart liana client RECONNECT_RECOVER"

$CMV_ADD resources/1612970595357.mp4

sleep 2

kill -s SIGKILL $CMSRV_PID

run_cmsrv

$CMV_ADD resources/1612970595357.mp4

sleep 3

check_for_crash $SINK_PID

$CMV_ADD "CLEAR"

# --- END_TEST

# ---
START_TEST "Reconnect with different entry (image -> video)"

$CMV_ADD resources/quote.jpg

sleep 1

kill -s SIGKILL $CMSRV_PID

run_cmsrv

sleep 0.25

$CMV_ADD resources/1612970595357.mp4

sleep 2

check_for_crash $SINK_PID

sleep 2

# --- END

if ps -p $SINK_PID > /dev/null; then
  kill -s SIGINT $SINK_PID
fi

$CMV_ADD "QUIT"

wait $CMSRV_PID