blob: a7a97d1fe3528922cbf7f9fa4e644f678f0bde98 (
plain)
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
48
49
50
51
52
53
|
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
"""Tests of miscellaneous stuff."""
from __future__ import annotations
import sys
from typing import List, cast
import coverage
from tests.coveragetest import CoverageTest
class SetupPyTest(CoverageTest):
"""Tests of setup.py"""
run_in_temp_dir = False
def setUp(self) -> None:
super().setUp()
# Force the most restrictive interpretation.
self.set_environ('LC_ALL', 'C')
def test_metadata(self) -> None:
status, output = self.run_command_status(
"python setup.py --description --version --url --author"
)
assert status == 0
out = output.splitlines()
assert "measurement" in out[0]
assert coverage.__version__ == out[1]
assert "github.com/nedbat/coveragepy" in out[2]
assert "Ned Batchelder" in out[3]
def test_more_metadata(self) -> None:
# Let's be sure we pick up our own setup.py
# CoverageTest restores the original sys.path for us.
sys.path.insert(0, '')
from setup import setup_args
classifiers = cast(List[str], setup_args['classifiers'])
assert len(classifiers) > 7
assert classifiers[-1].startswith("Development Status ::")
assert "Programming Language :: Python :: %d" % sys.version_info[:1] in classifiers
assert "Programming Language :: Python :: %d.%d" % sys.version_info[:2] in classifiers
long_description = cast(str, setup_args['long_description']).splitlines()
assert len(long_description) > 7
assert long_description[0].strip() != ""
assert long_description[-1].strip() != ""
|