summaryrefslogtreecommitdiff
path: root/Lib/test/test_platform.py
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2008-10-21 22:01:38 +0000
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2008-10-21 22:01:38 +0000
commit7fdbabb67ee70ac1a018904a42cf0b9bd95f5a16 (patch)
treeba46fc07d65da4ec09db775ec0044a9a01e722c4 /Lib/test/test_platform.py
parentb82eb7c64adce978b21e5598b7a9ac97695ac1a9 (diff)
downloadcpython-7fdbabb67ee70ac1a018904a42cf0b9bd95f5a16.tar.gz
#4157 move two test functions out of platform.py.
Turn them into unit tests, and correct an obvious typo: (("a", "b") ("c", "d") ("e", "f")) compiles even with the missing commas, but does not execute very well...
Diffstat (limited to 'Lib/test/test_platform.py')
-rw-r--r--Lib/test/test_platform.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/Lib/test/test_platform.py b/Lib/test/test_platform.py
index 2fa13096ee..e6a1dea121 100644
--- a/Lib/test/test_platform.py
+++ b/Lib/test/test_platform.py
@@ -122,6 +122,40 @@ class PlatformTest(unittest.TestCase):
executable = executable + '.exe'
res = platform.libc_ver(sys.executable)
+ def test_parse_release_file(self):
+
+ for input, output in (
+ # Examples of release file contents:
+ ('SuSE Linux 9.3 (x86-64)', ('SuSE Linux ', '9.3', 'x86-64')),
+ ('SUSE LINUX 10.1 (X86-64)', ('SUSE LINUX ', '10.1', 'X86-64')),
+ ('SUSE LINUX 10.1 (i586)', ('SUSE LINUX ', '10.1', 'i586')),
+ ('Fedora Core release 5 (Bordeaux)', ('Fedora Core', '5', 'Bordeaux')),
+ ('Red Hat Linux release 8.0 (Psyche)', ('Red Hat Linux', '8.0', 'Psyche')),
+ ('Red Hat Linux release 9 (Shrike)', ('Red Hat Linux', '9', 'Shrike')),
+ ('Red Hat Enterprise Linux release 4 (Nahant)', ('Red Hat Enterprise Linux', '4', 'Nahant')),
+ ('CentOS release 4', ('CentOS', '4', None)),
+ ('Rocks release 4.2.1 (Cydonia)', ('Rocks', '4.2.1', 'Cydonia')),
+ ):
+ self.assertEqual(platform._parse_release_file(input), output)
+
+ def test_sys_version(self):
+
+ platform._sys_version_cache.clear()
+ for input, output in (
+ ('2.4.3 (#1, Jun 21 2006, 13:54:21) \n[GCC 3.3.4 (pre 3.3.5 20040809)]',
+ ('CPython', '2.4.3', '', '', '1', 'Jun 21 2006 13:54:21', 'GCC 3.3.4 (pre 3.3.5 20040809)')),
+ ('IronPython 1.0.60816 on .NET 2.0.50727.42',
+ ('IronPython', '1.0.60816', '', '', '', '', '.NET 2.0.50727.42')),
+ ('IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42',
+ ('IronPython', '1.0.0', '', '', '', '', '.NET 2.0.50727.42')),
+ ):
+ # branch and revision are not "parsed", but fetched
+ # from sys.subversion. Ignore them
+ (name, version, branch, revision, buildno, builddate, compiler) \
+ = platform._sys_version(input)
+ self.assertEqual(
+ (name, version, '', '', buildno, builddate, compiler), output)
+
def test_main():
test_support.run_unittest(
PlatformTest