mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-28 18:59:04 +08:00
Merge pull request #4104 from RustPython/fix-jsontests
Fix jsontests.py interaction with module-level SkipTest
This commit is contained in:
5 files changed
+20
-6
No files matched your search
@@ -29,8 +29,10 @@ jobs:
|
||||
- name: run snippets
|
||||
run: LLVM_PROFILE_FILE="$PWD/snippet-%p.profraw" pytest -v
|
||||
working-directory: ./extra_tests
|
||||
continue-on-error: true
|
||||
- name: run cpython tests
|
||||
run: LLVM_PROFILE_FILE="$PWD/regrtest.profraw" target/release/rustpython -m test -v
|
||||
continue-on-error: true
|
||||
- name: prepare code coverage data
|
||||
run: |
|
||||
rusttool() {
|
||||
|
||||
@@ -116,7 +116,7 @@ pub fn criterion_benchmark(c: &mut Criterion) {
|
||||
.map(|entry| {
|
||||
let path = entry.unwrap().path();
|
||||
(
|
||||
path.file_name().unwrap().to_owned().unwrap().to_owned(),
|
||||
path.file_name().unwrap().to_str().unwrap().to_owned(),
|
||||
std::fs::read_to_string(path).unwrap(),
|
||||
)
|
||||
})
|
||||
|
||||
@@ -3,7 +3,7 @@ use criterion::{
|
||||
Criterion, Throughput,
|
||||
};
|
||||
use rustpython_compiler::Mode;
|
||||
use rustpython_vm::{common::ascii, AsObject, Interpreter, PyResult, Settings};
|
||||
use rustpython_vm::{AsObject, Interpreter, PyResult, Settings};
|
||||
use std::{
|
||||
ffi, fs, io,
|
||||
path::{Path, PathBuf},
|
||||
@@ -138,7 +138,7 @@ fn bench_rustpy_code(group: &mut BenchmarkGroup<WallTime>, bench: &MicroBenchmar
|
||||
scope
|
||||
.locals
|
||||
.as_object()
|
||||
.set_item(vm.new_pyobj(ascii!("ITERATIONS")), vm.new_pyobj(idx), vm)
|
||||
.set_item("ITERATIONS", vm.new_pyobj(idx), vm)
|
||||
.expect("Error adding ITERATIONS local variable");
|
||||
}
|
||||
let setup_result = vm.run_code_obj(setup_code.clone(), scope.clone());
|
||||
|
||||
@@ -3,9 +3,21 @@ from custom_text_test_runner import CustomTextTestRunner as Runner
|
||||
from test.libregrtest.runtest import findtests
|
||||
import os
|
||||
|
||||
testnames = ('test.' + name for name in findtests())
|
||||
|
||||
suite = unittest.defaultTestLoader.loadTestsFromNames(testnames)
|
||||
def loadTestsOrSkip(loader, name):
|
||||
try:
|
||||
return loader.loadTestsFromName(name)
|
||||
except unittest.SkipTest as exc:
|
||||
# from _make_skipped_test from unittest/loader.py
|
||||
@unittest.skip(str(exc))
|
||||
def testSkipped(self):
|
||||
pass
|
||||
attrs = {name: testSkipped}
|
||||
TestClass = type("ModuleSkipped", (unittest.TestCase,), attrs)
|
||||
return loader.suiteClass((TestClass(name),))
|
||||
|
||||
loader = unittest.defaultTestLoader
|
||||
suite = loader.suiteClass([loadTestsOrSkip(loader, 'test.' + name) for name in findtests()])
|
||||
|
||||
resultsfile = os.path.join(os.path.dirname(__file__), "cpython_tests_results.json")
|
||||
if os.path.exists(resultsfile):
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env python3 -I
|
||||
#!/usr/bin/env -S python3 -I
|
||||
|
||||
# This script generates Lib/snippets/whats_left_data.py with these variables defined:
|
||||
# expected_methods - a dictionary mapping builtin objects to their methods
|
||||
|
||||
Reference in new issue
Block a user