v0.31.8
This commit is contained in:
1 parent
68ada6680d
commit
180a0e4877
56 files changed
+9866
-205
No files matched your search
Executable
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python3
|
||||
"""0.31.8 source-only regression; does NOT claim Rust compilation or memory profiling."""
|
||||
from pathlib import Path
|
||||
import json
|
||||
import re
|
||||
import tomllib
|
||||
from html.parser import HTMLParser
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
def read(rel): return (ROOT / rel).read_text(encoding='utf-8')
|
||||
assert tomllib.loads(read('Cargo.toml'))['package']['version'] == '0.31.8'
|
||||
assert 'name = "rust-proxy"\nversion = "0.31.8"' in read('Cargo.lock')
|
||||
assert json.loads(read('src/admin/openapi.json'))['info']['version'] == '0.31.8'
|
||||
|
||||
pages = read('src/pages.rs')
|
||||
for code in (400, 401, 403, 404, 408, 410, 413, 429, 500, 502, 503, 504):
|
||||
file = f'src/admin/web/error_{code}.html'
|
||||
markup = read(file)
|
||||
assert markup.lstrip().startswith('<!doctype html>'), file
|
||||
assert 'background: #131615' in markup and 'max-width: 620px' in markup, file
|
||||
assert re.search(rf'<h1>{code} - [^<]+</h1>', markup), file
|
||||
assert f'include_str!("admin/web/error_{code}.html")' in pages, file
|
||||
assert 'status_200.html' in pages and '<h1>200 - OK</h1>' in read('src/admin/web/status_200.html')
|
||||
assert 'RustProxy generated this response.' in pages and 'background: #131615' in pages
|
||||
assert 'matches!(status, StatusCode::NO_CONTENT | StatusCode::RESET_CONTENT | StatusCode::NOT_MODIFIED)' in pages
|
||||
|
||||
geoip = read('src/geoip.rs')
|
||||
assert 'ipv4: Box<[V4Range]>, ipv6: Box<[V6Range]>' in geoip
|
||||
assert 'ipv4.into_boxed_slice()' in geoip and 'ipv6.into_boxed_slice()' in geoip
|
||||
assert 'start: [u8; 16]' in geoip and 'end: [u8; 16]' in geoip
|
||||
assert 'u128::from(ip).to_be_bytes()' in geoip and 'ip <= item.end' in geoip
|
||||
assert 'size_of::<V6Range>(), 34' in read('src/geoip/tests.rs')
|
||||
|
||||
cached = read('src/cache/fill.rs') + read('src/cache/lookup/tiered.rs')
|
||||
for marker in ('bytes.try_into_mut()', 'mutable.capacity()', 'candidate.shared = Some(bytes.clone())',
|
||||
'shared_allocated', 'candidate.fill_gauge.grow(allocation', 'if transformed { 0 }',
|
||||
'candidate.data.extend_from_slice(data)'):
|
||||
assert marker in cached, marker
|
||||
|
||||
q = read('src/admin/file_logs.rs') + read('src/admin/file_logs_query.rs')
|
||||
for marker in ('sort_by: Option<String>', 'sort_descending: Option<bool>', 'valid_raw_field_key(field)',
|
||||
'fn sort_file_log_records(', 'stored_log_sort_key(&record, field)',
|
||||
'file_log_field(record, field)', 'None, Some(_)', 'sort_file_log_records(&mut records'):
|
||||
assert marker in q, marker
|
||||
assert q.index('sort_file_log_records(&mut records') < q.index('let page = records')
|
||||
print('PASS: 0.31.8 versions, 13 matching HTML pages, GeoIP packed/boxed sources, cache ownership/accounting and bounded server sorting (static only).')
|
||||
Reference in new issue
Block a user