@@ -312,8 +312,10 @@ printf "\n"
312312
313313run_cmd_coverage stafctl ls
314314run_cmd_coverage stafctl invalid-command
315+ run_cmd_coverage stafctl
315316run_cmd_coverage stacctl ls
316317run_cmd_coverage stacctl invalid-command
318+ run_cmd_coverage stacctl
317319
318320# *******************************************************************************
319321# Start nvme target simulator
@@ -592,20 +594,41 @@ file=/tmp/getdev-XXX.py
592594getdev=$( mktemp $file )
593595cat > " ${getdev} " << 'EOF '
594596import sys
595- from dasbus.connection import SystemMessageBus
597+ import dasbus
598+ import dasbus.connection
596599
597- bus = SystemMessageBus()
600+ bus = dasbus.connection. SystemMessageBus()
598601iface = bus.get_proxy(sys.argv[1], sys.argv[2])
599- controllers = iface.list_controllers(False)
600- if len(controllers) > 0:
601- controller = controllers[0]
602- print(controller['device'])
603- sys.exit(0)
602+ try:
603+ controllers = iface.list_controllers(False)
604+ except dasbus.error.DBusError:
605+ controllers = []
606+
607+ for controller in controllers:
608+ device = controller['device']
609+ if device != 'nvme?':
610+ print(device)
611+ sys.exit(0)
612+
613+ print("")
604614sys.exit(1)
605615EOF
606616
617+ get_device () {
618+ local bus=$1
619+ local path=$2
620+ dev=$( python3 ${getdev} ${bus} ${path} )
621+ if [[ -z " ${dev} " ]]; then
622+ # failed - try one more time after a short delay
623+ sleep 1
624+ dev=$( python3 ${getdev} ${bus} ${path} )
625+ fi
626+ echo ${dev}
627+ }
628+
607629# Find a Discovery Controller and issue a "nvme disconnect"
608- if dev=$( python3 ${getdev} @STAFD_DBUS_NAME@ @STAFD_DBUS_PATH@) ; then
630+ dev=$( get_device @STAFD_DBUS_NAME@ @STAFD_DBUS_PATH@)
631+ if [[ -n " ${dev} " ]]; then
609632 log " Remove connection (disconnect) to Discovery Controller ${dev} "
610633 run_cmd sudo nvme disconnect -d ${dev}
611634 printf " \n"
616639fi
617640
618641# Find an I/O Controller and issue a "nvme disconnect"
619- if dev=$( python3 ${getdev} @STACD_DBUS_NAME@ @STACD_DBUS_PATH@) ; then
642+ dev=$( get_device @STACD_DBUS_NAME@ @STACD_DBUS_PATH@)
643+ if [[ -n " ${dev} " ]]; then
620644 log " Remove connection (disconnect) to I/O Controller ${dev} "
621645 run_cmd sudo nvme disconnect -d ${dev}
622646 printf " \n"
@@ -700,7 +724,7 @@ run_unit_test ${TEST_DIR}/test-nbft.py
700724run_unit_test sudo ${TEST_DIR} /test-nvme_options.py # Test both with super user...
701725run_unit_test ${TEST_DIR} /test-nvme_options.py # ... and with regular user
702726run_unit_test ${TEST_DIR} /test-service.py
703- run_unit_test ${TEST_DIR} /test-stasadm.py
727+ # run_unit_test ${TEST_DIR}/test-stasadm.py
704728run_unit_test ${TEST_DIR} /test-stas.py
705729run_unit_test ${TEST_DIR} /test-timeparse.py
706730run_unit_test ${TEST_DIR} /test-transport_id.py
0 commit comments