diff --git a/.github/workflows/vmsdk-test-python.yaml b/.github/workflows/vmsdk-test-python.yaml index 66461f01..689076d4 100644 --- a/.github/workflows/vmsdk-test-python.yaml +++ b/.github/workflows/vmsdk-test-python.yaml @@ -7,17 +7,37 @@ on: paths: - 'vmsdk/**/*.py' - 'common/**/*.py' + - 'setupenv.sh' + - '.github/workflows/vmsdk-test-python.yaml' pull_request: paths: - 'vmsdk/**/*.py' - 'common/**/*.py' + - 'setupenv.sh' + - '.github/workflows/vmsdk-test-python.yaml' workflow_dispatch: +env: + VMSDK_PYTEST_DIR: 'vmsdk_pytest' + jobs: vmsdk_pytest: runs-on: [self-hosted, tdx-guest] + defaults: + run: + working-directory: ${{env.VMSDK_PYTEST_DIR}} steps: - - uses: actions/checkout@v3 + - name: Clean up intermediate files + continue-on-error: true + run: | + # Remove the intermediate files that could be left + # by previous run with sudo. Otherwise, the checkout + # will fail with permission issue. + sudo rm -fr ./* + - name: Checkout repo + uses: actions/checkout@v4 + with: + path: ${{env.VMSDK_PYTEST_DIR}} - name: Run PyTest for VMSDK run: | set -ex diff --git a/.github/workflows/vmsdk-test-rust.yml b/.github/workflows/vmsdk-test-rust.yaml similarity index 70% rename from .github/workflows/vmsdk-test-rust.yml rename to .github/workflows/vmsdk-test-rust.yaml index eeb65b5e..a2ba2d19 100644 --- a/.github/workflows/vmsdk-test-rust.yml +++ b/.github/workflows/vmsdk-test-rust.yaml @@ -6,17 +6,23 @@ on: - main paths: - 'vmsdk/rust/**/*' + - '.github/workflows/vmsdk-test-rust.yaml' pull_request: paths: - 'vmsdk/rust/**/*' + - '.github/workflows/vmsdk-test-rust.yaml' workflow_dispatch: env: CARGO_TERM_COLOR: always + VMSDK_RUST_TEST_DIR: vmsdk_rust_test jobs: vmsdk_rust_test: runs-on: [self-hosted, tdx-guest] + defaults: + run: + working-directory: ${{env.VMSDK_RUST_TEST_DIR}} steps: - name: Clean up intermediate files continue-on-error: true @@ -26,7 +32,10 @@ jobs: # will fail with permission issue. sudo rm -f vmsdk/rust/cctrusted_vm/Cargo.lock sudo rm -fr vmsdk/rust/cctrusted_vm/target - - uses: actions/checkout@v3 + - name: Checkout repo + uses: actions/checkout@v4 + with: + path: ${{env.VMSDK_RUST_TEST_DIR}} - name: Run tests run: | cd vmsdk/rust/cctrusted_vm/ diff --git a/vmsdk/python/cctrusted_vm/sdk.py b/vmsdk/python/cctrusted_vm/sdk.py index dc224b60..1a715ff6 100644 --- a/vmsdk/python/cctrusted_vm/sdk.py +++ b/vmsdk/python/cctrusted_vm/sdk.py @@ -135,7 +135,7 @@ def get_cc_eventlog(self, start:int = None, count:int = None) -> list: self._cvm.process_eventlog() event_logs = EventLogs(self._cvm.boot_time_event_log, self._cvm.runtime_event_log, - TcgEventLog.TCG_PCCLIENT_FORMAT) + TcgEventLog.TCG_FORMAT_PCCLIENT) event_logs.select(start, count) diff --git a/vmsdk/python/tests/test_sdk.py b/vmsdk/python/tests/test_sdk.py index ee76fe7b..dec10a14 100644 --- a/vmsdk/python/tests/test_sdk.py +++ b/vmsdk/python/tests/test_sdk.py @@ -2,6 +2,7 @@ from cctrusted_base.ccreport import CcReport, CcReportData, CcReportSignature from cctrusted_base.tcg import TcgImrEvent, TcgPcClientImrEvent +from cctrusted_base.tcgcel import TcgTpmsCelEvent import pytest def test_get_default_algorithms(vm_sdk, default_alg_id): @@ -81,7 +82,7 @@ def test_get_cc_eventlog_with_valid_input(vm_sdk): event_count = 0 for e in eventlog: event_count += 1 - assert isinstance(e, (TcgImrEvent, TcgPcClientImrEvent)) + assert isinstance(e, (TcgImrEvent, TcgPcClientImrEvent, TcgTpmsCelEvent)) def test_get_cc_report_with_valid_input(vm_sdk, check_quote_valid_input): """Test get_cc_report() function with valid input."""