blob: 1f279beb42e30e464dfe98a08cbca3c56fc820ae [file] [log] [blame]
#!/bin/bash
#
# Copyright (c) 2014-2017 Nest Labs, Inc.
# All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
program="${builddir}/weave-device-descriptor"
tests=(
'--vendor 0x235A --product 6 --revision 1 --serial-num 05CA01AC29130044 --mfg-date 2014/03/26 --802-15-4-mac 18:B4:30:00:00:1E:8E:E5 --wifi-mac 18:B4:30:27:83:47 --ssid PROTECT-8EE5 --pairing-code K4H9ET'
'--vendor 0x235A --product 0x13 --revision 1 --serial-num 15AA01ZZ01160101 --mfg-date 2016/08/05 --device-id 18B4300400000101'
)
expectedResults=(
'1V:235A$P:6$R:1$D:140326$S:05CA01AC29130044$L:18B43000001E8EE5$W:18B430278347$I:PROTECT-8EE5$C:K4H9ET$'
'1V:235A$P:13$R:1$D:160805$S:15AA01ZZ01160101$E:18B4300400000101$'
)
numTests=${#tests[@]}
for ((testNum = 0; testNum < numTests; testNum++)); do
testArgs=${tests[${testNum}]}
expectedResult=${expectedResults[${testNum}]}
actualResult=`${program} encode ${testArgs}`
if [ "${actualResult}" != "${expectedResult}" ]; then
>&2 echo "${0}: Encode Test ${testNum} FAILED"
>&2 echo " Test arguments : ${testArgs}"
>&2 echo " Expected result : ${expectedResult}"
>&2 echo " Actual result : ${actualResult}"
exit -1
fi
done