use python API for tests
Before: real 0m4.807s user 0m3.817s sys 0m0.920s After: real 0m1.236s user 0m1.011s sys 0m0.222s Multiply by number of testcases we didn't implement yet and by python versions we want to test on. Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
This commit is contained in:
parent
67a12b527f
commit
8155c69e38
1 changed files with 6 additions and 9 deletions
15
test.py
15
test.py
|
@ -7,6 +7,8 @@ import textwrap
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
from rust2rpm import Metadata
|
||||||
|
|
||||||
DUMMY_LIB = """
|
DUMMY_LIB = """
|
||||||
pub fn say_hello() {
|
pub fn say_hello() {
|
||||||
println!("Hello, World!");
|
println!("Hello, World!");
|
||||||
|
@ -36,12 +38,6 @@ def cargo_toml(request):
|
||||||
return make_cargo_toml
|
return make_cargo_toml
|
||||||
|
|
||||||
|
|
||||||
def run(*params):
|
|
||||||
cmd = [sys.executable, DEPGEN, *params]
|
|
||||||
out = subprocess.check_output(cmd, universal_newlines=True)
|
|
||||||
return out.split("\n")[:-1]
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("toml, provides, requires, conflicts", [
|
@pytest.mark.parametrize("toml, provides, requires, conflicts", [
|
||||||
|
|
||||||
# Basic provides
|
# Basic provides
|
||||||
|
@ -278,6 +274,7 @@ def run(*params):
|
||||||
|
|
||||||
])
|
])
|
||||||
def test_depgen(toml, provides, requires, conflicts, cargo_toml):
|
def test_depgen(toml, provides, requires, conflicts, cargo_toml):
|
||||||
assert run("--provides", cargo_toml(toml)) == provides
|
md = Metadata.from_file(cargo_toml(toml))
|
||||||
assert run("--requires", cargo_toml(toml)) == requires
|
assert [str(x) for x in md.provides] == provides
|
||||||
assert run("--conflicts", cargo_toml(toml)) == conflicts
|
assert [str(x) for x in md.requires] == requires
|
||||||
|
assert [str(x) for x in md.conflicts] == conflicts
|
||||||
|
|
Loading…
Reference in a new issue