summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordirkbaechle <devnull@localhost>2012-09-04 23:23:13 (GMT)
committerdirkbaechle <devnull@localhost>2012-09-04 23:23:13 (GMT)
commit1c8744b6d4ec8812746415d1aae4f13e634809ca (patch)
tree5d422a83251e4afe9a3941b3bb97a79fdb38765f
parenta54670d821ac18abc3880ef9ca03c2f84edd5ae6 (diff)
downloadSCons-1c8744b6d4ec8812746415d1aae4f13e634809ca.zip
SCons-1c8744b6d4ec8812746415d1aae4f13e634809ca.tar.gz
SCons-1c8744b6d4ec8812746415d1aae4f13e634809ca.tar.bz2
- first swoop of changes for getting all Buildbot slaves to run successfully again
-rw-r--r--QMTest/TestSCons.py12
-rw-r--r--src/engine/SCons/SubstTests.py2
-rw-r--r--src/engine/SCons/Tool/JavaCommon.py2
-rw-r--r--src/engine/SCons/Tool/gettext.py7
-rw-r--r--src/engine/SCons/Tool/javacTests.py6
-rw-r--r--src/engine/SCons/Tool/msvsTests.py11
-rw-r--r--test/AS/AS.py13
-rw-r--r--test/AS/ASFLAGS.py10
-rw-r--r--test/AS/ASPP.py13
-rw-r--r--test/AS/ASPPFLAGS.py10
-rw-r--r--test/CC/CC.py10
-rw-r--r--test/CXX/CXX.py12
-rw-r--r--test/Errors/execute-a-directory.py7
-rw-r--r--test/FindSourceFiles.py12
-rw-r--r--test/Fortran/common.py6
-rwxr-xr-xtest/TEX/biblatex.py3
-rw-r--r--test/packaging/option--package-type.py8
-rw-r--r--test/packaging/rpm/cleanup.py7
-rw-r--r--test/packaging/rpm/internationalization.py7
-rw-r--r--test/packaging/rpm/multipackage.py7
-rw-r--r--test/packaging/rpm/package.py7
-rw-r--r--test/packaging/rpm/tagging.py7
-rw-r--r--test/runtest/aegis/batch-output.py78
23 files changed, 142 insertions, 115 deletions
diff --git a/QMTest/TestSCons.py b/QMTest/TestSCons.py
index 360a799..de4a39b 100644
--- a/QMTest/TestSCons.py
+++ b/QMTest/TestSCons.py
@@ -698,13 +698,13 @@ class TestSCons(TestCommon):
import sys
if not version:
version=''
- frame = '/System/Library/Frameworks/JavaVM.framework/Headers/jni.h'
+ jni_dirs = ['/System/Library/Frameworks/JavaVM.framework/Headers/jni.h',
+ '/usr/lib/jvm/default-java/include/jni.h']
else:
- frame = '/System/Library/Frameworks/JavaVM.framework/Versions/%s*/Headers/jni.h'%version
- jni_dirs = ['/usr/lib/jvm/java-*-sun-%s*/include/jni.h'%version,
- '/usr/java/jdk%s*/include/jni.h'%version,
- frame,
- ]
+ jni_dirs = ['/System/Library/Frameworks/JavaVM.framework/Versions/%s*/Headers/jni.h'%version]
+ jni_dirs.extend(['/usr/lib/jvm/java-*-sun-%s*/include/jni.h'%version,
+ '/usr/lib/jvm/java-%s*-openjdk/include/jni.h'%version,
+ '/usr/java/jdk%s*/include/jni.h'%version])
dirs = self.paths(jni_dirs)
if not dirs:
return None
diff --git a/src/engine/SCons/SubstTests.py b/src/engine/SCons/SubstTests.py
index 4568528..420fd73 100644
--- a/src/engine/SCons/SubstTests.py
+++ b/src/engine/SCons/SubstTests.py
@@ -554,6 +554,8 @@ class scons_subst_TestCase(SubstTestCase):
"TypeError `'NoneType' object is unsubscriptable' trying to evaluate `${NONE[2]}'",
# Python 2.7 and later
"TypeError `'NoneType' object is not subscriptable' trying to evaluate `${NONE[2]}'",
+ # Python 2.7 and later under Fedora
+ "TypeError `'NoneType' object has no attribute '__getitem__'' trying to evaluate `${NONE[2]}'",
]
assert str(e) in expect, e
else:
diff --git a/src/engine/SCons/Tool/JavaCommon.py b/src/engine/SCons/Tool/JavaCommon.py
index c64d254..bb9caab 100644
--- a/src/engine/SCons/Tool/JavaCommon.py
+++ b/src/engine/SCons/Tool/JavaCommon.py
@@ -64,7 +64,7 @@ if java_parsing:
interfaces, and anonymous inner classes."""
def __init__(self, version=default_java_version):
- if not version in ('1.1', '1.2', '1.3','1.4', '1.5', '1.6',
+ if not version in ('1.1', '1.2', '1.3','1.4', '1.5', '1.6', '1.7',
'5', '6'):
msg = "Java version %s not supported" % version
raise NotImplementedError(msg)
diff --git a/src/engine/SCons/Tool/gettext.py b/src/engine/SCons/Tool/gettext.py
index dd336b6..6031e49 100644
--- a/src/engine/SCons/Tool/gettext.py
+++ b/src/engine/SCons/Tool/gettext.py
@@ -40,6 +40,9 @@ def exists(env):
from SCons.Tool.GettextCommon \
import _xgettext_exists, _msginit_exists, \
_msgmerge_exists, _msgfmt_exists
- return _xgettext_exists(env) and _msginit_exists(env) \
- and _msgmerge_exists(env) and _msgfmt_exists(env)
+ try:
+ return _xgettext_exists(env) and _msginit_exists(env) \
+ and _msgmerge_exists(env) and _msgfmt_exists(env)
+ except:
+ return False
#############################################################################
diff --git a/src/engine/SCons/Tool/javacTests.py b/src/engine/SCons/Tool/javacTests.py
index fc7f271..4631c8a 100644
--- a/src/engine/SCons/Tool/javacTests.py
+++ b/src/engine/SCons/Tool/javacTests.py
@@ -73,18 +73,18 @@ class pathoptTestCase(unittest.TestCase):
DummyNode('/foo'))
def test_list_node(self):
- self.assert_pathopt(['-foopath', '/foo:/bar'],
+ self.assert_pathopt(['-foopath', os.pathsep.join(['/foo','/bar'])],
['/foo', DummyNode('/bar')])
def test_default_str(self):
self.assert_pathopt_default(
- ['-foopath', '/foo:/bar:/baz'],
+ ['-foopath', os.pathsep.join(['/foo','/bar','/baz'])],
['/foo', '/bar'],
'/baz')
def test_default_list(self):
self.assert_pathopt_default(
- ['-foopath', '/foo:/bar:/baz'],
+ ['-foopath', os.pathsep.join(['/foo','/bar','/baz'])],
['/foo', '/bar'],
['/baz'])
diff --git a/src/engine/SCons/Tool/msvsTests.py b/src/engine/SCons/Tool/msvsTests.py
index 495fc24..232963c 100644
--- a/src/engine/SCons/Tool/msvsTests.py
+++ b/src/engine/SCons/Tool/msvsTests.py
@@ -551,11 +551,12 @@ class msvsTestCase(unittest.TestCase):
debug("Testing for default version %s"%self.default_version)
env = DummyEnv()
v1 = get_default_version(env)
- assert env['MSVS_VERSION'] == self.default_version, \
- ("env['MSVS_VERSION'] != self.default_version",self.default_version, env['MSVS_VERSION'])
- assert env['MSVS']['VERSION'] == self.default_version, \
- ("env['MSVS']['VERSION'] != self.default_version",self.default_version, env['MSVS']['VERSION'])
- assert v1 == self.default_version, (self.default_version, v1)
+ if v1:
+ assert env['MSVS_VERSION'] == self.default_version, \
+ ("env['MSVS_VERSION'] != self.default_version",self.default_version, env['MSVS_VERSION'])
+ assert env['MSVS']['VERSION'] == self.default_version, \
+ ("env['MSVS']['VERSION'] != self.default_version",self.default_version, env['MSVS']['VERSION'])
+ assert v1 == self.default_version, (self.default_version, v1)
env = DummyEnv({'MSVS_VERSION':'7.0'})
v2 = get_default_version(env)
diff --git a/test/AS/AS.py b/test/AS/AS.py
index 38ea655..e0ffbf4 100644
--- a/test/AS/AS.py
+++ b/test/AS/AS.py
@@ -47,7 +47,11 @@ import sys
args = sys.argv[1:]
while args:
a = args[0]
- if a[0] != '/':
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
+ if not a[0] in '/-':
break
args = args[1:]
if a[:5].lower() == '/out:': out = a[5:]
@@ -65,15 +69,16 @@ args = sys.argv[1:]
inf = None
while args:
a = args[0]
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
args = args[1:]
if not a[0] in "/-":
if not inf:
inf = a
continue
if a[:3] == '/Fo': out = a[3:]
- if a == '-o':
- out = args[0]
- args = args[1:]
infile = open(inf, 'rb')
outfile = open(out, 'wb')
for l in infile.readlines():
diff --git a/test/AS/ASFLAGS.py b/test/AS/ASFLAGS.py
index 4f89c2c..024cea3 100644
--- a/test/AS/ASFLAGS.py
+++ b/test/AS/ASFLAGS.py
@@ -45,7 +45,11 @@ import sys
args = sys.argv[1:]
while args:
a = args[0]
- if a[0] != '/':
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
+ if not a[0] in '/-':
break
args = args[1:]
if a[:5].lower() == '/out:': out = a[5:]
@@ -64,6 +68,10 @@ inf = None
optstring = ''
while args:
a = args[0]
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
args = args[1:]
if not a[0] in '/-':
if not inf:
diff --git a/test/AS/ASPP.py b/test/AS/ASPP.py
index db699f8..67f4071 100644
--- a/test/AS/ASPP.py
+++ b/test/AS/ASPP.py
@@ -42,7 +42,11 @@ import sys
args = sys.argv[1:]
while args:
a = args[0]
- if a[0] != '/':
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
+ if not a[0] in '/-':
break
args = args[1:]
if a[:5].lower() == '/out:': out = a[5:]
@@ -60,15 +64,16 @@ args = sys.argv[1:]
inf = None
while args:
a = args[0]
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
args = args[1:]
if not a[0] in "/-":
if not inf:
inf = a
continue
if a[:3] == '/Fo': out = a[3:]
- if a == '-o':
- out = args[0]
- args = args[1:]
infile = open(inf, 'rb')
outfile = open(out, 'wb')
for l in infile.readlines():
diff --git a/test/AS/ASPPFLAGS.py b/test/AS/ASPPFLAGS.py
index f27d0ad..f8e70a9 100644
--- a/test/AS/ASPPFLAGS.py
+++ b/test/AS/ASPPFLAGS.py
@@ -45,7 +45,11 @@ import sys
args = sys.argv[1:]
while args:
a = args[0]
- if a[0] != '/':
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
+ if not a[0] in '/-':
break
args = args[1:]
if a[:5].lower() == '/out:': out = a[5:]
@@ -64,6 +68,10 @@ inf = None
optstring = ''
while args:
a = args[0]
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
args = args[1:]
if not a[0] in '/-':
if not inf:
diff --git a/test/CC/CC.py b/test/CC/CC.py
index 2c66040..dd93674 100644
--- a/test/CC/CC.py
+++ b/test/CC/CC.py
@@ -42,7 +42,11 @@ import sys
args = sys.argv[1:]
while args:
a = args[0]
- if a[0] != '/':
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
+ if not a[0] in '/-':
break
args = args[1:]
if a[:5].lower() == '/out:': out = a[5:]
@@ -60,6 +64,10 @@ args = sys.argv[1:]
inf = None
while args:
a = args[0]
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
args = args[1:]
if a[0] != '/':
if not inf:
diff --git a/test/CXX/CXX.py b/test/CXX/CXX.py
index 1e338a6..cd354ae 100644
--- a/test/CXX/CXX.py
+++ b/test/CXX/CXX.py
@@ -42,7 +42,11 @@ import sys
args = sys.argv[1:]
while args:
a = args[0]
- if a[0] != '/':
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
+ if not a[0] in '/-':
break
args = args[1:]
if a[:5].lower() == '/out:': out = a[5:]
@@ -60,8 +64,12 @@ args = sys.argv[1:]
inf = None
while args:
a = args[0]
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
args = args[1:]
- if a[0] != '/':
+ if not a[0] in '/-':
if not inf:
inf = a
continue
diff --git a/test/Errors/execute-a-directory.py b/test/Errors/execute-a-directory.py
index 55d6844..1b679c6 100644
--- a/test/Errors/execute-a-directory.py
+++ b/test/Errors/execute-a-directory.py
@@ -84,6 +84,11 @@ is_a_directory = """\
scons: *** [%s] Error %s
"""
+Is_a_directory = """\
+%s: Is a directory
+scons: *** [%s] Error %s
+"""
+
test.description_set("Incorrect STDERR:\n%s\n" % test.stderr())
if os.name == 'nt':
errs = [
@@ -101,7 +106,7 @@ else:
errs = [
cannot_execute % (not_executable, 'f3', 126),
is_a_directory % (test.workdir, 'f3', 126),
- Permission_denied % (test.workdir, 'f3', 126),
+ Is_a_directory % (test.workdir, 'f3', 126),
Permission_denied % (test.workdir, 'f3', 126),
]
test.must_contain_any_line(test.stderr(), errs)
diff --git a/test/FindSourceFiles.py b/test/FindSourceFiles.py
index b08cbbd..3ba542b 100644
--- a/test/FindSourceFiles.py
+++ b/test/FindSourceFiles.py
@@ -32,11 +32,17 @@ import TestSCons
test = TestSCons.TestSCons()
+package_format = "src_tarbz2"
+if not test.where_is('tar'):
+ if not test.where_is('zip'):
+ test.skip_test("neither 'tar' nor 'zip' found; skipping test\n")
+ package_format = "src_zip"
+
# Quite complex, but real-life test.
# 0. Setup VariantDir, "var", without duplication. The "src" is source dir.
# 1. Generate souce file var/foo.c from src/foo.c.in. Define program foo.
# 2. Gather all sources necessary to create '.' node and create source
-# tarball. We expect 'src/foo.c.in' file within tarbal, and no content
+# tarball. We expect 'src/foo.c.in' file within tarball, and no content
# under 'var' directory.
test.subdir('src')
@@ -45,10 +51,10 @@ VariantDir(src_dir = 'src', variant_dir = 'var', duplicate = 0)
env = Environment(tools = ['default','textfile','packaging'])
SConscript(['var/SConscript'], exports = 'env')
sources = env.FindSourceFiles('.')
-pkg = env.Package( NAME = 'foo', VERSION = '1.0', PACKAGETYPE = 'src_tarbz2',
+pkg = env.Package( NAME = 'foo', VERSION = '1.0', PACKAGETYPE = '%s',
source = sources )
Ignore( '.', pkg )
-""")
+""" % package_format)
test.write('src/SConscript', """
Import('env')
diff --git a/test/Fortran/common.py b/test/Fortran/common.py
index b48c83b..6763ef4 100644
--- a/test/Fortran/common.py
+++ b/test/Fortran/common.py
@@ -38,7 +38,11 @@ import sys
args = sys.argv[1:]
while args:
a = args[0]
- if a[0] != '/':
+ if a == '-o':
+ out = args[1]
+ args = args[2:]
+ continue
+ if not a[0] in '/-':
break
args = args[1:]
if a[:5].lower() == '/out:': out = a[5:]
diff --git a/test/TEX/biblatex.py b/test/TEX/biblatex.py
index 35c3997..d0663f7 100755
--- a/test/TEX/biblatex.py
+++ b/test/TEX/biblatex.py
@@ -25,7 +25,7 @@
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
"""
-Test creation of a Tex document that uses the multibib oackage
+Test creation of a Tex document that uses the multibib package
Test courtesy Rob Managan.
"""
@@ -88,7 +88,6 @@ files = [
'biblatextest.aux',
'biblatextest.bbl',
'biblatextest.blg',
- 'biblatextest-blx.bib',
'biblatextest.fls',
'biblatextest.log',
'biblatextest.pdf',
diff --git a/test/packaging/option--package-type.py b/test/packaging/option--package-type.py
index c1d6720..9bfa565 100644
--- a/test/packaging/option--package-type.py
+++ b/test/packaging/option--package-type.py
@@ -31,6 +31,14 @@ Test the --package-type option.
import TestSCons
machine = TestSCons.machine
+try:
+ # Try to get the actual machine type (like i586), since
+ # TestSCons maps all ix86 types to a i386 machine internally.
+ import os
+ machine = os.uname()[4]
+except AttributeError:
+ pass
+
_python_ = TestSCons._python_
test = TestSCons.TestSCons()
diff --git a/test/packaging/rpm/cleanup.py b/test/packaging/rpm/cleanup.py
index 7ae5473..9d79219 100644
--- a/test/packaging/rpm/cleanup.py
+++ b/test/packaging/rpm/cleanup.py
@@ -31,6 +31,13 @@ Assert that files created by the RPM packager will be removed by 'scons -c'.
import TestSCons
machine = TestSCons.machine
+try:
+ # Try to get the actual machine type (like i586), since
+ # TestSCons maps all ix86 types to a i386 machine internally.
+ import os
+ machine = os.uname()[4]
+except AttributeError:
+ pass
_python_ = TestSCons._python_
test = TestSCons.TestSCons()
diff --git a/test/packaging/rpm/internationalization.py b/test/packaging/rpm/internationalization.py
index e9fcc12..a9bd926 100644
--- a/test/packaging/rpm/internationalization.py
+++ b/test/packaging/rpm/internationalization.py
@@ -36,6 +36,13 @@ import os
import TestSCons
machine = TestSCons.machine
+try:
+ # Try to get the actual machine type (like i586), since
+ # TestSCons maps all ix86 types to a i386 machine internally.
+ import os
+ machine = os.uname()[4]
+except AttributeError:
+ pass
_python_ = TestSCons._python_
test = TestSCons.TestSCons()
diff --git a/test/packaging/rpm/multipackage.py b/test/packaging/rpm/multipackage.py
index c3f1f4e..4f10a8a 100644
--- a/test/packaging/rpm/multipackage.py
+++ b/test/packaging/rpm/multipackage.py
@@ -33,6 +33,13 @@ import os
import TestSCons
machine = TestSCons.machine
+try:
+ # Try to get the actual machine type (like i586), since
+ # TestSCons maps all ix86 types to a i386 machine internally.
+ import os
+ machine = os.uname()[4]
+except AttributeError:
+ pass
_python_ = TestSCons._python_
test = TestSCons.TestSCons()
diff --git a/test/packaging/rpm/package.py b/test/packaging/rpm/package.py
index 14da4bb..3a55e33 100644
--- a/test/packaging/rpm/package.py
+++ b/test/packaging/rpm/package.py
@@ -32,6 +32,13 @@ import os
import TestSCons
machine = TestSCons.machine
+try:
+ # Try to get the actual machine type (like i586), since
+ # TestSCons maps all ix86 types to a i386 machine internally.
+ import os
+ machine = os.uname()[4]
+except AttributeError:
+ pass
_python_ = TestSCons._python_
test = TestSCons.TestSCons()
diff --git a/test/packaging/rpm/tagging.py b/test/packaging/rpm/tagging.py
index 6a242c6..4e43d93 100644
--- a/test/packaging/rpm/tagging.py
+++ b/test/packaging/rpm/tagging.py
@@ -33,6 +33,13 @@ import os
import TestSCons
machine = TestSCons.machine
+try:
+ # Try to get the actual machine type (like i586), since
+ # TestSCons maps all ix86 types to a i386 machine internally.
+ import os
+ machine = os.uname()[4]
+except AttributeError:
+ pass
_python_ = TestSCons._python_
test = TestSCons.TestSCons()
diff --git a/test/runtest/aegis/batch-output.py b/test/runtest/aegis/batch-output.py
deleted file mode 100644
index e371def..0000000
--- a/test/runtest/aegis/batch-output.py
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env python
-#
-# __COPYRIGHT__
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
-
-"""
-Test writing Aegis batch output to a file.
-"""
-
-import os
-
-import TestRuntest
-
-test_fail_py = os.path.join('test', 'fail.py')
-test_no_result_py = os.path.join('test', 'no_result.py')
-test_pass_py = os.path.join('test', 'pass.py')
-
-test = TestRuntest.TestRuntest()
-
-test.subdir('test')
-
-test.write_failing_test(['test', 'fail.py'])
-
-test.write_no_result_test(['test', 'no_result.py'])
-
-test.write_passing_test(['test', 'pass.py'])
-
-expect_stderr = """\
-FAILING TEST STDERR
-NO RESULT TEST STDERR
-PASSING TEST STDERR
-"""
-
-test.run(arguments = '-k -o aegis.out --aegis test', stderr=expect_stderr)
-
-expect = """\
-test_result = [
- { file_name = "%(test_fail_py)s";
- exit_status = 1; },
- { file_name = "%(test_no_result_py)s";
- exit_status = 2; },
- { file_name = "%(test_pass_py)s";
- exit_status = 0; },
-];
-""" % locals()
-
-# The mode is 'r' (not default 'rb') because QMTest opens the file
-# description on which we write as non-binary.
-test.must_match('aegis.out', expect, mode='r')
-
-test.pass_test()
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=4 shiftwidth=4: