145 lines · 3.2 KB · Shell
RawDownload
#!/bin/bashset -eu -o pipefail git init; function baseline() {    local pathspec=$1 # first argument is the pathspec to test     git ls-files "$pathspec" && status=0 || status=$?    {        echo "$pathspec"        echo "$status"    } >> baseline.git} # success # special 'there is no pathspec' specbaseline ':' # repeated_matcher_keywordsbaseline ':(glob,glob)'baseline ':(literal,literal)'baseline ':(top,top)'baseline ':(icase,icase)'baseline ':(attr,attr)'baseline ':!^(exclude,exclude)' # empty_signaturesbaseline '.'baseline 'some/path'baseline ':some/path'baseline ':()some/path'baseline '::some/path'baseline ':::some/path'baseline ':():some/path' # whitespace_in_pathspecbaseline ' some/path'baseline 'some/ path'baseline 'some/path 'baseline ': some/path'baseline ': !some/path'baseline ': :some/path'baseline ': ()some/path'baseline ':! some/path' # short_signaturesbaseline ':/some/path'baseline ':^some/path'baseline ':!some/path'baseline ':/!some/path'baseline ':!/^/:some/path' # signatures_and_searchmodesbaseline ':(top)'baseline ':(icase)'baseline ':(attr)'baseline ':(exclude)'baseline ':(literal)'baseline ':(glob)'baseline ':(top,exclude)'baseline ':(icase,literal)'baseline ':!(literal)some/*path'baseline ':(top,literal,icase,attr,exclude)some/path'baseline ':(top,glob,icase,attr,exclude)some/path' # attributes_in_signaturebaseline ':(attr:someAttr)'baseline ':(attr:!someAttr)'baseline ':(attr:-someAttr)'baseline ':(attr:someAttr=value)'baseline ':(attr:a=one b=)'baseline ':(attr:a= b=two)'baseline ':(attr:a=one b=two)'baseline ':(attr:a=one   b=two)'baseline ':(attr:someAttr anotherAttr)' # attributes_with_escape_chars_in_state_valuesbaseline ':(attr:v=one\-)'baseline ':(attr:v=one\_)'baseline ':(attr:v=one\,)'baseline ':(attr:v=one\,two\,three)'baseline ':(attr:a=\d b= c=\d)' # failing #empty_inputbaseline "" # invalid_short_signaturesbaseline ':"()'baseline ':#()'baseline ':%()'baseline ':&()'baseline ":'()"baseline ':,()'baseline ':-()'baseline ':;()'baseline ':<()'baseline ':=()'baseline ':>()'baseline ':@()'baseline ':_()'baseline ':`()'baseline ':~()' # invalid_keywordsbaseline ':( )some/path'baseline ':(tp)some/path'baseline ':(top, exclude)some/path'baseline ':(top,exclude,icse)some/path' # invalid_attributesbaseline ':(attr:+invalidAttr)some/path'baseline ':(attr:validAttr +invalidAttr)some/path'baseline ':(attr:+invalidAttr,attr:valid)some/path'baseline ':(attr:inva\lid)some/path' # invalid_attribute_valuesbaseline ':(attr:v=inva#lid)some/path'baseline ':(attr:v=inva\\lid)some/path'baseline ':(attr:v=invalid\\)some/path'baseline ':(attr:v=invalid\#)some/path'baseline ':(attr:v=inva\=lid)some/path'baseline ':(attr:a=valid b=inva\#lid)some/path'baseline ':(attr:v=val��)'baseline ':(attr:pr=pre��x:,)�' # escape_character_at_end_of_attribute_valuebaseline ':(attr:v=invalid\)some/path'baseline ':(attr:v=invalid\ )some/path'baseline ':(attr:v=invalid\ valid)some/path' # empty_attribute_specificationbaseline ':(attr:)' # multiple_attribute_specificationsbaseline ':(attr:one,attr:two)some/path' # missing_parenthesesbaseline ':(top' # glob_and_literal_keywords_presentbaseline ':(glob,literal)some/path'