-
Notifications
You must be signed in to change notification settings - Fork 0
47 lines (39 loc) · 1.48 KB
/
Copy pathtests.yml
File metadata and controls
47 lines (39 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
name: Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install core package (no external deps)
run: pip install -e ".[dev]"
- name: Run zero-dep proof
run: python verify_moa.py
- name: Run pytest suite
run: pytest tests/ -v --tb=short
- name: Run safety benchmarks (jailbreak + FP check)
run: |
python -c "
import sys, pathlib
sys.path.insert(0, str(pathlib.Path('.').resolve()))
from benchmarks.bench_safety import run_jailbreak_battery, run_false_positive_test
total, blocked = run_jailbreak_battery()
assert blocked == total, f'JAILBREAK FAILURE: {total-blocked} attacks succeeded'
fp_total, fp_blocked = run_false_positive_test()
assert fp_blocked == 0, f'FALSE POSITIVE: {fp_blocked}/{fp_total} legitimate actions blocked'
from benchmarks.bench_jailbreak import run_jailbreak_suite
r = run_jailbreak_suite()
assert r.block_rate == 1.0, f'ADVERSARIAL: {r.bypassed} attacks bypassed'
print(f'Safety benchmarks: {blocked}/{total} jailbreaks blocked, 0 false positives, {r.total} adversarial blocked')
"