tests/test-fileset.t
changeset 45895 fc4fb2f17dd4
parent 43439 0a0bad6d7ac0
child 50389 47686726545d
equal deleted inserted replaced
45894:9dc1351d0b5f 45895:fc4fb2f17dd4
    79   $ fileset 'a* - a1'
    79   $ fileset 'a* - a1'
    80   a2
    80   a2
    81   $ fileset 'a_b'
    81   $ fileset 'a_b'
    82   $ fileset '"\xy"'
    82   $ fileset '"\xy"'
    83   hg: parse error: invalid \x escape* (glob)
    83   hg: parse error: invalid \x escape* (glob)
    84   [255]
    84   [10]
    85 
    85 
    86 Test invalid syntax
    86 Test invalid syntax
    87 
    87 
    88   $ fileset -v '"added"()'
    88   $ fileset -v '"added"()'
    89   (func
    89   (func
    90     (string 'added')
    90     (string 'added')
    91     None)
    91     None)
    92   hg: parse error: not a symbol
    92   hg: parse error: not a symbol
    93   [255]
    93   [10]
    94   $ fileset -v '()()'
    94   $ fileset -v '()()'
    95   (func
    95   (func
    96     (group
    96     (group
    97       None)
    97       None)
    98     None)
    98     None)
    99   hg: parse error: not a symbol
    99   hg: parse error: not a symbol
   100   [255]
   100   [10]
   101   $ fileset -v -- '-x'
   101   $ fileset -v -- '-x'
   102   (negate
   102   (negate
   103     (symbol 'x'))
   103     (symbol 'x'))
   104   hg: parse error: can't use negate operator in this context
   104   hg: parse error: can't use negate operator in this context
   105   [255]
   105   [10]
   106   $ fileset -v -- '-()'
   106   $ fileset -v -- '-()'
   107   (negate
   107   (negate
   108     (group
   108     (group
   109       None))
   109       None))
   110   hg: parse error: can't use negate operator in this context
   110   hg: parse error: can't use negate operator in this context
   111   [255]
   111   [10]
   112   $ fileset -p parsed 'a, b, c'
   112   $ fileset -p parsed 'a, b, c'
   113   * parsed:
   113   * parsed:
   114   (list
   114   (list
   115     (symbol 'a')
   115     (symbol 'a')
   116     (symbol 'b')
   116     (symbol 'b')
   117     (symbol 'c'))
   117     (symbol 'c'))
   118   hg: parse error: can't use a list in this context
   118   hg: parse error: can't use a list in this context
   119   (see 'hg help "filesets.x or y"')
   119   (see 'hg help "filesets.x or y"')
   120   [255]
   120   [10]
   121 
   121 
   122   $ fileset '"path":.'
   122   $ fileset '"path":.'
   123   hg: parse error: not a symbol
   123   hg: parse error: not a symbol
   124   [255]
   124   [10]
   125   $ fileset 'path:foo bar'
   125   $ fileset 'path:foo bar'
   126   hg: parse error at 9: invalid token
   126   hg: parse error at 9: invalid token
   127   [255]
   127   [10]
   128   $ fileset 'foo:bar:baz'
   128   $ fileset 'foo:bar:baz'
   129   hg: parse error: not a symbol
   129   hg: parse error: not a symbol
   130   [255]
   130   [10]
   131   $ fileset 'foo:bar()'
   131   $ fileset 'foo:bar()'
   132   hg: parse error: pattern must be a string
   132   hg: parse error: pattern must be a string
   133   [255]
   133   [10]
   134   $ fileset 'foo:bar'
   134   $ fileset 'foo:bar'
   135   hg: parse error: invalid pattern kind: foo
   135   hg: parse error: invalid pattern kind: foo
   136   [255]
   136   [10]
   137 
   137 
   138 Show parsed tree at stages:
   138 Show parsed tree at stages:
   139 
   139 
   140   $ fileset -p unknown a
   140   $ fileset -p unknown a
   141   abort: invalid stage name: unknown
   141   abort: invalid stage name: unknown
   560   b1
   560   b1
   561   b2
   561   b2
   562   c1
   562   c1
   563   $ fileset 'grep("missingparens(")'
   563   $ fileset 'grep("missingparens(")'
   564   hg: parse error: invalid match pattern: (unbalanced parenthesis|missing \)).* (re)
   564   hg: parse error: invalid match pattern: (unbalanced parenthesis|missing \)).* (re)
   565   [255]
   565   [10]
   566 
   566 
   567 #if execbit
   567 #if execbit
   568   $ chmod +x b2
   568   $ chmod +x b2
   569   $ fileset 'exec()'
   569   $ fileset 'exec()'
   570   b2
   570   b2
   587   >>> open('1k', 'wb').write(b' '*1024) and None
   587   >>> open('1k', 'wb').write(b' '*1024) and None
   588   >>> open('2k', 'wb').write(b' '*2048) and None
   588   >>> open('2k', 'wb').write(b' '*2048) and None
   589   $ hg add 1k 2k
   589   $ hg add 1k 2k
   590   $ fileset 'size("bar")'
   590   $ fileset 'size("bar")'
   591   hg: parse error: couldn't parse size: bar
   591   hg: parse error: couldn't parse size: bar
   592   [255]
   592   [10]
   593   $ fileset '(1k, 2k)'
   593   $ fileset '(1k, 2k)'
   594   hg: parse error: can't use a list in this context
   594   hg: parse error: can't use a list in this context
   595   (see 'hg help "filesets.x or y"')
   595   (see 'hg help "filesets.x or y"')
   596   [255]
   596   [10]
   597   $ fileset 'size(1k)'
   597   $ fileset 'size(1k)'
   598   1k
   598   1k
   599   $ fileset '(1k or 2k) and size("< 2k")'
   599   $ fileset '(1k or 2k) and size("< 2k")'
   600   1k
   600   1k
   601   $ fileset '(1k or 2k) and size("<=2k")'
   601   $ fileset '(1k or 2k) and size("<=2k")'
  1016 
  1016 
  1017 Fully empty revset
  1017 Fully empty revset
  1018 
  1018 
  1019   $ fileset "status('', '4', added())"
  1019   $ fileset "status('', '4', added())"
  1020   hg: parse error: first argument to status must be a revision
  1020   hg: parse error: first argument to status must be a revision
  1021   [255]
  1021   [10]
  1022   $ fileset "status('2', '', added())"
  1022   $ fileset "status('2', '', added())"
  1023   hg: parse error: second argument to status must be a revision
  1023   hg: parse error: second argument to status must be a revision
  1024   [255]
  1024   [10]
  1025 
  1025 
  1026 Empty revset will error at the revset layer
  1026 Empty revset will error at the revset layer
  1027 
  1027 
  1028   $ fileset "status(' ', '4', added())"
  1028   $ fileset "status(' ', '4', added())"
  1029   hg: parse error at 1: not a prefix: end
  1029   hg: parse error at 1: not a prefix: end
  1030   ( 
  1030   ( 
  1031     ^ here)
  1031     ^ here)
  1032   [255]
  1032   [10]
  1033   $ fileset "status('2', ' ', added())"
  1033   $ fileset "status('2', ' ', added())"
  1034   hg: parse error at 1: not a prefix: end
  1034   hg: parse error at 1: not a prefix: end
  1035   ( 
  1035   ( 
  1036     ^ here)
  1036     ^ here)
  1037   [255]
  1037   [10]