Merge ~sylvain-pineau/plainbox-provider-checkbox:fix_bin_shellcheck_errors_2 into plainbox-provider-checkbox:master

Proposed by Sylvain Pineau
Status: Merged
Approved by: Sylvain Pineau
Approved revision: 91f6c7ea3cb7c1c9c3b8434ab1db311821bfe44d
Merged at revision: b28bcb03c4188156f85c1cf61baea6000d992876
Proposed branch: ~sylvain-pineau/plainbox-provider-checkbox:fix_bin_shellcheck_errors_2
Merge into: plainbox-provider-checkbox:master
Diff against target: 766 lines (+125/-129)
19 files modified
bin/alsa_record_playback.sh (+4/-4)
bin/audio_bluetooth_loopback_test.sh (+7/-6)
bin/bluetooth_transfer_stress.sh (+6/-6)
bin/broadband_info.sh (+1/-1)
bin/check_is_laptop.sh (+4/-4)
bin/connect_wireless.sh (+17/-19)
bin/cycle_vts.sh (+2/-2)
bin/disk_cpu_load.sh (+10/-12)
bin/disk_read_performance_test.sh (+12/-12)
bin/disk_stats_test.sh (+10/-10)
bin/graphics_env.sh (+6/-6)
bin/led_hdd_test.sh (+5/-3)
bin/light_sensor_test.sh (+4/-4)
bin/maas-version-check.sh (+4/-4)
bin/network_configs.sh (+4/-4)
bin/network_printer_test.sh (+7/-7)
bin/network_wait.sh (+4/-5)
bin/optical_write_test.sh (+17/-17)
requirements/container-tests-provider-checkbox (+1/-3)
Reviewer Review Type Date Requested Status
Checkbox Developers Pending
Review via email: mp+387969@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/bin/alsa_record_playback.sh b/bin/alsa_record_playback.sh
index e86d7d1..30b2fbd 100755
--- a/bin/alsa_record_playback.sh
+++ b/bin/alsa_record_playback.sh
@@ -1,7 +1,7 @@
1#!/bin/sh1#!/bin/sh
22
3OUTPUT=`mktemp -d`3OUTPUT=$(mktemp -d)
4gst_pipeline_test.py -t 5 "autoaudiosrc ! audioconvert ! level name=recordlevel interval=10000000 ! audioconvert ! wavenc ! filesink location=$OUTPUT/test.wav"4gst_pipeline_test.py -t 5 "autoaudiosrc ! audioconvert ! level name=recordlevel interval=10000000 ! audioconvert ! wavenc ! filesink location=$OUTPUT/test.wav"
5aplay $OUTPUT/test.wav5aplay "$OUTPUT"/test.wav
6rm $OUTPUT/test.wav6rm "$OUTPUT"/test.wav
7rmdir $OUTPUT7rmdir "$OUTPUT"
diff --git a/bin/audio_bluetooth_loopback_test.sh b/bin/audio_bluetooth_loopback_test.sh
index 9661ec4..dac3699 100755
--- a/bin/audio_bluetooth_loopback_test.sh
+++ b/bin/audio_bluetooth_loopback_test.sh
@@ -23,8 +23,8 @@
23# human validate that record/playback is working, human can speak into23# human validate that record/playback is working, human can speak into
24# microphone and just ensure the speech can be heard instantly in the headset.24# microphone and just ensure the speech can be heard instantly in the headset.
2525
26[ -x "`which pactl`" ] || exit 126[ -x "$(command -v pactl)" ] || exit 1
27[ -x "`which pacat`" ] || exit 127[ -x "$(command -v pacat)" ] || exit 1
2828
29SINK=$(pactl list | sed -n '/monitor/d;s/Name: \(bluez_sink\.\)/\1/p')29SINK=$(pactl list | sed -n '/monitor/d;s/Name: \(bluez_sink\.\)/\1/p')
30SOURCE=$(pactl list | sed -n '/monitor/d;s/Name: \(bluez_source\.\)/\1/p')30SOURCE=$(pactl list | sed -n '/monitor/d;s/Name: \(bluez_source\.\)/\1/p')
@@ -33,6 +33,7 @@ SOURCE=$(pactl list | sed -n '/monitor/d;s/Name: \(bluez_source\.\)/\1/p')
33if [ -n "$SINK" ] && [ -n "$SOURCE" ]; then33if [ -n "$SINK" ] && [ -n "$SOURCE" ]; then
34 PLAYBACK_LOG=$(mktemp --tmpdir audio_bluetooth_loopback.XXXXX)34 PLAYBACK_LOG=$(mktemp --tmpdir audio_bluetooth_loopback.XXXXX)
35 RECORD_LOG=$(mktemp --tmpdir audio_bluetooth_loopback.XXXXX)35 RECORD_LOG=$(mktemp --tmpdir audio_bluetooth_loopback.XXXXX)
36 # shellcheck disable=SC2064
36 trap "rm $PLAYBACK_LOG $RECORD_LOG" EXIT37 trap "rm $PLAYBACK_LOG $RECORD_LOG" EXIT
37 # ensure we exit with failure if parec fails, and not with pacat38 # ensure we exit with failure if parec fails, and not with pacat
38 # --playback's error code39 # --playback's error code
@@ -43,14 +44,14 @@ if [ -n "$SINK" ] && [ -n "$SOURCE" ]; then
43 # time out after 6 seconds, forcibly kill after 8 seconds if pacat didn't44 # time out after 6 seconds, forcibly kill after 8 seconds if pacat didn't
44 # respond45 # respond
45 echo "Recording and playing back, please speak into bluetooth microphone"46 echo "Recording and playing back, please speak into bluetooth microphone"
46 timeout -k 8 6 pacat $LATENCY --record -v -d $SOURCE 2>$RECORD_LOG | \47 timeout -k 8 6 pacat $LATENCY --record -v -d "$SOURCE" 2>"$RECORD_LOG" | \
47 pacat $LATENCY --playback -v -d $SINK 2>$PLAYBACK_LOG48 pacat $LATENCY --playback -v -d "$SINK" 2>"$PLAYBACK_LOG"
4849
49 echo "RECORD LOG"50 echo "RECORD LOG"
50 cat $RECORD_LOG51 cat "$RECORD_LOG"
51 echo ""52 echo ""
52 echo "PLAYBACK LOG"53 echo "PLAYBACK LOG"
53 cat $PLAYBACK_LOG54 cat "$PLAYBACK_LOG"
54else55else
55 echo "No bluetooth audio device found"56 echo "No bluetooth audio device found"
56 exit 157 exit 1
diff --git a/bin/bluetooth_transfer_stress.sh b/bin/bluetooth_transfer_stress.sh
index 36e4de7..1b86dd1 100755
--- a/bin/bluetooth_transfer_stress.sh
+++ b/bin/bluetooth_transfer_stress.sh
@@ -31,18 +31,18 @@ DESTINATION=$(mktemp --tmpdir bluetooth-stress.XXXXXX)
31REMOTE=$RANDOM31REMOTE=$RANDOM
32SIZEKB=1024032SIZEKB=10240
33echo "Creating ${SIZEKB}KB file to test transfer"33echo "Creating ${SIZEKB}KB file to test transfer"
34dd if=/dev/urandom of=$ORIGIN count=$SIZEKB bs=102434dd if=/dev/urandom of="$ORIGIN" count=$SIZEKB bs=1024
35ORIGIN_SUM=$(sha256sum $ORIGIN | cut -f 1 -d ' ')35ORIGIN_SUM=$(sha256sum "$ORIGIN" | cut -f 1 -d ' ')
36set -o pipefail36set -o pipefail
37echo "Sending file using Bluetooth"37echo "Sending file using Bluetooth"
38time obexftp -v -b $BTDEVADDR -o $REMOTE --put $ORIGIN 2>&1 | ansi_parser.py38time obexftp -v -b "$BTDEVADDR" -o $REMOTE --put "$ORIGIN" 2>&1 | ansi_parser.py
39sleep 539sleep 5
40echo "Receiving file using Bluetooth"40echo "Receiving file using Bluetooth"
41time obexftp -v -b $BTDEVADDR -o $DESTINATION --get $REMOTE 2>&1 | ansi_parser.py41time obexftp -v -b "$BTDEVADDR" -o "$DESTINATION" --get $REMOTE 2>&1 | ansi_parser.py
42# Now checksum destination and compare42# Now checksum destination and compare
43DESTINATION_SUM=$(sha256sum $DESTINATION | cut -f 1 -d ' ')43DESTINATION_SUM=$(sha256sum "$DESTINATION" | cut -f 1 -d ' ')
44# Clean up before reporting44# Clean up before reporting
45rm $ORIGIN $DESTINATION45rm "$ORIGIN" "$DESTINATION"
46if [ "$ORIGIN_SUM" = "$DESTINATION_SUM" ]; then46if [ "$ORIGIN_SUM" = "$DESTINATION_SUM" ]; then
47 echo "Checksums match, file transfer succeeded"47 echo "Checksums match, file transfer succeeded"
48 exit 048 exit 0
diff --git a/bin/broadband_info.sh b/bin/broadband_info.sh
index aec2ccb..01ec7dc 100755
--- a/bin/broadband_info.sh
+++ b/bin/broadband_info.sh
@@ -2,5 +2,5 @@
22
3for i in $(mmcli --simple-status -L | \3for i in $(mmcli --simple-status -L | \
4 awk '/freedesktop\/ModemManager1\/Modem/ {print $1;}'); do4 awk '/freedesktop\/ModemManager1\/Modem/ {print $1;}'); do
5 mmcli -m $i5 mmcli -m "$i"
6done6done
diff --git a/bin/check_is_laptop.sh b/bin/check_is_laptop.sh
index 5820a37..b197441 100755
--- a/bin/check_is_laptop.sh
+++ b/bin/check_is_laptop.sh
@@ -2,15 +2,15 @@
22
3# Establish the system type based on DMI info3# Establish the system type based on DMI info
4TYPE=$(dmidecode -t 3 | awk '/Type:/ { print $2 }')4TYPE=$(dmidecode -t 3 | awk '/Type:/ { print $2 }')
5echo "Type: " $TYPE5echo "Type: " "$TYPE"
66
7BATTERY="NO"7BATTERY="NO"
8for device in `find /sys -name "type"`8while IFS= read -r -d '' device
9do9do
10 if [ "$(cat $device)" == "Battery" ]; then10 if [ "$(cat "$device")" == "Battery" ]; then
11 BATTERY="YES"11 BATTERY="YES"
12 fi12 fi
13done13done < <(find /sys -name "type" -print0)
1414
15echo "Battery: " $BATTERY15echo "Battery: " $BATTERY
1616
diff --git a/bin/connect_wireless.sh b/bin/connect_wireless.sh
index e39f52c..fc696b2 100755
--- a/bin/connect_wireless.sh
+++ b/bin/connect_wireless.sh
@@ -2,8 +2,7 @@
22
3# Check nmcli version3# Check nmcli version
4NMCLI_GTE_0_9_10=04NMCLI_GTE_0_9_10=0
5nmcli general 2>&1 >/dev/null5if nmcli general > /dev/null 2>&1; then
6if [ $? -eq 0 ]; then
7 NMCLI_GTE_0_9_10=16 NMCLI_GTE_0_9_10=1
8fi7fi
98
@@ -11,25 +10,23 @@ fi
11conn=''10conn=''
1211
13if [ $NMCLI_GTE_0_9_10 -eq 0 ]; then12if [ $NMCLI_GTE_0_9_10 -eq 0 ]; then
14 active_connection=$(nmcli -f SSID,ACTIVE dev wifi list | grep yes)13 if active_connection=$(nmcli -f SSID,ACTIVE dev wifi list | grep yes); then
15 if [ $? -eq 0 ]; then14 ap=$(echo "$active_connection" | awk -F\' '{print $2}')
16 ap=$(echo $active_connection | awk -F\' '{print $2}')15 conn=$(nmcli -t -f UUID,TYPE,NAME con list | grep wireless | grep -e "$ap$" | head -n 1 | awk -F: '{print $1}')
17 conn=$(nmcli -t -f UUID,TYPE,NAME con list | grep wireless | grep -e "$ap$" | head -n 1 | awk -F\: '{print $1}')
18 else16 else
19 conn=$(nmcli -t -f UUID,TYPE con list | grep wireless | head -n 1 | awk -F\: '{print $1}')17 conn=$(nmcli -t -f UUID,TYPE con list | grep wireless | head -n 1 | awk -F: '{print $1}')
20 fi18 fi
21else19else
22 active_connection=$(nmcli -f SSID,ACTIVE dev wifi | grep yes)20 if active_connection=$(nmcli -f SSID,ACTIVE dev wifi | grep yes); then
23 if [ $? -eq 0 ]; then21 ap=$(echo "$active_connection" | awk '{print $1}')
24 ap=$(echo $active_connection | awk '{print $1}')22 conn=$(nmcli -t -f UUID,TYPE,NAME con show | grep wireless | grep -e "$ap$" | head -n 1 | awk -F: '{print $1}')
25 conn=$(nmcli -t -f UUID,TYPE,NAME con show | grep wireless | grep -e "$ap$" | head -n 1 | awk -F\: '{print $1}')
26 else23 else
27 conn=$(nmcli -t -f UUID,TYPE con show | grep wireless | head -n 1 | awk -F\: '{print $1}')24 conn=$(nmcli -t -f UUID,TYPE con show | grep wireless | head -n 1 | awk -F: '{print $1}')
28 fi25 fi
29fi26fi
3027
31#Strip trailing/leading whitespace28#Strip trailing/leading whitespace
32conn=$(echo $conn |sed 's/^[ \t]*//;s/[ \t]*$//')29conn=$(echo "$conn" |sed 's/^[ \t]*//;s/[ \t]*$//')
3330
34# Find out if wireless is enabled31# Find out if wireless is enabled
35if [ $NMCLI_GTE_0_9_10 -eq 0 ]; then32if [ $NMCLI_GTE_0_9_10 -eq 0 ]; then
@@ -37,6 +34,7 @@ if [ $NMCLI_GTE_0_9_10 -eq 0 ]; then
37else34else
38 nmcli radio wifi | grep -q 'enabled'35 nmcli radio wifi | grep -q 'enabled'
39fi36fi
37# shellcheck disable=SC2181
40if [ $? -ne 0 ]38if [ $? -ne 0 ]
41then39then
42 # Find out why40 # Find out why
@@ -45,21 +43,21 @@ then
45 then43 then
46 blkmessage='Your wireless may be hardware blocked. You may need44 blkmessage='Your wireless may be hardware blocked. You may need
47 to use your wireless key/switch to re-enable it.'45 to use your wireless key/switch to re-enable it.'
48 echo $blkmessage46 echo "$blkmessage"
49 fi47 fi
50fi48fi
5149
52# Check if there's a connection already (wireless or otherwise)50# Check if there's a connection already (wireless or otherwise)
53nmcli dev status | grep -q '\<connected\>'51
54if [ $? -eq 0 ]52if nmcli dev status | grep -q '\<connected\>';
55then53then
56 # Disconnect, pause for a short time54 # Disconnect, pause for a short time
57 for iface in `(nmcli -f GENERAL dev list 2>/dev/null || nmcli -f GENERAL dev show) | grep 'GENERAL.DEVICE' | awk '{print $2}'`55 for iface in $( (nmcli -f GENERAL dev list 2>/dev/null || nmcli -f GENERAL dev show) | grep 'GENERAL.DEVICE' | awk '{print $2}')
58 do56 do
59 if [ $NMCLI_GTE_0_9_10 -eq 0 ]; then57 if [ $NMCLI_GTE_0_9_10 -eq 0 ]; then
60 nmcli dev disconnect iface $iface58 nmcli dev disconnect iface "$iface"
61 else59 else
62 nmcli dev disconnect $iface60 nmcli dev disconnect "$iface"
63 fi61 fi
64 done62 done
65 sleep 263 sleep 2
diff --git a/bin/cycle_vts.sh b/bin/cycle_vts.sh
index c5e1677..a42f8c1 100755
--- a/bin/cycle_vts.sh
+++ b/bin/cycle_vts.sh
@@ -4,7 +4,7 @@ set -o errexit
44
5# NB: This script must be run with root privileges in order to have any effect!5# NB: This script must be run with root privileges in order to have any effect!
66
7CURRENT_VT=`/bin/fgconsole`7CURRENT_VT=$(/bin/fgconsole)
88
9if [ "$CURRENT_VT" == "" ]9if [ "$CURRENT_VT" == "" ]
10then10then
@@ -24,7 +24,7 @@ chvt "$CURRENT_VT"
24sleep 224sleep 2
2525
26# make sure we switched back26# make sure we switched back
27END_VT=`/bin/fgconsole`27END_VT=$(/bin/fgconsole)
28if [ "$END_VT" -ne "$CURRENT_VT" ]28if [ "$END_VT" -ne "$CURRENT_VT" ]
29then29then
30 echo "didn't get back to the original VT" >&230 echo "didn't get back to the original VT" >&2
diff --git a/bin/disk_cpu_load.sh b/bin/disk_cpu_load.sh
index adad55f..a4c45cb 100755
--- a/bin/disk_cpu_load.sh
+++ b/bin/disk_cpu_load.sh
@@ -44,7 +44,6 @@ set -e
4444
45get_params() {45get_params() {
46 disk_device="/dev/sda"46 disk_device="/dev/sda"
47 short_device="sda"
48 verbose=047 verbose=0
49 max_load=3048 max_load=30
50 xfer=409649 xfer=4096
@@ -59,9 +58,8 @@ get_params() {
59 --verbose) verbose=158 --verbose) verbose=1
60 ;;59 ;;
61 *) disk_device="/dev/$1"60 *) disk_device="/dev/$1"
62 disk_device=`echo $disk_device | sed "s/\/dev\/\/dev/\/dev/g"`61 disk_device=$(echo "$disk_device" | sed "s/\/dev\/\/dev/\/dev/g")
63 short_device=$(echo $disk_device | sed "s/\/dev//g")62 if [ ! -b "$disk_device" ] ; then
64 if [ ! -b $disk_device ] ; then
65 echo "Unknown block device \"$disk_device\""63 echo "Unknown block device \"$disk_device\""
66 echo "Usage: $0 [ --max-load <load> ] [ --xfer <mebibytes> ]"64 echo "Usage: $0 [ --max-load <load> ] [ --xfer <mebibytes> ]"
67 echo " [ device-file ]"65 echo " [ device-file ]"
@@ -82,8 +80,8 @@ get_params() {
82sum_array() {80sum_array() {
83 local array=("${@}")81 local array=("${@}")
84 total=082 total=0
85 for i in ${array[@]}; do83 for i in "${array[@]}"; do
86 let total+=$i84 (( total+=i ))
87 done85 done
88} # sum_array()86} # sum_array()
8987
@@ -98,10 +96,10 @@ sum_array() {
98compute_cpu_load() {96compute_cpu_load() {
99 local start_use97 local start_use
100 local end_use98 local end_use
101 IFS=' ' read -r -a start_use <<< $199 IFS=' ' read -r -a start_use <<< "$1"
102 IFS=' ' read -r -a end_use <<< $2100 IFS=' ' read -r -a end_use <<< "$2"
103 local diff_idle101 local diff_idle
104 let diff_idle=${end_use[3]}-${start_use[3]}102 (( diff_idle=end_use[3]-start_use[3] ))
105103
106 sum_array "${start_use[@]}"104 sum_array "${start_use[@]}"
107 local start_total=$total105 local start_total=$total
@@ -110,8 +108,8 @@ compute_cpu_load() {
110108
111 local diff_total109 local diff_total
112 local diff_used110 local diff_used
113 let diff_total=${end_total}-${start_total}111 (( diff_total=end_total-start_total ))
114 let diff_used=$diff_total-$diff_idle112 (( diff_used=diff_total-diff_idle ))
115113
116 if [ "$verbose" == "1" ] ; then114 if [ "$verbose" == "1" ] ; then
117 echo "Start CPU time = $start_total"115 echo "Start CPU time = $start_total"
@@ -136,7 +134,7 @@ get_params "$@"
136retval=0134retval=0
137echo "Testing CPU load when reading $xfer MiB from $disk_device"135echo "Testing CPU load when reading $xfer MiB from $disk_device"
138echo "Maximum acceptable CPU load is $max_load"136echo "Maximum acceptable CPU load is $max_load"
139blockdev --flushbufs $disk_device137blockdev --flushbufs "$disk_device"
140start_load="$(grep "cpu " /proc/stat | tr -s " " | cut -d " " -f 2-)"138start_load="$(grep "cpu " /proc/stat | tr -s " " | cut -d " " -f 2-)"
141if [ "$verbose" == "1" ] ; then139if [ "$verbose" == "1" ] ; then
142 echo "Beginning disk read...."140 echo "Beginning disk read...."
diff --git a/bin/disk_read_performance_test.sh b/bin/disk_read_performance_test.sh
index 7734543..28d0860 100755
--- a/bin/disk_read_performance_test.sh
+++ b/bin/disk_read_performance_test.sh
@@ -6,17 +6,17 @@
6#Default to a lower bound of 15 MB/s6#Default to a lower bound of 15 MB/s
7DEFAULT_BUF_READ=${DISK_READ_PERF:-15}7DEFAULT_BUF_READ=${DISK_READ_PERF:-15}
88
9for disk in $@; do9for disk in "$@"; do
1010
11 echo "Beginning $0 test for $disk"11 echo "Beginning $0 test for $disk"
12 echo "---------------------------------------------------"12 echo "---------------------------------------------------"
1313
14 disk_type=`udevadm info --name /dev/$disk --query property | grep "ID_BUS" | awk '{gsub(/ID_BUS=/," ")}{printf $1}'`14 disk_type=$(udevadm info --name /dev/"$disk" --query property | grep "ID_BUS" | awk '{gsub(/ID_BUS=/," ")}{printf $1}')
15 dev_path=`udevadm info --name /dev/$disk --query property | grep "DEVPATH" | awk '{gsub(/DEVPATH=/," ")}{printf $1}'`15 dev_path=$(udevadm info --name /dev/"$disk" --query property | grep "DEVPATH" | awk '{gsub(/DEVPATH=/," ")}{printf $1}')
16 # /sys/block/$disk/queue/rotational was added with Linux 2.6.29. If file is16 # /sys/block/$disk/queue/rotational was added with Linux 2.6.29. If file is
17 # not present, test below will fail & disk will be considered an HDD, not17 # not present, test below will fail & disk will be considered an HDD, not
18 # an SSD.18 # an SSD.
19 rotational=`cat /sys/block/$disk/queue/rotational`19 rotational=$(cat /sys/block/"$disk"/queue/rotational)
20 if [[ $dev_path =~ dm ]]; then20 if [[ $dev_path =~ dm ]]; then
21 disk_type="devmapper"21 disk_type="devmapper"
22 fi22 fi
@@ -47,10 +47,10 @@ for disk in $@; do
47 MIN_BUF_READ=747 MIN_BUF_READ=7
48 48
49 # Increase MIN_BUF_READ if a USB3 device is plugged in a USB3 hub port49 # Increase MIN_BUF_READ if a USB3 device is plugged in a USB3 hub port
50 if [[ $dev_path =~ ((.*usb[0-9]+).*\/)[0-9]-[0-9\.:\-]+\/.* ]]; then50 if [[ $dev_path =~ ((.*usb[0-9]+).*\/)[0-9]-[0-9\.:-]+/.* ]]; then
51 device_version=`cat '/sys/'${BASH_REMATCH[1]}'/version'`51 device_version=$(cat '/sys/'"${BASH_REMATCH[1]}"'/version')
52 hub_port_version=`cat '/sys/'${BASH_REMATCH[2]}'/version'`52 hub_port_version=$(cat '/sys/'"${BASH_REMATCH[2]}"'/version')
53 if [ $(echo "$device_version >= 3.00"|bc -l) -eq 1 -a $(echo "$hub_port_version >= 3.00"|bc -l) -eq 1 ]; then53 if [ "$(echo "$device_version >= 3.00"|bc -l)" -eq 1 ] && [ "$(echo "$hub_port_version >= 3.00"|bc -l)" -eq 1 ]; then
54 MIN_BUF_READ=8054 MIN_BUF_READ=80
55 fi55 fi
56 fi56 fi
@@ -73,8 +73,8 @@ for disk in $@; do
73 echo "Beginning hdparm timing runs"73 echo "Beginning hdparm timing runs"
74 echo "---------------------------------------------------"74 echo "---------------------------------------------------"
7575
76 for iteration in `seq 1 10`; do76 for iteration in $(seq 1 10); do
77 speed=`hdparm -t /dev/$disk 2>/dev/null | grep "Timing buffered disk reads" | awk -F"=" '{print $2}' | awk '{print $1}'`77 speed=$(hdparm -t /dev/"$disk" 2>/dev/null | grep "Timing buffered disk reads" | awk -F"=" '{print $2}' | awk '{print $1}')
78 echo "INFO: Iteration $iteration: Detected speed is $speed MB/sec"78 echo "INFO: Iteration $iteration: Detected speed is $speed MB/sec"
7979
80 if [ -z "$speed" ]; then80 if [ -z "$speed" ]; then
@@ -83,7 +83,7 @@ for disk in $@; do
83 fi83 fi
8484
85 speed=${speed/.*}85 speed=${speed/.*}
86 if [ $speed -gt $max_speed ]; then86 if [ "$speed" -gt $max_speed ]; then
87 max_speed=$speed87 max_speed=$speed
88 fi88 fi
89 done89 done
@@ -91,7 +91,7 @@ for disk in $@; do
91 echo "---------------------------------------------------"91 echo "---------------------------------------------------"
92 echo ""92 echo ""
93 result=093 result=0
94 if [ $max_speed -gt $MIN_BUF_READ ]; then94 if [ "$max_speed" -gt "$MIN_BUF_READ" ]; then
95 echo "PASS: $disk Max Speed of $max_speed MB/sec is faster than Minimum Buffer Read Speed of $MIN_BUF_READ MB/sec"95 echo "PASS: $disk Max Speed of $max_speed MB/sec is faster than Minimum Buffer Read Speed of $MIN_BUF_READ MB/sec"
96 else96 else
97 echo "FAIL: $disk Max Speed of $max_speed MB/sec is slower than Minimum Buffer Read Speed of $MIN_BUF_READ MB/sec"97 echo "FAIL: $disk Max Speed of $max_speed MB/sec is slower than Minimum Buffer Read Speed of $MIN_BUF_READ MB/sec"
diff --git a/bin/disk_stats_test.sh b/bin/disk_stats_test.sh
index 60b48f5..41ef626 100755
--- a/bin/disk_stats_test.sh
+++ b/bin/disk_stats_test.sh
@@ -16,7 +16,7 @@ check_return_code() {
16 shift16 shift
17 shift17 shift
18 for item in "$@"; do18 for item in "$@"; do
19 echo "output: "$item19 echo "output: ""$item"
20 done20 done
21 fi21 fi
22 fi22 fi
@@ -29,19 +29,19 @@ fi
29nvdimm="pmem"29nvdimm="pmem"
30if [ -z "${DISK##*$nvdimm*}" ];then30if [ -z "${DISK##*$nvdimm*}" ];then
31 echo "Disk $DISK appears to be an NVDIMM, skipping"31 echo "Disk $DISK appears to be an NVDIMM, skipping"
32 exit $STATUS32 exit "$STATUS"
33fi33fi
3434
35#Check /proc/partitions, exit with fail if disk isn't found35#Check /proc/partitions, exit with fail if disk isn't found
36grep -w -q $DISK /proc/partitions36grep -w -q "$DISK" /proc/partitions
37check_return_code $? "Disk $DISK not found in /proc/partitions"37check_return_code $? "Disk $DISK not found in /proc/partitions"
3838
39#Next, check /proc/diskstats39#Next, check /proc/diskstats
40grep -w -q -m 1 $DISK /proc/diskstats40grep -w -q -m 1 "$DISK" /proc/diskstats
41check_return_code $? "Disk $DISK not found in /proc/diskstats"41check_return_code $? "Disk $DISK not found in /proc/diskstats"
4242
43#Verify the disk shows up in /sys/block/43#Verify the disk shows up in /sys/block/
44ls /sys/block | grep -w -q $DISK44ls /sys/block/*"$DISK"* > /dev/null 2>&1
45check_return_code $? "Disk $DISK not found in /sys/block"45check_return_code $? "Disk $DISK not found in /sys/block"
4646
47#Verify there are stats in /sys/block/$DISK/stat47#Verify there are stats in /sys/block/$DISK/stat
@@ -49,8 +49,8 @@ check_return_code $? "Disk $DISK not found in /sys/block"
49check_return_code $? "stat is either empty or nonexistant in /sys/block/$DISK/"49check_return_code $? "stat is either empty or nonexistant in /sys/block/$DISK/"
5050
51#Get some baseline stats for use later51#Get some baseline stats for use later
52PROC_STAT_BEGIN=`grep -w -m 1 $DISK /proc/diskstats`52PROC_STAT_BEGIN=$(grep -w -m 1 "$DISK" /proc/diskstats)
53SYS_STAT_BEGIN=`cat /sys/block/$DISK/stat`53SYS_STAT_BEGIN=$(cat /sys/block/"$DISK"/stat)
5454
55#Generate some disk activity using hdparm -t55#Generate some disk activity using hdparm -t
56hdparm -t "/dev/$DISK" 2&> /dev/null56hdparm -t "/dev/$DISK" 2&> /dev/null
@@ -59,8 +59,8 @@ hdparm -t "/dev/$DISK" 2&> /dev/null
59sleep 559sleep 5
6060
61#Make sure the stats have changed:61#Make sure the stats have changed:
62PROC_STAT_END=`grep -w -m 1 $DISK /proc/diskstats`62PROC_STAT_END=$(grep -w -m 1 "$DISK" /proc/diskstats)
63SYS_STAT_END=`cat /sys/block/$DISK/stat`63SYS_STAT_END=$(cat /sys/block/"$DISK"/stat)
6464
65[[ "$PROC_STAT_BEGIN" != "$PROC_STAT_END" ]]65[[ "$PROC_STAT_BEGIN" != "$PROC_STAT_END" ]]
66check_return_code $? "Stats in /proc/diskstats did not change" \66check_return_code $? "Stats in /proc/diskstats did not change" \
@@ -73,4 +73,4 @@ if [[ $STATUS -eq 0 ]]; then
73 echo "PASS: Finished testing stats for $DISK"73 echo "PASS: Finished testing stats for $DISK"
74fi74fi
7575
76exit $STATUS76exit "$STATUS"
diff --git a/bin/graphics_env.sh b/bin/graphics_env.sh
index 5160ae6..b3ee60b 100755
--- a/bin/graphics_env.sh
+++ b/bin/graphics_env.sh
@@ -12,15 +12,15 @@ INDEX=$2
12# We only want to set the DRI_PRIME env variable on systems with more than12# We only want to set the DRI_PRIME env variable on systems with more than
13# 1 GPU running the amdgpu/radeon drivers.13# 1 GPU running the amdgpu/radeon drivers.
14if [[ $DRIVER == "amdgpu" || $DRIVER == "radeon" ]]; then14if [[ $DRIVER == "amdgpu" || $DRIVER == "radeon" ]]; then
15 NB_GPU=`udev_resource.py -l VIDEO | grep -oP -m1 '\d+'`15 NB_GPU=$(udev_resource.py -l VIDEO | grep -oP -m1 '\d+')
16 if [ $NB_GPU -gt 1 ]; then16 if [[ $NB_GPU -gt 1 ]]; then
17 if [ $INDEX -gt 1 ]; then17 if [[ $INDEX -gt 1 ]]; then
18 # See https://wiki.archlinux.org/index.php/PRIME18 # See https://wiki.archlinux.org/index.php/PRIME
19 echo "Setting up PRIME GPU offloading for AMD discrete GPU"19 echo "Setting up PRIME GPU offloading for AMD discrete GPU"
20 if ! cat /var/log/Xorg.0.log ~/.local/share/xorg/Xorg.0.log 2>&1 | grep -q DRI3; then20 if ! cat /var/log/Xorg.0.log ~/.local/share/xorg/Xorg.0.log 2>&1 | grep -q DRI3; then
21 PROVIDER_ID=`xrandr --listproviders | grep "Sink Output" | awk {'print $4'} | tail -1`21 PROVIDER_ID=$(xrandr --listproviders | grep "Sink Output" | awk '{print $4}' | tail -1)
22 SINK_ID=`xrandr --listproviders | grep "Source Output" | awk {'print $4'} | tail -1`22 SINK_ID=$(xrandr --listproviders | grep "Source Output" | awk '{print $4}' | tail -1)
23 xrandr --setprovideroffloadsink ${PROVIDER_ID} ${SINK_ID}23 xrandr --setprovideroffloadsink "${PROVIDER_ID}" "${SINK_ID}"
24 fi24 fi
25 export DRI_PRIME=125 export DRI_PRIME=1
26 else26 else
diff --git a/bin/led_hdd_test.sh b/bin/led_hdd_test.sh
index eac6ae2..f3f9808 100755
--- a/bin/led_hdd_test.sh
+++ b/bin/led_hdd_test.sh
@@ -1,20 +1,22 @@
1#!/bin/bash1#!/bin/bash
22
3TIMEOUT=33TIMEOUT=3
4TEMPFILE=`mktemp`4TEMPFILE=$(mktemp)
55
6# shellcheck disable=SC2064
6trap "rm $TEMPFILE" EXIT7trap "rm $TEMPFILE" EXIT
78
9# shellcheck disable=SC2034
8for i in $(seq $TIMEOUT); do10for i in $(seq $TIMEOUT); do
9 #launch background writer11 #launch background writer
10 dd if=/dev/urandom of=$TEMPFILE bs=1024 oflag=direct &12 dd if=/dev/urandom of="$TEMPFILE" bs=1024 oflag=direct &
11 WRITE_PID=$!13 WRITE_PID=$!
12 echo "Writing..."14 echo "Writing..."
13 sleep 115 sleep 1
14 kill $WRITE_PID16 kill $WRITE_PID
15 sync17 sync
16 echo "Reading..."18 echo "Reading..."
17 dd if=$TEMPFILE of=/dev/null bs=1024 iflag=direct19 dd if="$TEMPFILE" of=/dev/null bs=1024 iflag=direct
18done20done
1921
20echo "OK, now exiting"22echo "OK, now exiting"
diff --git a/bin/light_sensor_test.sh b/bin/light_sensor_test.sh
index f413396..cb8fbe9 100755
--- a/bin/light_sensor_test.sh
+++ b/bin/light_sensor_test.sh
@@ -20,18 +20,18 @@ echo -e "\e[92mwaiting for sensor to be covered......\e[0m"
20sleep 320sleep 3
2121
22#Output and print light sensor events 5 sec to light_sensor_test.log22#Output and print light sensor events 5 sec to light_sensor_test.log
23timeout 5 monitor-sensor | tee $PLAINBOX_SESSION_SHARE/light_sensor_test.log &23timeout 5 monitor-sensor | tee "$PLAINBOX_SESSION_SHARE"/light_sensor_test.log &
2424
2525
26#Print backlight value for 5 sec on the screen26#Print backlight value for 5 sec on the screen
27for i in {1..10}27for i in {1..10}
28do28do
29 echo "Current Backlight Percentage is:" $(gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.freedesktop.DBus.Properties.Get org.gnome.SettingsDaemon.Power.Screen Brightness)| tr -d '()<>,'29 echo "Current Backlight Percentage is:" "$(gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.freedesktop.DBus.Properties.Get org.gnome.SettingsDaemon.Power.Screen Brightness)"| tr -d '()<>,'
30 sleep 0.530 sleep 0.5
31done31done
3232
33# Fail when the user didn't wave their hand and no events have been collected.33# Fail when the user didn't wave their hand and no events have been collected.
34if [[ $(cat $PLAINBOX_SESSION_SHARE/light_sensor_test.log | grep "Light changed" | wc -l) -lt 5 ]]; then34if [[ $(grep -c "Light changed" "$PLAINBOX_SESSION_SHARE"/light_sensor_test.log) -lt 5 ]]; then
35echo -e "\e[91mFAIL: Not enough data to be collect, Please rerun the test case and wave your hand around Light Sensor.\e[0m"35echo -e "\e[91mFAIL: Not enough data to be collect, Please rerun the test case and wave your hand around Light Sensor.\e[0m"
36exit 136exit 1
37fi37fi
@@ -40,7 +40,7 @@ fi
40#Print 5 values of the Light sensor value form log file40#Print 5 values of the Light sensor value form log file
41for i in {1..5}41for i in {1..5}
42do 42do
43 echo "Ambient light sensor value " $i: `grep 'Light' $PLAINBOX_SESSION_SHARE/light_sensor_test.log | awk '{print $3}' | sed -n "$i"p`43 echo "Ambient light sensor value " $i: "$(grep 'Light' "$PLAINBOX_SESSION_SHARE"/light_sensor_test.log | awk '{print $3}' | sed -n "$i"p)"
44done44done
45exit 045exit 0
4646
diff --git a/bin/maas-version-check.sh b/bin/maas-version-check.sh
index 678088a..6856354 100755
--- a/bin/maas-version-check.sh
+++ b/bin/maas-version-check.sh
@@ -22,13 +22,13 @@ MIN_VERSION="2.0"
2222
23# Is the file there?23# Is the file there?
24if [ -s $MAAS_FILE ]; then24if [ -s $MAAS_FILE ]; then
25 maas_version=`cat $MAAS_FILE`25 maas_version=$(cat $MAAS_FILE)
26 echo $maas_version26 echo "$maas_version"
27else27else
28 echo "ERROR: This system does not appear to have been installed by MAAS"28 echo "ERROR: This system does not appear to have been installed by MAAS"
29 echo "ERROR: " $(ls -l $MAAS_FILE 2>&1)29 echo "ERROR: " "$(ls -l $MAAS_FILE 2>&1)"
30 exit 130 exit 1
31fi31fi
3232
33#is the version appropriate33#is the version appropriate
34exit `dpkg --compare-versions $maas_version "ge" $MIN_VERSION`34exit "$(dpkg --compare-versions "$maas_version" "ge" $MIN_VERSION)"
diff --git a/bin/network_configs.sh b/bin/network_configs.sh
index b2fcc99..4fd354b 100755
--- a/bin/network_configs.sh
+++ b/bin/network_configs.sh
@@ -1,13 +1,13 @@
1#!/bin/bash1#!/bin/bash
22
3if `grep -q "replaced by netplan" /etc/network/interfaces`; then3if grep -q "replaced by netplan" /etc/network/interfaces; then
4 # Get our configs from netplan4 # Get our configs from netplan
5 for directory in "etc" "run" "lib"; do5 for directory in "etc" "run" "lib"; do
6 for configfile in `find /$directory/netplan -type f -name *.yaml`; do6 while IFS= read -r -d '' configfile; do
7 echo "Config File $configfile:"7 echo "Config File $configfile:"
8 cat $configfile8 cat "$configfile"
9 echo ""9 echo ""
10 done10 done < <(find /$directory/netplan -type f -name "*.yaml" -print0)
11 done11 done
12else12else
13 # get configs from Network Manager instead13 # get configs from Network Manager instead
diff --git a/bin/network_printer_test.sh b/bin/network_printer_test.sh
index 19d98d2..2633b6c 100755
--- a/bin/network_printer_test.sh
+++ b/bin/network_printer_test.sh
@@ -19,7 +19,7 @@ while [ $# -gt 0 ]
19do19do
20 case "$1" in20 case "$1" in
21 -p)21 -p)
22 if echo ${2} | grep -q -c '^-'; then22 if echo "${2}" | grep -q -c '^-'; then
23 usage23 usage
24 exit 124 exit 1
25 fi25 fi
@@ -27,7 +27,7 @@ do
27 shift27 shift
28 ;;28 ;;
29 -s)29 -s)
30 if echo ${2} | grep -q -c '^-'; then30 if echo "${2}" | grep -q -c '^-'; then
31 usage31 usage
32 exit 132 exit 1
33 fi33 fi
@@ -42,16 +42,16 @@ do
42 shift42 shift
43done43done
4444
45if [ -z $server ]; then45if [ -z "$server" ]; then
46 echo "Nothing to do with no server defined. (See $0 --usage)"46 echo "Nothing to do with no server defined. (See $0 --usage)"
47 exit 047 exit 0
48fi48fi
4949
50printer=${printer:-PDF}50printer=${printer:-PDF}
5151
52lpadmin -E -v ipp://${server}/printers/${printer}52lpadmin -E -v ipp://"${server}"/printers/"${printer}"
53cupsenable ${printer}53cupsenable "${printer}"
54cupsaccept ${printer}54cupsaccept "${printer}"
5555
56lsb_release -a | lp -t "lsb_release" -d ${printer}56lsb_release -a | lp -t "lsb_release" -d "${printer}"
5757
diff --git a/bin/network_wait.sh b/bin/network_wait.sh
index f0637d0..16d474c 100755
--- a/bin/network_wait.sh
+++ b/bin/network_wait.sh
@@ -2,8 +2,7 @@
22
3x=13x=1
4while true; do4while true; do
5 state=$(/usr/bin/nmcli -t -f STATE nm 2>/dev/null)5 if ! state=$(/usr/bin/nmcli -t -f STATE nm 2>/dev/null); then
6 if [[ $? != 0 ]]; then
7 state=$(/usr/bin/nmcli -t -f STATE general 2>/dev/null)6 state=$(/usr/bin/nmcli -t -f STATE general 2>/dev/null)
8 rc=$?7 rc=$?
9 if [[ $rc != 0 ]]; then8 if [[ $rc != 0 ]]; then
@@ -11,13 +10,13 @@ while true; do
11 fi10 fi
12 fi11 fi
13 if [ "$state" = "connected" ]; then12 if [ "$state" = "connected" ]; then
14 echo $state13 echo "$state"
15 exit 014 exit 0
16 fi15 fi
1716
18 x=$(($x + 1))17 x=$((x + 1))
19 if [ $x -gt 12 ]; then18 if [ $x -gt 12 ]; then
20 echo $state19 echo "$state"
21 exit 120 exit 1
22 fi21 fi
2322
diff --git a/bin/optical_write_test.sh b/bin/optical_write_test.sh
index b127667..ca1dc79 100755
--- a/bin/optical_write_test.sh
+++ b/bin/optical_write_test.sh
@@ -11,7 +11,7 @@ create_working_dirs(){
11 # First, create the temp dir and cd there11 # First, create the temp dir and cd there
12 echo "Creating Temp directory and moving there ..."12 echo "Creating Temp directory and moving there ..."
13 mkdir -p $TEMP_DIR || return 113 mkdir -p $TEMP_DIR || return 1
14 cd $TEMP_DIR14 cd $TEMP_DIR || return 1
15 echo "Now working in $PWD ..."15 echo "Now working in $PWD ..."
16 }16 }
1717
@@ -26,18 +26,18 @@ generate_md5(){
26 # Generate the md5sum26 # Generate the md5sum
27 echo "Generating md5sums of sample files ..."27 echo "Generating md5sums of sample files ..."
28 CUR_DIR=$PWD28 CUR_DIR=$PWD
29 cd $SAMPLE_FILE29 cd $SAMPLE_FILE || return 1
30 md5sum * > $TEMP_DIR/$MD5SUM_FILE30 md5sum -- * > $TEMP_DIR/$MD5SUM_FILE
31 # Check the sums for paranoia sake31 # Check the sums for paranoia sake
32 check_md5 $TEMP_DIR/$MD5SUM_FILE32 check_md5 $TEMP_DIR/$MD5SUM_FILE
33 rt=$?33 rt=$?
34 cd $CUR_DIR34 cd "$CUR_DIR" || exit 1
35 return $rt35 return $rt
36}36}
3737
38check_md5(){38check_md5(){
39 echo "Checking md5sums ..."39 echo "Checking md5sums ..."
40 md5sum -c $140 md5sum -c "$1"
41 return $?41 return $?
42}42}
4343
@@ -55,10 +55,10 @@ burn_iso(){
55 echo "Beginning image burn ..."55 echo "Beginning image burn ..."
56 if [ "$OPTICAL_TYPE" == 'cd' ]56 if [ "$OPTICAL_TYPE" == 'cd' ]
57 then57 then
58 wodim -eject dev=$OPTICAL_DRIVE $ISO_NAME58 wodim -eject dev="$OPTICAL_DRIVE" $ISO_NAME
59 elif [ "$OPTICAL_TYPE" == 'dvd' ] || [ "$OPTICAL_TYPE" == 'bd' ]59 elif [ "$OPTICAL_TYPE" == 'dvd' ] || [ "$OPTICAL_TYPE" == 'bd' ]
60 then60 then
61 growisofs -dvd-compat -Z $OPTICAL_DRIVE=$ISO_NAME61 growisofs -dvd-compat -Z "$OPTICAL_DRIVE=$ISO_NAME"
62 else62 else
63 echo "Invalid type specified '$OPTICAL_TYPE'"63 echo "Invalid type specified '$OPTICAL_TYPE'"
64 exit 164 exit 1
@@ -76,9 +76,9 @@ check_disk(){
76 echo "Waiting up to 5 minutes for drive to be mounted ..."76 echo "Waiting up to 5 minutes for drive to be mounted ..."
77 while true; do77 while true; do
78 sleep $INTERVAL78 sleep $INTERVAL
79 SLEEP_COUNT=`expr $SLEEP_COUNT + $INTERVAL`79 SLEEP_COUNT=$((SLEEP_COUNT + INTERVAL))
80 80
81 mount $OPTICAL_DRIVE 2>&1 |egrep -q "already mounted"81 mount "$OPTICAL_DRIVE" 2>&1 | grep -E -q "already mounted"
82 rt=$?82 rt=$?
83 if [ $rt -eq 0 ]; then83 if [ $rt -eq 0 ]; then
84 echo "Drive appears to be mounted now"84 echo "Drive appears to be mounted now"
@@ -96,8 +96,8 @@ check_disk(){
96 96
97 echo "Deleting original data files ..."97 echo "Deleting original data files ..."
98 rm -rf $SAMPLE_FILE98 rm -rf $SAMPLE_FILE
99 if [ -n "$(mount | grep $OPTICAL_DRIVE)" ]; then99 if mount | grep -q "$OPTICAL_DRIVE"; then
100 MOUNT_PT=$(mount | grep $OPTICAL_DRIVE | awk '{print $3}')100 MOUNT_PT=$(mount | grep "$OPTICAL_DRIVE" | awk '{print $3}')
101 echo "Disk is mounted to $MOUNT_PT"101 echo "Disk is mounted to $MOUNT_PT"
102 else102 else
103 echo "Attempting best effort to mount $OPTICAL_DRIVE on my own"103 echo "Attempting best effort to mount $OPTICAL_DRIVE on my own"
@@ -105,7 +105,7 @@ check_disk(){
105 echo "Creating temp mount point: $MOUNT_PT ..."105 echo "Creating temp mount point: $MOUNT_PT ..."
106 mkdir $MOUNT_PT106 mkdir $MOUNT_PT
107 echo "Mounting disk to mount point ..."107 echo "Mounting disk to mount point ..."
108 mount $OPTICAL_DRIVE $MOUNT_PT108 mount "$OPTICAL_DRIVE" $MOUNT_PT
109 rt=$?109 rt=$?
110 if [ $rt -ne 0 ]; then110 if [ $rt -ne 0 ]; then
111 echo "ERROR: Unable to re-mount $OPTICAL_DRIVE!" >&2111 echo "ERROR: Unable to re-mount $OPTICAL_DRIVE!" >&2
@@ -120,24 +120,24 @@ check_disk(){
120120
121cleanup(){121cleanup(){
122 echo "Moving back to original location"122 echo "Moving back to original location"
123 cd $START_DIR123 cd "$START_DIR" || exit 1
124 echo "Now residing in $PWD"124 echo "Now residing in $PWD"
125 echo "Cleaning up ..."125 echo "Cleaning up ..."
126 umount "$MOUNT_PT"126 umount "$MOUNT_PT"
127 rm -fr $TEMP_DIR127 rm -fr $TEMP_DIR
128 echo "Ejecting spent media ..."128 echo "Ejecting spent media ..."
129 eject $OPTICAL_DRIVE129 eject "$OPTICAL_DRIVE"
130}130}
131131
132failed(){132failed(){
133 echo $1133 echo "$1"
134 echo "Attempting to clean up ..."134 echo "Attempting to clean up ..."
135 cleanup135 cleanup
136 exit 1136 exit 1
137}137}
138138
139if [ -e $1 ]; then139if [ -e "$1" ]; then
140 OPTICAL_DRIVE=$(readlink -f $1)140 OPTICAL_DRIVE=$(readlink -f "$1")
141else141else
142 OPTICAL_DRIVE='/dev/sr0'142 OPTICAL_DRIVE='/dev/sr0'
143fi 143fi
diff --git a/requirements/container-tests-provider-checkbox b/requirements/container-tests-provider-checkbox
index 7aca1bc..7f8a0ba 100755
--- a/requirements/container-tests-provider-checkbox
+++ b/requirements/container-tests-provider-checkbox
@@ -17,6 +17,4 @@ git clone git://git.launchpad.net/plainbox-provider-resource $TMPDIR/plainbox-pr
17python3 $TMPDIR/plainbox-provider-resource/manage.py develop --force17python3 $TMPDIR/plainbox-provider-resource/manage.py develop --force
1818
19./manage.py validate19./manage.py validate
20./manage.py test -u20./manage.py test
21./manage.py test -f
22./manage.py test -i

Subscribers

People subscribed via source and target branches