11import contextlib
22import functools
3- import imp
43import os
54import re
65import shlex
76import subprocess
7+ import textwrap
88import unittest
99
1010import semver
@@ -115,8 +115,21 @@ def test_increment_existing_prerelease(self):
115115 def test_end_to_end (self ):
116116 self .call (bump = "major" )
117117 filepath = os .path .join (os .path .dirname (__file__ ), "example.py" )
118- example = imp .load_source ("example" , filepath )
119- self .assertEqual (example .VERSION , "20.0.0-dev.1" )
118+ with open (filepath ) as fh :
119+ content = fh .read ()
120+ self .assertEqual (
121+ content ,
122+ textwrap .dedent (
123+ """
124+ LOCK = False
125+ RELEASE = True
126+ VERSION = "20.0.0-dev.1"
127+ VERSION_AGAIN = "20.0.0-dev.1"
128+ STRICT_VERSION = "20.0.0"
129+ UNRELATED_STRING = "apple"
130+ """
131+ ).lstrip (),
132+ )
120133
121134 def test_simple_config_bump (self ):
122135 old , new , updates = self .call (config_path = "simple.toml" , bump = "minor" )
@@ -131,9 +144,9 @@ def test_custom_field_set(self):
131144
132145class TestUtils (unittest .TestCase ):
133146 def test_is_release (self ):
134- self .assertTrue (utils .is_release (semver .parse_version_info ("1.2.3" )))
135- self .assertFalse (utils .is_release (semver .parse_version_info ("1.2.3-RC.1" )))
136- self .assertFalse (utils .is_release (semver .parse_version_info ("1.2.3+abc" )))
147+ self .assertTrue (utils .is_release (semver .Version . parse ("1.2.3" )))
148+ self .assertFalse (utils .is_release (semver .Version . parse ("1.2.3-RC.1" )))
149+ self .assertFalse (utils .is_release (semver .Version . parse ("1.2.3+abc" )))
137150
138151 def test_sigfig_max (self ):
139152 self .assertEqual ("minor" , utils .max_sigfig (["minor" , "patch" ]))
@@ -155,20 +168,19 @@ def test_semver_diff(self):
155168 self .assertEqual (
156169 "minor" ,
157170 utils .semver_diff (
158- semver .parse_version_info ("1.2.3" ), semver .parse_version_info ("1.3.5" )
171+ semver .Version . parse ("1.2.3" ), semver .Version . parse ("1.3.5" )
159172 ),
160173 )
161174 self .assertEqual (
162175 "patch" ,
163176 utils .semver_diff (
164- semver .parse_version_info ("1.2.3" ),
165- semver .parse_version_info ("1.2.4-RC.1" ),
177+ semver .Version .parse ("1.2.3" ), semver .Version .parse ("1.2.4-RC.1" )
166178 ),
167179 )
168180 self .assertEqual (
169181 None ,
170182 utils .semver_diff (
171- semver .parse_version_info ("1.2.3" ), semver .parse_version_info ("1.2.3" )
183+ semver .Version . parse ("1.2.3" ), semver .Version . parse ("1.2.3" )
172184 ),
173185 )
174186
@@ -182,14 +194,10 @@ def setUpClass(cls):
182194 auto_version_tool .load_config (os .path .join (test_dir , "example.toml" ))
183195
184196 def check (self , previous , current , bumps , expect ):
185- previous = semver .parse_version_info (previous ) if previous else None
197+ previous = semver .Version . parse (previous ) if previous else None
186198 self .assertEqual (
187199 expect ,
188- str (
189- utils .make_new_semver (
190- semver .parse_version_info (current ), previous , bumps
191- )
192- ),
200+ str (utils .make_new_semver (semver .Version .parse (current ), previous , bumps )),
193201 )
194202
195203 def test_release_bump (self ):
@@ -256,7 +264,7 @@ def test_from_ancestor_version(self):
256264 {
257265 "VERSION" : bumped ,
258266 "VERSION_AGAIN" : bumped ,
259- "STRICT_VERSION" : semver .finalize_version (bumped ),
267+ "STRICT_VERSION" : str ( semver .Version . parse (bumped ). finalize_version () ),
260268 },
261269 )
262270
@@ -270,7 +278,7 @@ def test_from_ancestor_release(self):
270278 {
271279 "VERSION" : bumped ,
272280 "VERSION_AGAIN" : bumped ,
273- "STRICT_VERSION" : semver .finalize_version (bumped ),
281+ "STRICT_VERSION" : str ( semver .Version . parse (bumped ). finalize_version () ),
274282 },
275283 )
276284
@@ -282,7 +290,7 @@ def test_from_latest_of_all_time(self):
282290 {
283291 "VERSION" : bumped ,
284292 "VERSION_AGAIN" : bumped ,
285- "STRICT_VERSION" : semver .finalize_version (bumped ),
293+ "STRICT_VERSION" : str ( semver .Version . parse (bumped ). finalize_version () ),
286294 },
287295 )
288296
@@ -294,7 +302,7 @@ def test_from_latest_of_all_time_release(self):
294302 {
295303 "VERSION" : bumped ,
296304 "VERSION_AGAIN" : bumped ,
297- "STRICT_VERSION" : semver .finalize_version (bumped ),
305+ "STRICT_VERSION" : str ( semver .Version . parse (bumped ). finalize_version () ),
298306 },
299307 )
300308
@@ -315,12 +323,12 @@ def test_to_tag(self):
315323 {
316324 "VERSION" : bumped ,
317325 "VERSION_AGAIN" : bumped ,
318- "STRICT_VERSION" : semver .finalize_version (bumped ),
326+ "STRICT_VERSION" : str ( semver .Version . parse (bumped ). finalize_version () ),
319327 },
320328 )
321329 version = auto_version_tool .get_dvcs_repo_latest_version_semver ()
322330 self .assertEqual (
323- dict (version ._asdict ()),
331+ dict (version .to_dict ()),
324332 dict (major = 5 , minor = 0 , patch = 0 , build = None , prerelease = "dev.1" ),
325333 )
326334
0 commit comments