The networkQuality Is Not Strained

brockwalters
New Contributor III

I posted this in the macadmin Slack & kind of forgot to post it here...

Just a 1st crack at it, but, I put this in Self Service so users can run the networkQuality tests. 

  • It gives the user the choice to run the parallel or serial test
  • It shows a progress screen
  • It displays the results at the end of the test in a dialog

You may need to set AppleScript PPPC exceptions but these osascript commands for the most part on recent versions of macOS should be fine without them. Enjoy!

P.S. macOS Monterey only as far as I know... Sorry.

 

#!/bin/zsh

filpth='/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources'
tsttyp=$(/usr/bin/osascript -e "choose from list {\"Download + Upload Speed\", \"Video Conferencing\"} with title \"Network Quality Test\" with prompt \"Please select test type to begin:\"")
case "$tsttyp" in
				  'false' ) exit ;;
'Download + Upload Speed' ) icnsnm='GenericNetworkIcon'
							option='-sv' ;;
	 'Video Conferencing' ) icnsnm='GroupIcon'
							option='-v' ;;
esac

/usr/bin/osascript -e "display dialog \"Test in progress...\n\" buttons {\"Cancel\"} with icon POSIX file \"$filpth/$icnsnm.icns\" with Title \"Network Quality Test - $tsttyp\"" &
prgpid=$!

/usr/bin/networkquality "$option" | /usr/bin/sed '/SUMMARY/d' > /private/tmp/summary.txt &
while true
do
	if [ -n "$(/bin/cat /private/tmp/summary.txt)" ]
	then
		break
	fi
	if /bin/kill -s 0 "$prgpid"
	then
		>&2 echo "waiting for networkquality..."
		/bin/sleep 3
	else
		exit
	fi
done

>&2 echo "$(/bin/cat /private/tmp/summary.txt)"
/usr/bin/osascript -e "display dialog \"$(/bin/cat /private/tmp/summary.txt)\" buttons {\"Ok\"} default button 1 with icon POSIX file \"$filpth/$icnsnm.icns\" with Title \"Network Quality Test - $tsttyp\""
/bin/rm -rf /private/tmp/summary.txt 
/bin/kill -9 "$prgpid"

 

 

11_23_42.jpg11_24_09.jpg

3 REPLIES 3

AVmcclint
Valued Contributor III

This looks very cool! I tried running it in Terminal and got the Test in Progress window, but Terminal just said 

no such file or directory: /usr/bin/networkquality

Sure enough, that file does not exist. Where can one obtain said file? 

AVmcclint
Valued Contributor III

aaahhhhh.... it's only in Monterey. I ran it on my Monterey Mac and it does look very handy..

brockwalters
New Contributor III

Yes. I kind of failed to mention that. 🙂 Sorry!