Merge pull request #4104 from RustPython/fix-jsontests

Fix jsontests.py interaction with module-level SkipTest
This commit is contained in:
Jeong YunWon authored and GitHub committed 2022-08-19 13:09:14 +09:00
commit d4a9301762
5 files changed
+20 -6

No files matched your search

+2
View File
@@ -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() {
+1 -1
View File
@@ -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(),
)
})
+2 -2
View File
@@ -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());
+14 -2
View File
@@ -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
View File
@@ -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