consolidate the tests locations
This commit is contained in:
@@ -8,8 +8,8 @@ on:
|
||||
branches: [main, develop]
|
||||
paths:
|
||||
- 'src/**'
|
||||
- 'tests/integration/**'
|
||||
- 'bench/golden-corpus/**'
|
||||
- 'src/__Tests/Integration/**'
|
||||
- 'src/__Tests/__Benchmarks/golden-corpus/**'
|
||||
push:
|
||||
branches: [main]
|
||||
workflow_dispatch:
|
||||
@@ -60,14 +60,14 @@ jobs:
|
||||
dotnet-version: "10.0.100"
|
||||
|
||||
- name: Restore dependencies
|
||||
run: dotnet restore tests/integration/**/*.csproj
|
||||
run: dotnet restore src/__Tests/Integration/**/*.csproj
|
||||
|
||||
- name: Build integration tests
|
||||
run: dotnet build tests/integration/**/*.csproj --configuration Release --no-restore
|
||||
run: dotnet build src/__Tests/Integration/**/*.csproj --configuration Release --no-restore
|
||||
|
||||
- name: Run Proof Chain Tests
|
||||
run: |
|
||||
dotnet test tests/integration/StellaOps.Integration.ProofChain \
|
||||
dotnet test src/__Tests/Integration/StellaOps.Integration.ProofChain \
|
||||
--configuration Release \
|
||||
--no-build \
|
||||
--logger "trx;LogFileName=proofchain.trx" \
|
||||
@@ -77,7 +77,7 @@ jobs:
|
||||
|
||||
- name: Run Reachability Tests
|
||||
run: |
|
||||
dotnet test tests/integration/StellaOps.Integration.Reachability \
|
||||
dotnet test src/__Tests/Integration/StellaOps.Integration.Reachability \
|
||||
--configuration Release \
|
||||
--no-build \
|
||||
--logger "trx;LogFileName=reachability.trx" \
|
||||
@@ -85,7 +85,7 @@ jobs:
|
||||
|
||||
- name: Run Unknowns Workflow Tests
|
||||
run: |
|
||||
dotnet test tests/integration/StellaOps.Integration.Unknowns \
|
||||
dotnet test src/__Tests/Integration/StellaOps.Integration.Unknowns \
|
||||
--configuration Release \
|
||||
--no-build \
|
||||
--logger "trx;LogFileName=unknowns.trx" \
|
||||
@@ -93,7 +93,7 @@ jobs:
|
||||
|
||||
- name: Run Determinism Tests
|
||||
run: |
|
||||
dotnet test tests/integration/StellaOps.Integration.Determinism \
|
||||
dotnet test src/__Tests/Integration/StellaOps.Integration.Determinism \
|
||||
--configuration Release \
|
||||
--no-build \
|
||||
--logger "trx;LogFileName=determinism.trx" \
|
||||
@@ -139,7 +139,7 @@ jobs:
|
||||
import hashlib
|
||||
import os
|
||||
|
||||
manifest_path = 'bench/golden-corpus/corpus-manifest.json'
|
||||
manifest_path = 'src/__Tests/__Benchmarks/golden-corpus/corpus-manifest.json'
|
||||
with open(manifest_path) as f:
|
||||
manifest = json.load(f)
|
||||
|
||||
@@ -148,7 +148,7 @@ jobs:
|
||||
|
||||
errors = []
|
||||
for case in manifest.get('cases', []):
|
||||
case_path = os.path.join('bench/golden-corpus', case['path'])
|
||||
case_path = os.path.join('src/__Tests/__Benchmarks/golden-corpus', case['path'])
|
||||
if not os.path.isdir(case_path):
|
||||
errors.append(f'Missing case directory: {case_path}')
|
||||
else:
|
||||
@@ -168,7 +168,7 @@ jobs:
|
||||
|
||||
- name: Run corpus scoring tests
|
||||
run: |
|
||||
dotnet test tests/integration/StellaOps.Integration.Determinism \
|
||||
dotnet test src/__Tests/Integration/StellaOps.Integration.Determinism \
|
||||
--filter "Category=GoldenCorpus" \
|
||||
--configuration Release \
|
||||
--logger "trx;LogFileName=corpus.trx" \
|
||||
@@ -194,7 +194,7 @@ jobs:
|
||||
|
||||
- name: Run full determinism suite
|
||||
run: |
|
||||
dotnet test tests/integration/StellaOps.Integration.Determinism \
|
||||
dotnet test src/__Tests/Integration/StellaOps.Integration.Determinism \
|
||||
--configuration Release \
|
||||
--logger "trx;LogFileName=determinism-full.trx" \
|
||||
--results-directory ./TestResults
|
||||
@@ -203,7 +203,7 @@ jobs:
|
||||
run: |
|
||||
# Run scoring 3 times and compare hashes
|
||||
for i in 1 2 3; do
|
||||
dotnet test tests/integration/StellaOps.Integration.Determinism \
|
||||
dotnet test src/__Tests/Integration/StellaOps.Integration.Determinism \
|
||||
--filter "FullyQualifiedName~IdenticalInput_ProducesIdenticalHash" \
|
||||
--results-directory ./TestResults/run-$i
|
||||
done
|
||||
@@ -236,7 +236,7 @@ jobs:
|
||||
|
||||
- name: Run tests with coverage
|
||||
run: |
|
||||
dotnet test tests/integration/**/*.csproj \
|
||||
dotnet test src/__Tests/Integration/**/*.csproj \
|
||||
--configuration Release \
|
||||
--collect:"XPlat Code Coverage" \
|
||||
--results-directory ./TestResults/Coverage
|
||||
@@ -312,7 +312,7 @@ jobs:
|
||||
|
||||
- name: Run performance tests
|
||||
run: |
|
||||
dotnet test tests/integration/StellaOps.Integration.Performance \
|
||||
dotnet test src/__Tests/Integration/StellaOps.Integration.Performance \
|
||||
--configuration Release \
|
||||
--logger "trx;LogFileName=performance.trx" \
|
||||
--results-directory ./TestResults
|
||||
@@ -323,15 +323,15 @@ jobs:
|
||||
name: performance-report
|
||||
path: |
|
||||
TestResults/**
|
||||
tests/integration/StellaOps.Integration.Performance/output/**
|
||||
src/__Tests/Integration/StellaOps.Integration.Performance/output/**
|
||||
|
||||
- name: Check for regressions
|
||||
run: |
|
||||
# Check if any test exceeded 20% threshold
|
||||
if [ -f "tests/integration/StellaOps.Integration.Performance/output/performance-report.json" ]; then
|
||||
if [ -f "src/__Tests/Integration/StellaOps.Integration.Performance/output/performance-report.json" ]; then
|
||||
python3 -c "
|
||||
import json
|
||||
with open('tests/integration/StellaOps.Integration.Performance/output/performance-report.json') as f:
|
||||
with open('src/__Tests/Integration/StellaOps.Integration.Performance/output/performance-report.json') as f:
|
||||
report = json.load(f)
|
||||
regressions = [m for m in report.get('Metrics', []) if m.get('DeltaPercent', 0) > 20]
|
||||
if regressions:
|
||||
@@ -363,7 +363,7 @@ jobs:
|
||||
|
||||
- name: Run air-gap tests
|
||||
run: |
|
||||
dotnet test tests/integration/StellaOps.Integration.AirGap \
|
||||
dotnet test src/__Tests/Integration/StellaOps.Integration.AirGap \
|
||||
--configuration Release \
|
||||
--logger "trx;LogFileName=airgap.trx" \
|
||||
--results-directory ./TestResults
|
||||
|
||||
Reference in New Issue
Block a user