Skip to content

Commit 55de819

Browse files
docs: generalize __init__ docstring and add fixture acquisition READMEs
Update the package docstring to cover confidential VMs broadly, not just TDX. Add README files to tests/fixtures/firmware/ and tests/fixtures/uki/ explaining how to obtain the binary test fixtures from GCS.
1 parent 9eb04e2 commit 55de819

3 files changed

Lines changed: 79 additions & 1 deletion

File tree

src/cvm_measure/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
"""cvm-measure: compute expected TDX register values from published inputs."""
15+
"""cvm-measure: compute expected confidential VM register values from published inputs."""
1616

1717
__version__ = "0.1.0"

tests/fixtures/firmware/README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Firmware Test Fixtures
2+
3+
Place OVMF firmware binaries here to enable MRTD integration tests.
4+
5+
## How to obtain
6+
7+
Google publishes OVMF firmware binaries for GCE TDX VMs in a public GCS bucket.
8+
Files are named by their SHA-384 hash. Look up the hash in the corresponding
9+
baseline file (`fixtures/baselines/a3-highgpu-1g.json`, field `firmware_sha384`),
10+
then download:
11+
12+
```bash
13+
HASH=f53fdf89544e1e6d785eee42d0a4bb38e26b36e951be537ac22114d210f2d5239eba243dd71991afe8345e7020974a46
14+
15+
gsutil cp \
16+
gs://gce_tcb_integrity/ovmf_x64_csm/${HASH}.fd \
17+
tests/fixtures/firmware/ovmf-a3-highgpu-1g.fd
18+
```
19+
20+
To verify the download:
21+
22+
```bash
23+
sha384sum tests/fixtures/firmware/ovmf-a3-highgpu-1g.fd
24+
```
25+
26+
The output should match the hash used above.
27+
28+
## Available firmware images
29+
30+
Browse all available images:
31+
32+
```bash
33+
gsutil ls gs://gce_tcb_integrity/ovmf_x64_csm/
34+
```
35+
36+
Without firmware binaries, tests that depend on them are automatically skipped.

tests/fixtures/uki/README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# UKI Test Fixtures
2+
3+
Place UKI (Unified Kernel Image) binaries here to enable PE parsing and
4+
end-to-end register computation tests.
5+
6+
## How to obtain
7+
8+
The UKI (BOOTX64.EFI) is extracted from a PodVM disk image built by the
9+
fortress CI pipeline. The disk images are stored in GCS.
10+
11+
### 1. Download the disk image
12+
13+
```bash
14+
gsutil cp \
15+
gs://cohere-confidential-computing-podvm-build/ubuntu-mkosi-tdx-debug-2026-03-27/disk.tar.gz \
16+
/tmp/disk.tar.gz
17+
```
18+
19+
### 2. Extract the UKI
20+
21+
Use the extraction script from the fortress repo (requires `mtools`):
22+
23+
```bash
24+
# Install mtools if needed
25+
brew install mtools # macOS
26+
apt install mtools # Linux
27+
28+
# Extract BOOTX64.EFI from the disk image
29+
python3 ../fortress/deployment/terraform/podvm-build/scripts/extract-uki.py \
30+
/tmp/disk.tar.gz \
31+
tests/fixtures/uki/bootx64-a3-highgpu-1g.efi
32+
```
33+
34+
The script will print the file size and SHA-384 hash to stderr.
35+
36+
### 3. Clean up
37+
38+
```bash
39+
rm /tmp/disk.tar.gz
40+
```
41+
42+
Without UKI binaries, tests that depend on them are automatically skipped.

0 commit comments

Comments
 (0)