From Fedora Project Wiki

Description

This test case ensures the proper functioning of bolt, the manager for Thunderbolt devices.

Setup

  1. Ensure you have a Fedora system.
  2. Install bolt: sudo dnf install bolt.
  3. Ensure your computer has a Thunderbolt port.
  4. Have a Thunderbolt device ready for connection.

How to test

  1. Open a terminal.
  2. Check the current status of Thunderbolt devices with the command: boltctl list. No devices should be listed if none are connected.
  3. Connect your Thunderbolt device to the computer.
  4. Run boltctl list again. Your device should now appear in the list, potentially in a "disconnected" state.
  5. Monitor the device's state using: boltctl monitor. This command will display changes to the device's state.
  6. If the device is not yet authorized, authorize it using: boltctl authorize [id], where [id] is the unique identifier for your Thunderbolt device from the boltctl list command.
  7. Once authorized, use the Thunderbolt device as intended (e.g., data transfer or display output).
  8. Disconnect the Thunderbolt device.

Expected Results

  1. The boltctl list command should accurately reflect the state of Thunderbolt devices connected to the system.
  2. The boltctl monitor command should display state changes as the device connects, authorizes, and disconnects.
  3. The device should be successfully authorized with the boltctl authorize command.
  4. The Thunderbolt device should function correctly once authorized, providing expected functionalities such as data transfer or display output.
  5. On disconnecting, the device should no longer appear as "connected" in the boltctl list.

Optional

For deeper testing:

  1. Connect multiple Thunderbolt devices and ensure bolt can manage and display statuses for all.
  2. Ensure that booting the system with a Thunderbolt device already connected shows the device correctly in boltctl list.
  3. Test with Thunderbolt devices that offer different functionalities (e.g., storage versus display) to ensure all device types are supported.
  4. Check the behavior when unplugging a device without "safe removal" or during active data transfer.