mirror of
https://github.com/Dasharo/dcu.git
synced 2026-03-06 14:58:51 -08:00
test: Prepare for using in GH CI test/approvals: Add approvals for CI .github/workflows/tests.yml: Add CI workflow for testing dcuc Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
155 lines
7.3 KiB
Bash
Executable File
155 lines
7.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Run this from the root directory
|
|
|
|
cd ./test || exit
|
|
source approvals.bash
|
|
source test-data.sh
|
|
|
|
cli=../dcuc
|
|
|
|
echo "Setting up test data..."
|
|
if [[ ! -v CI ]]; then
|
|
download_test_data
|
|
fi
|
|
|
|
refresh_test_data
|
|
|
|
export ESCAPED_PWD="${PWD//\//\\/}"
|
|
|
|
describe "help message"
|
|
approve "$cli --help"
|
|
|
|
describe "Try to replace logo in binary supporting that"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli logo ${DATA_WORK_DIR}/protectli_vault_cml_v1.2.0-rc1_vp46xx.rom -l ${DATA_WORK_DIR}/bootsplash.bmp"
|
|
|
|
describe "Try to replace logo in binary NOT supporting that"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli logo ${DATA_WORK_DIR}/protectli_vault_kbl_v1.0.14.rom -l ${DATA_WORK_DIR}/bootsplash.bmp"
|
|
|
|
describe "Try to replace serial in binary supporting that"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli smbios ${DATA_WORK_DIR}/protectli_vault_cml_v1.2.0-rc1_vp46xx.rom -s D07229051"
|
|
|
|
describe "Try to replace serial in binary NOT supporting that"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli smbios ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom -s D07229051"
|
|
|
|
describe "Try to replace UUID in binary supporting that"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli smbios ${DATA_WORK_DIR}/protectli_vault_cml_v1.2.0-rc1_vp46xx.rom -u 96bcfa1a-42b4-6717-a44c-d8bbc18cbea4"
|
|
|
|
describe "Try to replace UUID in binary NOT supporting that"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli smbios ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom -u 96bcfa1a-42b4-6717-a44c-d8bbc18cbea4"
|
|
|
|
describe "Try to replace both serial and UUID in binary supporting that"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli smbios ${DATA_WORK_DIR}/protectli_vault_cml_v1.2.0-rc1_vp46xx.rom -s D07229051 -u 96bcfa1a-42b4-6717-a44c-d8bbc18cbea4"
|
|
|
|
describe "Try to replace both serial and UUID in binary NOT supporting that"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli smbios ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom -s D07229051 -u 96bcfa1a-42b4-6717-a44c-d8bbc18cbea4"
|
|
|
|
describe "Try to replace logo using unsupported format (PDF)"
|
|
approve "$cli logo ${DATA_WORK_DIR}/protectli_vault_cml_v1.2.0-rc1_vp46xx.rom -l ${DATA_WORK_DIR}/dummy.pdf"
|
|
|
|
describe "Try to replace UUID using incorrect format"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli smbios ${DATA_WORK_DIR}/protectli_vault_cml_v1.2.0-rc1_vp46xx.rom -u dead-beef"
|
|
|
|
refresh_test_data
|
|
|
|
describe "Get variable from uninitialized store"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli variable ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom --get SerialRedirection"
|
|
|
|
describe "Initialize variable store in a release binary"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli variable ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom --set SerialRedirection --value Enabled"
|
|
|
|
cp ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom ${DATA_WORK_DIR}/SerialRedirectionDisabled_novacustom_nv4x_adl_v1.6.0.rom
|
|
describe "Set supported bool variable to Disabled"
|
|
approve "$cli variable ${DATA_WORK_DIR}/SerialRedirectionDisabled_novacustom_nv4x_adl_v1.6.0.rom --set SerialRedirection --value Disabled"
|
|
|
|
describe "Get supported bool variable (expecting Disabled)"
|
|
approve "$cli variable ${DATA_WORK_DIR}/SerialRedirectionDisabled_novacustom_nv4x_adl_v1.6.0.rom --get SerialRedirection"
|
|
|
|
cp ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom ${DATA_WORK_DIR}/SerialRedirectionEnabled_novacustom_nv4x_adl_v1.6.0.rom
|
|
describe "Set supported bool variable to Enabled"
|
|
approve "$cli variable ${DATA_WORK_DIR}/SerialRedirectionEnabled_novacustom_nv4x_adl_v1.6.0.rom --set SerialRedirection --value Enabled"
|
|
|
|
describe "Get supported bool variable (expecting Enabled)"
|
|
approve "$cli variable ${DATA_WORK_DIR}/SerialRedirectionEnabled_novacustom_nv4x_adl_v1.6.0.rom --get SerialRedirection"
|
|
|
|
describe "Set supported bool variable to invalid value"
|
|
approve "$cli variable ${DATA_WORK_DIR}/SerialRedirectionEnabled_novacustom_nv4x_adl_v1.6.0.rom --set SerialRedirection --value EnabledInvalid"
|
|
|
|
cp ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom ${DATA_WORK_DIR}/MeModeEnabled_novacustom_nv4x_adl_v1.6.0.rom
|
|
describe "Set MeMode to Enabled"
|
|
approve "$cli variable ${DATA_WORK_DIR}/MeModeEnabled_novacustom_nv4x_adl_v1.6.0.rom --set MeMode --value Enabled"
|
|
|
|
describe "Get MeMode (expecting Enabled)"
|
|
approve "$cli variable ${DATA_WORK_DIR}/MeModeEnabled_novacustom_nv4x_adl_v1.6.0.rom --get MeMode"
|
|
|
|
cp ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom ${DATA_WORK_DIR}/MeModeDisabledSoft_novacustom_nv4x_adl_v1.6.0.rom
|
|
describe "Set MeMode to Disabled (Soft)"
|
|
approve "$cli variable ${DATA_WORK_DIR}/MeModeDisabledSoft_novacustom_nv4x_adl_v1.6.0.rom --set MeMode --value \"Disabled (Soft)\""
|
|
|
|
describe "Get MeMode (expecting Disabled (Soft))"
|
|
approve "$cli variable ${DATA_WORK_DIR}/MeModeDisabledSoft_novacustom_nv4x_adl_v1.6.0.rom --get MeMode"
|
|
|
|
cp ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom ${DATA_WORK_DIR}/MeModeDisabledHAP_novacustom_nv4x_adl_v1.6.0.rom
|
|
describe "Set MeMode to Disabled (HAP)"
|
|
approve "$cli variable ${DATA_WORK_DIR}/MeModeDisabledHAP_novacustom_nv4x_adl_v1.6.0.rom --set MeMode --value \"Disabled (HAP)\""
|
|
|
|
describe "Get MeMode (expecting Disabled (HAP))"
|
|
approve "$cli variable ${DATA_WORK_DIR}/MeModeDisabledHAP_novacustom_nv4x_adl_v1.6.0.rom --get MeMode"
|
|
|
|
describe "Set MeMode to InvalidMode"
|
|
approve "$cli variable ${DATA_WORK_DIR}/MeModeDisabledHAP_novacustom_nv4x_adl_v1.6.0.rom --set MeMode --value InvalidMode"
|
|
|
|
cp ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom ${DATA_WORK_DIR}/FanCurveSilent_novacustom_nv4x_adl_v1.6.0.rom
|
|
describe "Set FanCurveOption to Silent"
|
|
approve "$cli variable ${DATA_WORK_DIR}/FanCurveSilent_novacustom_nv4x_adl_v1.6.0.rom --set FanCurveOption --value Silent"
|
|
|
|
describe "Get FanCurveMode (expecting Silent)"
|
|
approve "$cli variable ${DATA_WORK_DIR}/FanCurveSilent_novacustom_nv4x_adl_v1.6.0.rom --get FanCurveOption"
|
|
|
|
cp ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom ${DATA_WORK_DIR}/FanCurvePerformance_novacustom_nv4x_adl_v1.6.0.rom
|
|
describe "Set FanCurveOption to Performance"
|
|
approve "$cli variable ${DATA_WORK_DIR}/FanCurvePerformance_novacustom_nv4x_adl_v1.6.0.rom --set FanCurveOption --value Performance"
|
|
|
|
describe "Get FanCurveMode (expecting Performance)"
|
|
approve "$cli variable ${DATA_WORK_DIR}/FanCurvePerformance_novacustom_nv4x_adl_v1.6.0.rom --get FanCurveOption"
|
|
|
|
describe "Set FanCurveMode to InvalidMode"
|
|
approve "$cli variable ${DATA_WORK_DIR}/FanCurvePerormance_novacustom_nv4x_adl_v1.6.0.rom --set FanCurveOption --value InvalidMode"
|
|
|
|
describe "Set unsupported variable"
|
|
approve "$cli variable ${DATA_WORK_DIR}/novacustom_nv4x_adl_v1.6.0.rom --set SerialRedirectionInvalid --value Enabled"
|
|
|
|
describe "Set valid MAC"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli mac ${DATA_WORK_DIR}/novacustom_v540tu_mtl_v0.9.0_gbe.rom --set 12:34:56:78:9A:BC"
|
|
|
|
describe "Set invalid MAC"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli mac ${DATA_WORK_DIR}/novacustom_v540tu_mtl_v0.9.0_gbe.rom --set 00:00:00:00:00:00"
|
|
|
|
describe "Get MAC (should be set by 'Set valid MAC' and not set by 'Set invalid MAC')"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli mac ${DATA_WORK_DIR}/novacustom_v540tu_mtl_v0.9.0_gbe.rom"
|
|
|
|
describe "Get MAC Bad checksums"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli mac ${DATA_WORK_DIR}/novacustom_v540tu_mtl_v0.9.0.rom"
|
|
|
|
describe "Set MAC Bad checksums"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli mac ${DATA_WORK_DIR}/novacustom_v540tu_mtl_v0.9.0.rom --set 12:34:56:78:9A:BC"
|
|
|
|
describe "MAC Unsupported binary"
|
|
allow_diff $ESCAPED_PWD
|
|
approve "$cli mac ${DATA_WORK_DIR}/protectli_vault_cml_v1.2.0-rc1_vp46xx.rom"
|