# HG changeset patch # User timeless # Date 2016-04-06 19:09:12 # Node ID 8c1759a2bdf41bfe7606d8f16a0c940330773aea # Parent a75c9665ef06d45c94af1231c3aef21ce7d5ba8c tests: add new test for #! shebang lines * use #!/bin/sh not e.g. #!/usr/bin/sh * use #!/usr/bin/env python not e.g. #!/usr/bin/python diff --git a/tests/test-check-execute.t b/tests/test-check-shbang.t copy from tests/test-check-execute.t copy to tests/test-check-shbang.t --- a/tests/test-check-execute.t +++ b/tests/test-check-shbang.t @@ -1,23 +1,13 @@ -#require test-repo execbit +#require test-repo $ cd "`dirname "$TESTDIR"`" -look for python scripts without the execute bit +look for python scripts that do not use /usr/bin/env - $ hg files 'set:**.py and not exec() and grep(r"^#!.*?python")' - [1] - -look for python scripts with execute bit but not shebang - - $ hg files 'set:**.py and exec() and not grep(r"^#!.*?python")' + $ hg files 'set:grep(r"^#!.*?python") and not grep(r"^#!/usr/bin/env python")' [1] -look for shell scripts with execute bit but not shebang - - $ hg files 'set:**.sh and exec() and not grep(r"^#!.*(ba)?sh")' - [1] +look for shell scripts that do not use /bin/sh -look for non scripts with no shebang - - $ hg files 'set:exec() and not **.sh and not **.py and not grep(r"^#!")' + $ hg files 'set:grep(r"^#!.*/bin/sh") and not grep(r"^#!/bin/sh")' [1]