aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.travis/bin/track_status.sh
blob: 1a7a7dcbbf80e9a2f3818cadbcc50a1d79c4522d (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
49
50
51
52
53
54
55
56
57
58
59
60
#!/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

script_dir="$( dirname -- "${BASH_SOURCE[0]}" )"
script_dir="$( cd -- "$script_dir" && pwd )"
readonly script_dir
script_name="$( basename -- "${BASH_SOURCE[0]}" )"
readonly script_name

dump() {
    local msg
    for msg; do
        echo "$script_name: $msg"
    done
}

test_users() {
    local log_path
    log_path="$( mktemp )"
    local db_path
    db_path="$( mktemp --dry-run )"

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

    "$script_dir/../lib/test.sh" bin.track_status "$@" --log "$log_path" --format csv --output "$db_path" &
    local pid="$!"

    sleep 3
    dump "Log file path: $log_path"
    dump "DB file path: $db_path"
    dump "PID: $pid"

    local timeout=10
    dump "Sleeping for $timeout seconds..."
    sleep "$timeout"

    dump 'Terminating track_status.py...'
    kill "$pid"
    dump 'Waiting for track_status.py to terminate...'
    wait "$pid" || true

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

main() {
    test_users egor.tensin
}

main "$@"