tests/test-check-execute.t
author Spencer Baugh <sbaugh@janestreet.com>
Wed, 09 Aug 2023 18:08:28 -0400
changeset 50857 796b5d6693a4
parent 33204 ddd65b4f3ae6
child 51000 fb6593307e24
permissions -rw-r--r--
rust: simplify pattern file parsing Previously we kept the pattern syntax as a &[u8] until the last possible moment, which meant we had to handle potential errors when parsing that &[u8]. But such errors could never actually occur, given the structure of the code. Now we parse it eagerly (in two places) and pass it around as a PatternSyntax, so we can delete some error handling code. parse_one_pattern is in particular useful for parsing patterns passed on the command line, as we'll support later in this series.

#require test-repo execbit

  $ . "$TESTDIR/helpers-testrepo.sh"
  $ cd "`dirname "$TESTDIR"`"

look for python scripts without the execute bit

  $ testrepohg files 'set:**.py and not exec() and grep(r"^#!.*?python")'
  [1]

look for python scripts with execute bit but not shebang

  $ testrepohg files 'set:**.py and exec() and not grep(r"^#!.*?python")'
  [1]

look for shell scripts with execute bit but not shebang

  $ testrepohg files 'set:**.sh and exec() and not grep(r"^#!.*(ba)?sh")'
  [1]

look for non scripts with no shebang

  $ testrepohg files 'set:exec() and not **.sh and not **.py and not grep(r"^#!")'
  [1]