3 F\7@sJddlZddlmZddlmZddlmZejjZGdddej Z dS)N)matchers)base)versionc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?S)@TestSemanticVersionc Csddddddddd d d d d dddg}x*|D]"}tjj|}|j|tj|q*Wxtj|dD]v\}}|j|}|j|}||krtj }tj } n tj }tj } tjj|} tjj|} |j| || |j| | | q^WdS)Nz 1.2.3.dev6z 1.2.3.dev7z1.2.3.a4.dev12z1.2.3.a4.dev13z1.2.3.a4z 1.2.3.a5.dev1z1.2.3.a5z 1.2.3.b3.dev1z1.2.3.b3z1.2.3.rc2.dev1z 1.2.3.rc2z1.2.3.rc3.dev1z1.2.3z1.2.4z1.3.3z2.2.3) rSemanticVersionfrom_pip_string expectThatrEquals itertools combinationsindexZLessThanZ GreaterThan) selfZordered_versionsvsvleftrightZl_posZr_posm1m2Zleft_svZright_svrk/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-install-emcbgzcf/pbr/pbr/tests/test_version.py test_orderings>      z!TestSemanticVersion.test_orderingcCs,tjdddddd}td}|j||dS)Nrrrc)prerelease_type prereleasez1.2.0rc1)rrr assertEqual)rexpectedparsedrrr!test_from_pip_string_legacy_alphaAsz5TestSemanticVersion.test_from_pip_string_legacy_alphacCsvtjddddd}td}|j|tj|tjdddddd d}td }|j|tj||jd d tjtdS) Nrr) dev_countz 1.2.3.post5az1.2.3.0a4.post6cSstdS)Nz1.2.3.post5.dev6)rrrrrTszGTestSemanticVersion.test_from_pip_string_legacy_postN..)rrrr rr raises ValueError)rrrrrr!test_from_pip_string_legacy_postNGsz5TestSemanticVersion.test_from_pip_string_legacy_postNcCsrtd}tjddd}|j|tj|tjddddddd}td }|j|tj||jd d tjtdS) Nzv1.2.3rrr#r$r!r%)r"zV1.2.3.0a4.post6cSstdS)Nzx1.2.3)rrrrrr&aszDTestSemanticVersion.test_from_pip_string_v_version..)rrrr rr r'r()rrrrrrtest_from_pip_string_v_versionWsz2TestSemanticVersion.test_from_pip_string_v_versioncCs,tjdddddd}td}|j||dS)Nrrr$r)rrz0.0.1a2)rrrr)rrrrrr+test_from_pip_string_legacy_nonzero_lead_indsz?TestSemanticVersion.test_from_pip_string_legacy_nonzero_lead_incCs,tjdddddd}td}|j||dS)Nrrr$r)rrz0.1a2)rrrr)rrrrrr1test_from_pip_string_legacy_short_nonzero_lead_inkszETestSemanticVersion.test_from_pip_string_legacy_short_nonzero_lead_incCs,tjdddddd}td}|j||dS)Nrrrr)rrz 2.1.0.rc1)rrrr)rrrrrr+test_from_pip_string_legacy_no_0_prereleaseqsz?TestSemanticVersion.test_from_pip_string_legacy_no_0_prereleasecCs,tjdddddd}td}|j||dS)Nrrrr)rrz 2.0.0.rc1)rrrr)rrrrrr-test_from_pip_string_legacy_no_0_prerelease_2wszATestSemanticVersion.test_from_pip_string_legacy_no_0_prerelease_2cCs*tjddddd}td}|j||dS)Nirb)rrz 2014.2.b2)rrrr)rrrrrr(test_from_pip_string_legacy_non_440_beta}szr ) rrrr5r6r7r8r9r)rr:rrrtest_dev_versionsz$TestSemanticVersion.test_dev_versioncCsvtjddddd}|jd |j|jd|j|jd|j|jd |j|jd |j|j|td dS) Nrrr r!)r"r>z1.2.4z 1.2.4~dev5z 1.2.4.dev5z 1.2.3.dev5)rrr r>r ) rrrr5r6r7r8r9r)rr:rrrtest_dev_no_git_versionsz+TestSemanticVersion.test_dev_no_git_versioncCsvtjddddd}|jd |j|jd|j|jd |j|jd |j|jd |j|j|td dS) Nrrrr!)r"r>r z1.2.0z 1.2.0~dev5z 1.2.0.dev5z 1.1.9999.dev5)rrrr>r ) rrrr5r6r7r8r9r)rr:rrrtest_dev_zero_versionsz)TestSemanticVersion.test_dev_zero_versioncCsxtjdddddd}|jd |j|jd|j|jd|j|jd |j|jd |j|j|td dS) Nrrr r$ alphadevz1.2.4z1.2.4~a1.dev12z1.2.4.0a1.dev12z1.2.3.a1.dev12)rrr rCrB) rrrr5r6r7r8r9r)rr:rrrtest_alpha_dev_versionsz*TestSemanticVersion.test_alpha_dev_versioncCsvtjddddd}|jd |j|jd|j|jd|j|jd|j|jd |j|j|tddS) Nrrr r$alphaz1.2.4z1.2.4~a1z 1.2.4.0a1z1.2.3.a1)rrr rEr) rrrr5r6r7r8r9r)rr:rrrtest_alpha_versionsz&TestSemanticVersion.test_alpha_versioncCsvtjddddd}|jd |j|jd|j|jd|j|jd|j|jd |j|j|tddS) Nrrrr$rEz1.2.0z1.2.0~a1z 1.2.0.0a1z 1.1.9999.a1)rrrrEr) rrrr5r6r7r8r9r)rr:rrrtest_alpha_zero_versionsz+TestSemanticVersion.test_alpha_zero_versioncCsvtjddddd}|jd |j|jd|j|jd|j|jd|j|jd|j|j|tddS) Nrrr$rEz1.0.0z1.0.0~a1z 1.0.0.0a1z0.9999.9999.a1)rrrrEr) rrrr5r6r7r8r9r)rr:rrrtest_alpha_major_zero_versionsz1TestSemanticVersion.test_alpha_major_zero_versioncCsttjdddd}|jd |j|jd|j|jd|j|jd |j|jd |j|j|td dS) Nrrr r$rErz1.2.4z1.2.4~a0z 1.2.4.0a0z1.2.3.a0)rrr rEr) rrrr5r6r7r8r9r)rr:rrrtest_alpha_default_versionsz.TestSemanticVersion.test_alpha_default_versioncCsxtjdddddd}|jd |j|jd|j|jd|j|jd |j|jd |j|j|td dS) Nrrr r/rBbetadevz1.2.4z1.2.4~b1.dev12z1.2.4.0b1.dev12z1.2.3.b1.dev12)rrr rJrB) rrrr5r6r7r8r9r)rr:rrrtest_beta_dev_versionsz)TestSemanticVersion.test_beta_dev_versioncCsvtjddddd}|jd |j|jd|j|jd|j|jd|j|jd |j|j|tddS) Nrrr r/betaz1.2.4z1.2.4~b1z 1.2.4.0b1z1.2.3.b1)rrr rLr) rrrr5r6r7r8r9r)rr:rrrtest_beta_versionsz%TestSemanticVersion.test_beta_versioncCs0tjddddd}|jtjddd|jdS)Nrrr r/r#)rrr decrement)rr:rrrtest_decrement_nonreleasesz-TestSemanticVersion.test_decrement_nonreleasecCs,tjddd}|jtjddd|jdS)Nrri')rrrrN)rr:rrrtest_decrement_nonrelease_zerosz2TestSemanticVersion.test_decrement_nonrelease_zerocCs,tjddd}|jtjddd|jdS)Nrr!r )rrrrN)rr:rrrtest_decrement_releasesz*TestSemanticVersion.test_decrement_releasecCsptjddddd}|jtjddddd|j|jtjddd|jdd|jtjddd|jdd dS) Nrrr r/r#rT)minor)major)rrr increment)rr:rrrtest_increment_nonreleasesz-TestSemanticVersion.test_increment_nonreleasecCshtjddd}|jtjddd|j|jtjddd|jdd|jtjddd|jdd dS) Nrrr!r%r#rT)rR)rS)rrrrT)rr:rrrtest_increment_releasesz*TestSemanticVersion.test_increment_releasecCsxtjdddddd}|jd |j|jd|j|jd|j|jd |j|jd |j|j|td dS) Nrrr rrB candidatedevz1.2.4z1.2.4~rc1.dev12z1.2.4.0rc1.dev12z1.2.3.rc1.dev12)rrr rWrB) rrrr5r6r7r8r9r)rr:rrrtest_rc_dev_versionsz'TestSemanticVersion.test_rc_dev_versioncCsvtjddddd}|jd |j|jd|j|jd|j|jd|j|jd |j|j|tddS) Nrrr r candidatez1.2.4z 1.2.4~rc1z 1.2.4.0rc1z 1.2.3.rc1)rrr rYr) rrrr5r6r7r8r9r)rr:rrrtest_rc_version(sz#TestSemanticVersion.test_rc_versionc Cs`|jtjdddddtjdddjd|jtjdddddddtjdddddjddS)Nrrr#)r"r)rrrZto_dev)rrrr test_to_dev1s zTestSemanticVersion.test_to_devN)"__name__ __module__ __qualname__rrr)r*r+r,r-r.r0r2r3r;r=r?r@rArDrFrGrHrIrKrMrOrPrQrUrVrXrZr[rrrrrs>$                r) r Z testtoolsrZ pbr.testsrZpbrrrrZ BaseTestCaserrrrrs