| #!/bin/sh -e |
| |
| require_osmo_interact_vty() { |
| if command -v osmo_interact_vty.py >/dev/null 2>&1; then |
| return |
| fi |
| echo "ERROR: osmo_interact_vty.py not found. Are osmo-python-tests in PATH?" |
| exit 1 |
| } |
| |
| # $1: "update_vty_reference" or "update_counters" |
| # $2: output file |
| # $3: port |
| # $4-$n: command |
| interact_vty() { |
| action="$1" |
| output="$2" |
| port="$3" |
| log="/tmp/$4.log" |
| shift 3 |
| |
| echo "Starting in background: $@" |
| "$@" > "$log" 2>&1 & |
| pid="$!" |
| |
| sleep 0.5 |
| if ! kill -0 "$pid" 2>/dev/null; then |
| echo "ERROR: start failed!" |
| cat "$log" |
| exit 1 |
| fi |
| |
| case "$action" in |
| "update_vty_reference") |
| echo "Updating VTY reference: $output" |
| osmo_interact_vty.py -X -p "$port" -H 127.0.0.1 -O "$output" |
| ;; |
| "update_counters") |
| echo "Updating asciidoc counters: $output" |
| osmo_interact_vty.py -c "enable;show asciidoc counters" -p "$port" -H 127.0.0.1 -O "$output" |
| ;; |
| *) |
| echo "ERROR: invalid argument: $action" |
| exit 1 |
| ;; |
| esac |
| |
| kill "$pid" |
| echo "Done (killed $1)" |
| echo |
| } |
| |
| DIR="$(cd "$(dirname "$0")"; pwd)" |
| cd "$DIR" |
| |
| require_osmo_interact_vty |
| |
| interact_vty \ |
| "update_vty_reference" \ |
| "vty/sgsn_vty_reference.xml" \ |
| 4245 \ |
| osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg" |
| |
| interact_vty \ |
| "update_vty_reference" \ |
| "vty-osmogbproxy/gbproxy_vty_reference.xml" \ |
| 4246 \ |
| osmo-gbproxy -c "../examples/osmo-gbproxy/osmo-gbproxy.cfg" |
| |
| interact_vty \ |
| "update_counters" \ |
| "chapters/counters_generated.adoc" \ |
| 4245 \ |
| osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg" |
| |
| |
| echo "Done with all" |