xref: /openbmc/google-misc/nemora-postd/subprojects/ncsid/test/normalize_mac_test.sh (revision dab96f131fb3a46d93f1093feccc9095d8589ece)
1*#!/bin/bash
2*# Copyright 2021 Google LLC
3*#
4*# Licensed under the Apache License, Version 2.0 (the "License");
5*# you may not use this file except in compliance with the License.
6*# You may obtain a copy of the License at
7*#
8*#      http://www.apache.org/licenses/LICENSE-2.0
9*#
10*# Unless required by applicable law or agreed to in writing, software
11*# distributed under the License is distributed on an "AS IS" BASIS,
12*# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*# See the License for the specific language governing permissions and
14*# limitations under the License.
15*
16*TEST_DIR="$(dirname "${BASH_SOURCE[0]}")"
17*source "$TEST_DIR"/test_lib.sh
18*
19*TestNormalizeMACInvalidArgs() {
20*  ! "$NORMALIZE_MAC"
21*  ! "$NORMALIZE_MAC" '0:0:0:0:0:0' 'extra'
22*}
23*
24*TestNormalizeMACBadMAC() {
25*  ! "$NORMALIZE_MAC" '0:0'
26*  ! "$NORMALIZE_MAC" '0:0:0:0:0:0:0'
27*  ! "$NORMALIZE_MAC" '1ff:0:0:0:0'
28*}
29*
30*TestNormalizeMACSuccess() {
31*  StrEq "$("$NORMALIZE_MAC" '0:0:0:0:0:0')" '00:00:00:00:00:00'
32*  StrEq "$("$NORMALIZE_MAC" 'ff:0f:0:0:11:1')" 'ff:0f:00:00:11:01'
33*  StrEq "$("$NORMALIZE_MAC" '0:0:0:0:0:ff')" "$("$NORMALIZE_MAC" '0:0:0:0:0:FF')"
34*}
35*
36*TESTS+=(
37*  TestNormalizeMACInvalidArgs
38*  TestNormalizeMACBadMAC
39*  TestNormalizeMACSuccess
40*)
41*
42*return 0 2>/dev/null
43*TestAnythingMain
44*