github.com/k8snetworkplumbingwg/sriov-network-operator@v1.2.1-0.20240408194816-2d2e5a45d453/test/scripts/enable-kargs_test.sh (about)

     1  #!/bin/bash
     2  
     3  
     4  SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
     5  SUT_SCRIPT="${SCRIPTPATH}/../../bindata/scripts/enable-kargs.sh"
     6  
     7  
     8  test_RpmOstree_Add_All_Arguments() {
     9      echo "a b c=d eee=fff" > ${FAKE_HOST}/proc/cmdline
    10      touch ${FAKE_HOST}/run/ostree-booted
    11  
    12      output=`$SUT_SCRIPT X=Y W=Z`
    13      assertEquals 0 $?
    14      assertEquals "2" $output
    15  
    16      assertContains "`cat ${FAKE_HOST}/rpm-ostree_calls`" "--append X=Y"
    17      assertContains "`cat ${FAKE_HOST}/rpm-ostree_calls`" "--append W=Z"
    18  }
    19  
    20  
    21  test_RpmOstree_Add_Only_Missing_Arguments() {
    22      echo "a b c=d eee=fff K=L" > ${FAKE_HOST}/proc/cmdline
    23      touch ${FAKE_HOST}/run/ostree-booted
    24  
    25      output=`$SUT_SCRIPT K=L X=Y`
    26      assertEquals 0 $?
    27      assertEquals "1" $output
    28  
    29      assertContains "`cat ${FAKE_HOST}/rpm-ostree_calls`" "--append X=Y"
    30      assertNotContains "`cat ${FAKE_HOST}/rpm-ostree_calls`" "--append K=L"
    31  }
    32  
    33  
    34  ###### Mock /host directory ######
    35  export FAKE_HOST="$(mktemp -d)"
    36  trap 'rm -rf -- "$FAKE_HOST"' EXIT
    37  
    38  setUp() {
    39      mkdir -p                            ${FAKE_HOST}/{usr/bin,etc,proc,run}
    40      cp $(which cat)                     ${FAKE_HOST}/usr/bin/
    41      cp $(which test)                    ${FAKE_HOST}/usr/bin/
    42      cp $(which sh)                      ${FAKE_HOST}/usr/bin/
    43      cp "$SCRIPTPATH/rpm-ostree_mock"    ${FAKE_HOST}/usr/bin/rpm-ostree
    44  }
    45  
    46  # Mock chroot calls to the temporary test folder
    47  export real_chroot=$(which chroot)
    48  chroot() {
    49      $real_chroot $FAKE_HOST ${@:2}
    50  }
    51  export -f chroot
    52  
    53  
    54  source ${SCRIPTPATH}/shunit2