aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.travis/test/track_status.sh
blob: afdfea1091f808135461bb0f6e08c446a38e6509 (plain) (blame)
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
#!/usr/bin/env bash

# Copyright (c) 2019 Egor Tensin <Egor.Tensin@gmail.com>
# This file is part of the "VK scripts" project.
# For details, see https://github.com/egor-tensin/vk-scripts.
# Distributed under the MIT License.

set -o errexit -o nounset -o pipefail

track_status() {
    local log_path
    log_path="$( mktemp )"
    echo "Log file path: $log_path"

    local db_path
    db_path="$( mktemp --dry-run )"
    echo "DB file path: $db_path"

    local rm_aux_files
    rm_aux_files="$( printf -- 'rm -f -- %q %q' "$log_path" "$db_path" )"

    trap "$rm_aux_files" RETURN

    echo 'Running track_status.py...'
    python3 -m bin.track_status "$@" --log "$log_path" --format csv --output "$db_path" &
    local pid="$!"
    echo "Its PID is $pid"

    local timeout=15
    echo "Sleeping for $timeout seconds..."
    sleep "$timeout"

    echo 'Terminating track_status.py...'
    kill -SIGINT "$pid"
    echo 'Waiting for track_status.py to terminate...'
    wait "$pid"

    echo "Log file:"
    cat "$log_path"
    echo "DB:"
    cat "$db_path"
}

main() {
    track_status egor.tensin
}

main "$@"