summaryrefslogtreecommitdiffstats
path: root/test/packaging
diff options
context:
space:
mode:
authorMats Wichmann <mats@linux.com>2018-09-07 13:37:58 (GMT)
committerMats Wichmann <mats@linux.com>2018-09-08 12:33:48 (GMT)
commitbbde3d2bbf2a7e34d369c5be069fde2d5e235670 (patch)
treee1dc544f7e9ef619c81a5ac3ab1842cd0d8e7ae3 /test/packaging
parentc53e548e750f31917e36ed35af8519ebfc85344e (diff)
downloadSCons-bbde3d2bbf2a7e34d369c5be069fde2d5e235670.zip
SCons-bbde3d2bbf2a7e34d369c5be069fde2d5e235670.tar.gz
SCons-bbde3d2bbf2a7e34d369c5be069fde2d5e235670.tar.bz2
Improvements to tarball packager
Both gz and bzip2 now skip the test if tar is not found (previously they would not test, but mark the test OK). Since tar is now found on recent Windows 10, but the helper program bzip2 is not, check for bzip2 as well. This is actually a correct test for other systems as well, they have just been very unlikely to not have had bzip2 provisioned so it has not bitten us. Note: on Windows, with cygwin installed, the test may well find bzip2 but c:\Windows\System32\tar.exe does not find it and the test fails anyway. Work needed on this "finds too much" issue (not unique to this test). Signed-off-by: Mats Wichmann <mats@linux.com>
Diffstat (limited to 'test/packaging')
-rw-r--r--test/packaging/tar/bz2_packaging.py17
-rw-r--r--test/packaging/tar/gz.py13
2 files changed, 18 insertions, 12 deletions
diff --git a/test/packaging/tar/bz2_packaging.py b/test/packaging/tar/bz2_packaging.py
index 1552fd1..2a8b506 100644
--- a/test/packaging/tar/bz2_packaging.py
+++ b/test/packaging/tar/bz2_packaging.py
@@ -36,18 +36,23 @@ python = TestSCons.python
test = TestSCons.TestSCons()
tar = test.detect('TAR', 'tar')
+if not tar:
+ test.skip_test('tar not found, skipping test\n')
-if tar:
- test.subdir('src')
+bz2 = test.where_is('bzip2')
+if not bz2:
+ test.skip_test('tar found, but helper bzip2 not found, skipping test\n')
- test.write( [ 'src', 'main.c' ], r"""
+test.subdir('src')
+
+test.write([ 'src', 'main.c'], r"""
int main( int argc, char* argv[] )
{
return 0;
}
""")
- test.write('SConstruct', """
+test.write('SConstruct', """
Program( 'src/main.c' )
env=Environment(tools=['default', 'packaging'])
env.Package( PACKAGETYPE = 'src_tarbz2',
@@ -56,9 +61,9 @@ env.Package( PACKAGETYPE = 'src_tarbz2',
source = [ 'src/main.c', 'SConstruct' ] )
""")
- test.run(arguments='', stderr = None)
+test.run(arguments='', stderr=None)
- test.must_exist( 'src.tar.bz2' )
+test.must_exist('src.tar.bz2')
test.pass_test()
diff --git a/test/packaging/tar/gz.py b/test/packaging/tar/gz.py
index f841c59..05661b7 100644
--- a/test/packaging/tar/gz.py
+++ b/test/packaging/tar/gz.py
@@ -36,18 +36,19 @@ python = TestSCons.python
test = TestSCons.TestSCons()
tar = test.detect('TAR', 'tar')
+if not tar:
+ test.skip_test('tar not found, skipping test\n')
-if tar:
- test.subdir('src')
+test.subdir('src')
- test.write( [ 'src', 'main.c' ], r"""
+test.write(['src', 'main.c'], r"""
int main( int argc, char* argv[] )
{
return 0;
}
""")
- test.write('SConstruct', """
+test.write('SConstruct', """
Program( 'src/main.c' )
env=Environment(tools=['default', 'packaging'])
env.Package( PACKAGETYPE = 'src_targz',
@@ -56,9 +57,9 @@ env.Package( PACKAGETYPE = 'src_targz',
source = [ 'src/main.c', 'SConstruct' ] )
""")
- test.run(arguments='', stderr = None)
+test.run(arguments='', stderr=None)
- test.must_exist( 'src.tar.gz' )
+test.must_exist('src.tar.gz')
test.pass_test()