Fix integration test shebangs and update tests.
* Integration tests now have their own list of allowed shebangs. * Use `#!/usr/bin/env bash` instead of `#!/bin/bash` since the location is different on various platforms.
This commit is contained in:
parent
11b27b367c
commit
634533208e
3 changed files with 17 additions and 4 deletions
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# Wrapper to use the correct Python interpreter and support code coverage.
|
||||
|
||||
REL_SCRIPT="../../../../contrib/inventory/foreman.py"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# start by removing pycrypto and cryptography
|
||||
|
||||
|
|
|
@ -6,10 +6,9 @@ import sys
|
|||
|
||||
|
||||
def main():
|
||||
allowed = set([
|
||||
standard_shebangs = set([
|
||||
b'#!/bin/bash -eu',
|
||||
b'#!/bin/bash -eux',
|
||||
b'#!/bin/bash',
|
||||
b'#!/bin/sh',
|
||||
b'#!/usr/bin/env bash',
|
||||
b'#!/usr/bin/env fish',
|
||||
|
@ -18,6 +17,12 @@ def main():
|
|||
b'#!/usr/bin/make -f',
|
||||
])
|
||||
|
||||
integration_shebangs = set([
|
||||
b'#!/bin/sh',
|
||||
b'#!/usr/bin/env bash',
|
||||
b'#!/usr/bin/env python',
|
||||
])
|
||||
|
||||
module_shebangs = {
|
||||
'': b'#!/usr/bin/python',
|
||||
'.py': b'#!/usr/bin/python',
|
||||
|
@ -61,6 +66,7 @@ def main():
|
|||
continue
|
||||
|
||||
is_module = False
|
||||
is_integration = False
|
||||
|
||||
if path.startswith('lib/ansible/modules/'):
|
||||
is_module = True
|
||||
|
@ -73,6 +79,8 @@ def main():
|
|||
|
||||
continue
|
||||
elif path.startswith('test/integration/targets/'):
|
||||
is_integration = True
|
||||
|
||||
dirname = os.path.dirname(path)
|
||||
|
||||
if dirname.endswith('/library') or dirname in (
|
||||
|
@ -98,6 +106,11 @@ def main():
|
|||
else:
|
||||
print('%s:%d:%d: expected module extension %s but found: %s' % (path, 0, 0, expected_ext, ext))
|
||||
else:
|
||||
if is_integration:
|
||||
allowed = integration_shebangs
|
||||
else:
|
||||
allowed = standard_shebangs
|
||||
|
||||
if shebang not in allowed:
|
||||
print('%s:%d:%d: unexpected non-module shebang: %s' % (path, 1, 1, shebang))
|
||||
|
||||
|
|
Loading…
Reference in a new issue