test_gen 0.2.3

A comprehensive function-like macro, for concisely defining parameterized tests.
Documentation
name: CI

on:
  pull_request:
    branches: "main"
    paths:
      # `README.md` is included in `src/lib.rs` as a doc comment,
      # meaning any changes potentially affecting it's code running,
      # should be validated..
      - "README.md"
      - "**.rs"
      - "**.toml"
    types:
      - opened
      - synchronize
      - reopened
  workflow_call:

env:
  CARGO_TERM_COLOR: always

jobs:    
  validate-pull:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        toolchain:
          - stable
          - beta
          - nightly
          - 1.63.0 # MSRV
    steps:
    - uses: actions/checkout@v3
    - name: Cargo Cache
      uses: actions/cache@v3
      with:
        path: |
          ~/.cargo/bin
          ~/.cargo/registry/index
          ~/.cargo/registry/cache
          ~/.cargo/git/db
          target/
        key: ${{ runner.os }}-cargo-${{ matrix.toolchain }}-${{ hashFiles('Cargo.toml') }}
        restore-keys: |
          ${{ runner.os }}-cargo-${{ matrix.toolchain }}-
          ${{ runner.os }}-cargo-
          ${{ runner.os }}-
    - run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} && rustup component add clippy --toolchain ${{matrix.toolchain}}
    # Validating the formatting of the project shouldn't do very much currently,
    # due to the `rustfmt`'s macro formatting options being nightly exlusive,
    # but hopefully shouldn't add any significant overhead in jobs, and require minimal maintainance in future...
    #
    # Additionally, the library is designed on the stable branch, meaning the check should run on a stable version.
    - name: Validate Formatting
      if: matrix.toolchain == 'stable'
      run: cargo fmt --check --verbose
    - name: Validate Clippy
      run: cargo clippy -- -D warnings --verbose
    - name: Validate Standard Tests
      run: cargo test --verbose
    # As this file is running tests on a library for generating tests,
    # it's required that it run tests on both standard tests,
    # and ignored cases, as generating such tests, is included in it's expected bahaviour...
    - name: Validate Ignored Tests
      run: cargo test --verbose -- --ignored