Commit e770112b authored by Serge Semin's avatar Serge Semin Committed by Jon Mason
Browse files

NTB: ntb_test: Add ntb_tool Message tests



Messages NTB API is now available. ntb_tool driver has been altered
to perform messages send and receive operation. The test of messages
read/write to/from peer device has been added to the script.

Signed-off-by: default avatarSerge Semin <fancer.lancer@gmail.com>
Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
parent 06bd0407
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -282,6 +282,40 @@ function scratchpad_test()
	echo "  Passed"
}

function message_test()
{
	LOC=$1
	REM=$2

	echo "Running msg tests on: $(subdirname $LOC) / $(subdirname $REM)"

	CNT=$(get_files_count "msg" "$LOC")

	if [[ $CNT -eq 0 ]]; then
		echo "  Unsupported"
		return
	fi

	MSG_OUTBITS_MASK=$(read_file "$LOC/../msg_inbits")
	MSG_INBITS_MASK=$(read_file "$REM/../msg_inbits")

	write_file "c $MSG_OUTBITS_MASK" "$LOC/../msg_sts"
	write_file "c $MSG_INBITS_MASK" "$REM/../msg_sts"

	for ((i = 0; i < $CNT; i++)); do
		VAL=$RANDOM
		write_file "$VAL" "$LOC/msg$i"
		RVAL=$(read_file "$REM/../msg$i")

		if [[ "$VAL" -ne "${RVAL%%<-*}" ]]; then
			echo "Message $i value $RVAL doesn't match $VAL" >&2
			exit -1
		fi
	done

	echo "  Passed"
}

function write_mw()
{
	split_remote $2
@@ -414,6 +448,9 @@ function ntb_tool_tests()
	scratchpad_test "$LOCAL_PEER_TOOL" "$REMOTE_PEER_TOOL"
	scratchpad_test "$REMOTE_PEER_TOOL" "$LOCAL_PEER_TOOL"

	message_test "$LOCAL_PEER_TOOL" "$REMOTE_PEER_TOOL"
	message_test "$REMOTE_PEER_TOOL" "$LOCAL_PEER_TOOL"

	for PEER_TRANS in $(ls "$LOCAL_TOOL"/peer_trans*); do
		PT=$(basename $PEER_TRANS)
		write_file $MW_SIZE "$LOCAL_TOOL/$PT"