Here are the primary commands to test all the feature combinations you've defined:


1. cargo test 

Default (`no_std` + `no_alloc`)**

This is the most basic test, running with no features enabled.



2. cargo test --features aes-gcm

 **`no_std` + `no_alloc` + `aes-gcm`**

      * This tests the `no_std` PQC functions *and* the `no_std` (in-place) AES-GCM functions.


3. cargo test --no-default-features --features "alloc,aes-gcm"

 **`no_std` + `alloc` + `aes-gcm`**


      * This tests the `alloc`-based functions (like the 1MB message test) and the `alloc`-based AES-GCM functions.


4. cargo test --features "std,aes-gcm"

 **`std` + `alloc` + `aes-gcm`**

      * This runs the full test suite, including `std`-specific tests like concurrency and the automatic nonce generator.

-----


### ✨ Other Useful `cargo test` Flags

Here are other general commands you can use:

  * **Run a specific test:**

    If you only want to run `test_aes_gcm_round_trip_in_place`, you can filter by name:

    ```

    cargo test test_aes_gcm_round_trip_in_place

    ```

  * **Show `println!` output:**

    To see any output from `println!` statements (which are normally hidden), add the `--nocapture` flag.

    ```

    cargo test -- --nocapture

    ```

  * **Run all tests (all features):**

    This command activates *all* available features (`std`, `alloc`, and `aes-gcm`) at once.


    ```

    cargo test --all-features

    ```

  * **Compile tests without running:**

    This is useful for a quick check to see if your tests compile in a specific configuration.

    ```

    cargo test --no-run --features "std,aes-gcm"

    ```