Search Results for

    Show / Hide Table of Contents

    Manual validation (Windows/macOS)

    This guide is a maintainer smoke checklist for real client environments before release.

    It validates transport/discovery behavior in real conditions. It does not replace automated tests.

    Scope and trust model

    • Target environments: Windows and macOS with a real running League Client.
    • Linux/Wine/Proton layouts are best-effort and should use explicit LCU_LOCKFILE.
    • Do not mark this validation as passed unless checks were executed in a real environment.

    Prerequisites

    • .NET SDK from global.json
    • League Client running on the machine
    • repository cloned locally

    Build the sample once:

    dotnet restore Thresh.slnx
    dotnet build Thresh.slnx -c Release
    

    Smoke checklist

    Run these checks in order.

    1) Lockfile auto-discovery

    Without setting LCU_LOCKFILE, run:

    dotnet run --project samples/Thresh.Samples.Console/Thresh.Samples.Console.csproj -- http-get
    

    Expected outcome:

    • the sample performs a successful LCU HTTP call
    • no manual lockfile path is required

    2) Explicit LCU_LOCKFILE override

    Set LCU_LOCKFILE and run the same demo.

    PowerShell:

    $env:LCU_LOCKFILE = "C:\path\to\lockfile"
    dotnet run --project samples/Thresh.Samples.Console/Thresh.Samples.Console.csproj -- http-get
    Remove-Item Env:LCU_LOCKFILE
    

    Bash/zsh:

    export LCU_LOCKFILE="/path/to/lockfile"
    dotnet run --project samples/Thresh.Samples.Console/Thresh.Samples.Console.csproj -- http-get
    unset LCU_LOCKFILE
    

    Expected outcome:

    • request succeeds using the explicit lockfile path

    3) WebSocket connection

    dotnet run --project samples/Thresh.Samples.Console/Thresh.Samples.Console.csproj -- ws-connect
    

    Expected outcome:

    • WebSocket reaches connected state
    • no immediate reconnect loop under stable client conditions

    4) WebSocket subscription

    dotnet run --project samples/Thresh.Samples.Console/Thresh.Samples.Console.csproj -- sub-typed-snapshot
    

    Expected outcome:

    • initial snapshot callback is received
    • subsequent event callbacks are received when state changes

    5) Sample runner sanity

    dotnet run --project samples/Thresh.Samples.Console/Thresh.Samples.Console.csproj -- --help
    

    Expected outcome:

    • demo list is printed
    • expected demos include http-get, ws-connect, and sub-typed-snapshot

    6) Optional endpoint-level validation

    When a live client state allows it:

    dotnet run --project samples/Thresh.Samples.Console/Thresh.Samples.Console.csproj -- endpoints
    

    Expected outcome:

    • typed endpoint calls return data for available client state

    Failure diagnostics

    If checks fail:

    1. Verify League Client is running.
    2. Use explicit LCU_LOCKFILE to bypass discovery ambiguity.
    3. Confirm local certificate options used by your sample configuration:
      • AcceptSelfSignedCertificates = true
      • WsAcceptSelfSignedCertificates = true
    4. Re-run a single focused demo (http-get or ws-connect) before broader checks.
    5. Capture logs and include OS, client state, and command used in the release PR notes.

    Recording validation in release PRs

    Use concise statements only for checks that were actually executed.

    Example:

    • Windows: ✅ auto-discovery, ✅ LCU_LOCKFILE, ✅ HTTP, ✅ WebSocket connect/subscription
    • macOS: ✅ auto-discovery, ✅ LCU_LOCKFILE, ✅ HTTP, ✅ WebSocket connect/subscription
    • Optional endpoint-level: ⚪ not executed (client state not suitable)
    • Edit this page
    In this article
    Back to top Generated by DocFX