Files
asciinema/tests/integration.sh

77 lines
1.9 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
set -e
2016-07-05 16:20:10 +02:00
set -x
if ! type "pkill" >/dev/null 2>&1; then
echo "error: pkill not installed"
exit 1
fi
export ASCIINEMA_CONFIG_HOME=`mktemp -d 2>/dev/null || mktemp -d -t asciinema-config-home`
2016-07-12 12:16:07 +02:00
TMP_DATA_DIR=`mktemp -d 2>/dev/null || mktemp -d -t asciinema-data-dir`
2017-11-18 16:22:24 +01:00
trap "rm -rf $ASCIINEMA_CONFIG_HOME $TMP_DATA_DIR" EXIT
2016-07-11 20:33:56 +02:00
function asciinema() {
python3 -m asciinema "$@"
}
2017-12-02 17:57:32 +01:00
## test help message
2016-07-11 20:33:56 +02:00
asciinema -h
2017-12-02 17:57:32 +01:00
## test version command
2016-07-11 20:33:56 +02:00
asciinema --version
2017-12-02 17:57:32 +01:00
## test auth command
2016-07-11 20:33:56 +02:00
asciinema auth
2017-12-02 17:57:32 +01:00
## test play command
# asciicast v1
asciinema play -s 5 tests/demo.json
asciinema play -s 5 -i 0.2 tests/demo.json
cat tests/demo.json | asciinema play -s 5 -
# asciicast v2
asciinema play -s 5 tests/demo.cast
asciinema play -s 5 -i 0.2 tests/demo.cast
cat tests/demo.cast | asciinema play -s 5 -
2017-12-02 17:57:32 +01:00
## test cat command
2017-11-18 16:57:13 +01:00
# asciicast v1
asciinema cat tests/demo.json
cat tests/demo.json | asciinema cat -
# asciicast v2
asciinema cat tests/demo.cast
cat tests/demo.cast | asciinema cat -
2017-12-02 17:57:32 +01:00
## test rec command
2017-12-02 17:57:32 +01:00
asciinema rec -c who "$TMP_DATA_DIR/1a.cast"
asciinema rec -c 'bash -c "echo t3st; sleep 2; echo ok"' "$TMP_DATA_DIR/1b.cast"
2017-12-02 17:57:32 +01:00
# signal handling
2016-07-11 20:33:56 +02:00
bash -c "sleep 1; pkill -28 -n -f 'm asciinema'" &
asciinema rec -c 'bash -c "echo t3st; sleep 2; echo ok"' "$TMP_DATA_DIR/2.cast"
2016-07-11 20:33:56 +02:00
bash -c "sleep 1; pkill -n -f 'bash -c echo t3st'" &
asciinema rec -c 'bash -c "echo t3st; sleep 2; echo ok"' "$TMP_DATA_DIR/3.cast"
2016-07-11 20:33:56 +02:00
bash -c "sleep 1; pkill -9 -n -f 'bash -c echo t3st'" &
asciinema rec -c 'bash -c "echo t3st; sleep 2; echo ok"' "$TMP_DATA_DIR/4.cast"
2017-09-22 22:21:35 +02:00
2017-12-02 17:57:32 +01:00
# with stdin recording
2017-10-26 17:02:24 +02:00
asciinema rec --stdin -c 'bash -c "echo t3st; sleep 1; echo ok"' "$TMP_DATA_DIR/5.cast"
2017-11-18 16:21:35 +01:00
2017-12-02 17:57:32 +01:00
# raw output recording
2017-11-18 16:21:35 +01:00
asciinema rec --raw -c 'bash -c "echo t3st; sleep 1; echo ok"' "$TMP_DATA_DIR/6.raw"
2017-12-02 17:57:32 +01:00
# appending to existing recording
asciinema rec -c who "$TMP_DATA_DIR/7.cast"
asciinema rec --append -c uptime "$TMP_DATA_DIR/7.cast"