Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[test] Update WCOW uVM and vSMB, and HostProcess functional tests #1965

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Commits on Apr 10, 2024

  1. Initial file reorg & rename

    WCOW tests can be integrated directly into existing LCOW tests as
    subtests, after generalizing the original (LCOW-only) tests to run both
    types of uVMs and containers.
    
    Break the change into two:
    (1) move (and rename) the original LCOW-only tests; and
    (2) generalize the tests and add the WCOW components.
    
    To simplify the diffs, this commit only includes the first process.
    Specifically, move:
     - `lcow_bench_test.go` to `uvm_bench_test.go`
     - `lcow_container_test.go` to `container_test.go`
     - `lcow_test.go` to `lcow_uvm_test.go`
    
    Within `lcow_uvm_test.go`, combine and generalize kernel arg tests
    (i.e., `TestLCOW_UVMNoSCSINoVPMemInitrd` and
    `TestLCOW_UVMNoSCSISingleVPMemVHD`) to `TestLCOW_UVM_KernelArgs`.
    
    Combine and generalize boot/time tests (e.g.,
    `TestLCOW_TimeUVMStartVHD`, `TestLCOW_UVMStart_KernelDirect_VHD`) to
    `TestLCOW_UVM_Boot`.
    
    Also, since go1.21, `"github.com/Microsoft/hcsshim/internal/sync"` is no
    longer necessary, so replace it with `"sync".OnceValue[s]`.
    
    Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
    helsaawy committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    155d964 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2024

  1. Export FileBindingSupported function

    Expose `FileBindingSupported()` function from `"internal\jobcontainers"`
    so it can be used in functional testing code.
    
    Switch from `sync.Once` to checking for `bindfltapi.dll` during package
    init, since the check is (relatively) cheap.
    
    Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
    helsaawy committed May 16, 2024
    Configuration menu
    Copy the full SHA
    e68a74e View commit details
    Browse the repository at this point in the history
  2. Add WCOW and vSMB functional tests

    Un-skip and fix WCOW uVM and container tests.
    Add WCOW:
    - uVM benchmarks
    - vSMB tests
    - Host Process tests
    
    For WCOW host process tests, add dedicated tests for setting
    username, and verifying hostname and volume mounts.
    
    Fix bug where removing a direct-mapped vSMB share fails.
    
    Run (non-virtualization/uVM) functional tests within CI.
    
    Starting Host Process containers requires SYSTEM to create a
    process with a specified token, so use PsExec.exe (from sysutils)
    to run tests.
    
    Make sure container specs are created with the default working
    directory (`C:\`), similar to how `internal\cmd` works).
    
    Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
    helsaawy committed May 16, 2024
    Configuration menu
    Copy the full SHA
    51c2baf View commit details
    Browse the repository at this point in the history