PY-23279, PY-9963: Support quotes in commandline interface:

* asterisk added
* Make PyUniversalTests obey test-specific arguments
This commit is contained in:
Ilya.Kazakevich
2017-03-31 17:38:44 +03:00
parent 4223b2331f
commit a7b59f062a
4 changed files with 48 additions and 48 deletions
@@ -112,47 +112,47 @@ public class _CommandLineLexer implements FlexLexer {
/* The ZZ_CMAP_A table has 3088 entries */
static final char ZZ_CMAP_A[] = zzUnpackCMap(
"\11\0\5\2\22\0\1\2\1\7\1\14\4\0\1\15\5\0\1\10\2\7\12\12\1\6\2\0\1\16\3\0\32"+
"\5\1\0\1\6\2\0\1\4\13\5\3\0\1\13\6\0\1\1\12\0\1\1\11\0\1\3\12\0\1\3\4\0\1"+
"\3\5\0\27\3\1\0\12\3\4\0\14\3\16\0\5\3\7\0\1\3\1\0\1\3\1\0\5\3\1\0\2\3\2\0"+
"\4\3\1\0\1\3\6\0\1\3\1\0\3\3\1\0\1\3\1\0\4\3\1\0\23\3\1\0\13\3\10\0\6\3\1"+
"\0\26\3\2\0\1\3\6\0\10\3\10\0\13\3\5\0\3\3\15\0\12\11\4\0\6\3\1\0\1\3\17\0"+
"\2\3\7\0\2\3\12\11\3\3\2\0\2\3\1\0\16\3\15\0\11\3\13\0\1\3\16\0\12\11\6\3"+
"\4\0\2\3\4\0\1\3\5\0\6\3\4\0\1\3\11\0\1\3\3\0\1\3\7\0\11\3\7\0\5\3\17\0\26"+
"\3\3\0\1\3\2\0\1\3\7\0\12\3\4\0\12\11\1\3\4\0\10\3\2\0\2\3\2\0\26\3\1\0\7"+
"\3\1\0\1\3\3\0\4\3\3\0\1\3\20\0\1\3\15\0\2\3\1\0\1\3\5\0\6\3\4\0\2\3\1\0\2"+
"\3\1\0\2\3\1\0\2\3\17\0\4\3\1\0\1\3\7\0\12\11\2\0\3\3\20\0\11\3\1\0\2\3\1"+
"\0\2\3\1\0\5\3\3\0\1\3\2\0\1\3\30\0\1\3\13\0\10\3\2\0\1\3\3\0\1\3\1\0\6\3"+
"\3\0\3\3\1\0\4\3\3\0\2\3\1\0\1\3\1\0\2\3\3\0\2\3\3\0\3\3\3\0\14\3\13\0\10"+
"\3\1\0\2\3\10\0\3\3\5\0\4\3\1\0\5\3\3\0\1\3\3\0\2\3\15\0\13\3\2\0\1\3\21\0"+
"\1\3\12\0\6\3\5\0\22\3\3\0\10\3\1\0\11\3\1\0\1\3\2\0\7\3\11\0\1\3\1\0\2\3"+
"\14\0\12\11\7\0\2\3\1\0\1\3\2\0\2\3\1\0\1\3\2\0\1\3\6\0\4\3\1\0\7\3\1\0\3"+
"\3\1\0\1\3\1\0\1\3\2\0\2\3\1\0\4\3\1\0\2\3\11\0\1\3\2\0\5\3\1\0\1\3\11\0\12"+
"\11\2\0\14\3\1\0\24\3\13\0\5\3\3\0\6\3\4\0\4\3\3\0\1\3\3\0\2\3\7\0\3\3\4\0"+
"\15\3\14\0\1\3\1\0\6\3\1\0\1\3\5\0\1\3\2\0\13\3\1\0\15\3\1\0\4\3\2\0\7\3\1"+
"\0\1\3\1\0\4\3\2\0\1\3\1\0\4\3\2\0\7\3\1\0\1\3\1\0\4\3\2\0\16\3\2\0\6\3\2"+
"\0\15\3\2\0\1\3\1\1\17\3\1\0\10\3\7\0\15\3\1\0\6\3\23\0\1\3\4\0\1\3\3\0\11"+
"\3\1\0\1\3\5\0\17\3\1\0\16\3\2\0\14\3\13\0\1\3\15\0\7\3\7\0\16\3\15\0\2\3"+
"\12\11\3\0\3\3\11\0\4\3\1\0\4\3\3\0\2\3\11\0\10\3\1\0\1\3\1\0\1\3\1\0\1\3"+
"\1\0\6\3\1\0\7\3\1\0\1\3\3\0\3\3\1\0\7\3\3\0\4\3\2\0\6\3\4\0\13\1\15\0\2\1"+
"\5\0\1\1\17\0\1\1\1\0\1\3\15\0\1\3\2\0\1\3\4\0\1\3\2\0\12\3\1\0\1\3\3\0\5"+
"\3\6\0\1\3\1\0\1\3\1\0\1\3\1\0\4\3\1\0\13\3\2\0\4\3\5\0\5\3\4\0\1\3\4\0\2"+
"\3\13\0\5\3\6\0\4\3\3\0\2\3\14\0\10\3\7\0\10\3\1\0\7\3\1\0\1\1\4\0\2\3\12"+
"\0\5\3\5\0\2\3\3\0\7\3\6\0\3\3\12\11\2\3\13\0\11\3\2\0\27\3\2\0\7\3\1\0\3"+
"\3\1\0\4\3\1\0\4\3\2\0\6\3\3\0\1\3\1\0\1\3\2\0\5\3\1\0\12\3\12\11\5\3\1\0"+
"\3\3\1\0\10\3\4\0\7\3\3\0\1\3\3\0\2\3\1\0\1\3\3\0\2\3\2\0\5\3\2\0\1\3\1\0"+
"\1\3\30\0\3\3\3\0\6\3\2\0\6\3\2\0\6\3\11\0\7\3\4\0\5\3\3\0\5\3\5\0\1\3\1\0"+
"\10\3\1\0\5\3\1\0\1\3\1\0\2\3\1\0\2\3\1\0\12\3\6\0\12\3\2\0\6\3\2\0\6\3\2"+
"\0\6\3\2\0\3\3\3\0\14\3\1\0\16\3\1\0\2\3\1\0\2\3\1\0\10\3\6\0\4\3\4\0\16\3"+
"\2\0\1\3\1\0\14\3\1\0\2\3\3\0\1\3\2\0\4\3\1\0\2\3\12\0\10\3\6\0\6\3\1\0\3"+
"\3\1\0\12\3\3\0\1\3\12\0\4\3\13\0\12\11\1\3\1\0\1\3\3\0\7\3\1\0\1\3\1\0\4"+
"\3\1\0\17\3\1\0\2\3\14\0\3\3\4\0\2\3\1\0\1\3\20\0\4\3\10\0\1\3\13\0\10\3\5"+
"\0\3\3\2\0\1\3\2\0\2\3\2\0\4\3\1\0\14\3\1\0\1\3\1\0\7\3\1\0\21\3\1\0\4\3\2"+
"\0\10\3\1\0\7\3\1\0\14\3\1\0\4\3\1\0\5\3\1\0\1\3\3\0\14\3\2\0\13\3\1\0\10"+
"\3\2\0\22\11\1\0\2\3\1\0\1\3\2\0\1\3\1\0\12\3\1\0\4\3\1\0\1\3\1\0\1\3\6\0"+
"\1\3\4\0\1\3\1\0\1\3\1\0\1\3\1\0\3\3\1\0\2\3\1\0\1\3\2\0\1\3\1\0\1\3\1\0\1"+
"\3\1\0\1\3\1\0\1\3\1\0\2\3\1\0\1\3\2\0\4\3\1\0\7\3\1\0\4\3\1\0\4\3\1\0\1\3"+
"\1\0\12\3\1\0\5\3\1\0\3\3\1\0\5\3\1\0\5\3");
"\11\0\5\2\22\0\1\2\1\7\1\14\4\0\1\15\2\0\1\13\2\0\1\10\2\7\12\12\1\6\2\0\1"+
"\16\3\0\32\5\1\0\1\6\2\0\1\4\13\5\3\0\1\13\6\0\1\1\12\0\1\1\11\0\1\3\12\0"+
"\1\3\4\0\1\3\5\0\27\3\1\0\12\3\4\0\14\3\16\0\5\3\7\0\1\3\1\0\1\3\1\0\5\3\1"+
"\0\2\3\2\0\4\3\1\0\1\3\6\0\1\3\1\0\3\3\1\0\1\3\1\0\4\3\1\0\23\3\1\0\13\3\10"+
"\0\6\3\1\0\26\3\2\0\1\3\6\0\10\3\10\0\13\3\5\0\3\3\15\0\12\11\4\0\6\3\1\0"+
"\1\3\17\0\2\3\7\0\2\3\12\11\3\3\2\0\2\3\1\0\16\3\15\0\11\3\13\0\1\3\16\0\12"+
"\11\6\3\4\0\2\3\4\0\1\3\5\0\6\3\4\0\1\3\11\0\1\3\3\0\1\3\7\0\11\3\7\0\5\3"+
"\17\0\26\3\3\0\1\3\2\0\1\3\7\0\12\3\4\0\12\11\1\3\4\0\10\3\2\0\2\3\2\0\26"+
"\3\1\0\7\3\1\0\1\3\3\0\4\3\3\0\1\3\20\0\1\3\15\0\2\3\1\0\1\3\5\0\6\3\4\0\2"+
"\3\1\0\2\3\1\0\2\3\1\0\2\3\17\0\4\3\1\0\1\3\7\0\12\11\2\0\3\3\20\0\11\3\1"+
"\0\2\3\1\0\2\3\1\0\5\3\3\0\1\3\2\0\1\3\30\0\1\3\13\0\10\3\2\0\1\3\3\0\1\3"+
"\1\0\6\3\3\0\3\3\1\0\4\3\3\0\2\3\1\0\1\3\1\0\2\3\3\0\2\3\3\0\3\3\3\0\14\3"+
"\13\0\10\3\1\0\2\3\10\0\3\3\5\0\4\3\1\0\5\3\3\0\1\3\3\0\2\3\15\0\13\3\2\0"+
"\1\3\21\0\1\3\12\0\6\3\5\0\22\3\3\0\10\3\1\0\11\3\1\0\1\3\2\0\7\3\11\0\1\3"+
"\1\0\2\3\14\0\12\11\7\0\2\3\1\0\1\3\2\0\2\3\1\0\1\3\2\0\1\3\6\0\4\3\1\0\7"+
"\3\1\0\3\3\1\0\1\3\1\0\1\3\2\0\2\3\1\0\4\3\1\0\2\3\11\0\1\3\2\0\5\3\1\0\1"+
"\3\11\0\12\11\2\0\14\3\1\0\24\3\13\0\5\3\3\0\6\3\4\0\4\3\3\0\1\3\3\0\2\3\7"+
"\0\3\3\4\0\15\3\14\0\1\3\1\0\6\3\1\0\1\3\5\0\1\3\2\0\13\3\1\0\15\3\1\0\4\3"+
"\2\0\7\3\1\0\1\3\1\0\4\3\2\0\1\3\1\0\4\3\2\0\7\3\1\0\1\3\1\0\4\3\2\0\16\3"+
"\2\0\6\3\2\0\15\3\2\0\1\3\1\1\17\3\1\0\10\3\7\0\15\3\1\0\6\3\23\0\1\3\4\0"+
"\1\3\3\0\11\3\1\0\1\3\5\0\17\3\1\0\16\3\2\0\14\3\13\0\1\3\15\0\7\3\7\0\16"+
"\3\15\0\2\3\12\11\3\0\3\3\11\0\4\3\1\0\4\3\3\0\2\3\11\0\10\3\1\0\1\3\1\0\1"+
"\3\1\0\1\3\1\0\6\3\1\0\7\3\1\0\1\3\3\0\3\3\1\0\7\3\3\0\4\3\2\0\6\3\4\0\13"+
"\1\15\0\2\1\5\0\1\1\17\0\1\1\1\0\1\3\15\0\1\3\2\0\1\3\4\0\1\3\2\0\12\3\1\0"+
"\1\3\3\0\5\3\6\0\1\3\1\0\1\3\1\0\1\3\1\0\4\3\1\0\13\3\2\0\4\3\5\0\5\3\4\0"+
"\1\3\4\0\2\3\13\0\5\3\6\0\4\3\3\0\2\3\14\0\10\3\7\0\10\3\1\0\7\3\1\0\1\1\4"+
"\0\2\3\12\0\5\3\5\0\2\3\3\0\7\3\6\0\3\3\12\11\2\3\13\0\11\3\2\0\27\3\2\0\7"+
"\3\1\0\3\3\1\0\4\3\1\0\4\3\2\0\6\3\3\0\1\3\1\0\1\3\2\0\5\3\1\0\12\3\12\11"+
"\5\3\1\0\3\3\1\0\10\3\4\0\7\3\3\0\1\3\3\0\2\3\1\0\1\3\3\0\2\3\2\0\5\3\2\0"+
"\1\3\1\0\1\3\30\0\3\3\3\0\6\3\2\0\6\3\2\0\6\3\11\0\7\3\4\0\5\3\3\0\5\3\5\0"+
"\1\3\1\0\10\3\1\0\5\3\1\0\1\3\1\0\2\3\1\0\2\3\1\0\12\3\6\0\12\3\2\0\6\3\2"+
"\0\6\3\2\0\6\3\2\0\3\3\3\0\14\3\1\0\16\3\1\0\2\3\1\0\2\3\1\0\10\3\6\0\4\3"+
"\4\0\16\3\2\0\1\3\1\0\14\3\1\0\2\3\3\0\1\3\2\0\4\3\1\0\2\3\12\0\10\3\6\0\6"+
"\3\1\0\3\3\1\0\12\3\3\0\1\3\12\0\4\3\13\0\12\11\1\3\1\0\1\3\3\0\7\3\1\0\1"+
"\3\1\0\4\3\1\0\17\3\1\0\2\3\14\0\3\3\4\0\2\3\1\0\1\3\20\0\4\3\10\0\1\3\13"+
"\0\10\3\5\0\3\3\2\0\1\3\2\0\2\3\2\0\4\3\1\0\14\3\1\0\1\3\1\0\7\3\1\0\21\3"+
"\1\0\4\3\2\0\10\3\1\0\7\3\1\0\14\3\1\0\4\3\1\0\5\3\1\0\1\3\3\0\14\3\2\0\13"+
"\3\1\0\10\3\2\0\22\11\1\0\2\3\1\0\1\3\2\0\1\3\1\0\12\3\1\0\4\3\1\0\1\3\1\0"+
"\1\3\6\0\1\3\4\0\1\3\1\0\1\3\1\0\1\3\1\0\3\3\1\0\2\3\1\0\1\3\2\0\1\3\1\0\1"+
"\3\1\0\1\3\1\0\1\3\1\0\1\3\1\0\2\3\1\0\1\3\2\0\4\3\1\0\7\3\1\0\4\3\1\0\4\3"+
"\1\0\1\3\1\0\12\3\1\0\5\3\1\0\3\3\1\0\5\3\1\0\5\3");
/**
* Translates DFA states to action switch labels.
@@ -28,13 +28,13 @@ WHITE_SPACE=\s+
SPACE=[ \t\n\x0B\f\r]+
LITERAL_STARTS_FROM_LETTER=[:letter:]([a-zA-Z_0-9]|:|\\|"/"|\.|-|\!)*
LITERAL_STARTS_FROM_DIGIT=[:digit:]([a-zA-Z_0-9]|:|\\|"/"|\.|-|\!)*
LITERAL_STARTS_FROM_SYMBOL=([/\~\.!]([a-zA-Z_0-9]|:|\\|"/"|\.|-|\!)*)
LITERAL_STARTS_FROM_SYMBOL=([/\~\.!*]([a-zA-Z_0-9]|:|\\|"/"|\.|-|\!)*)
SPACED_LITERAL_STARTS_FROM_LETTER=\"[:letter:]([a-zA-Z_0-9]|:|\\|"/"|\.|-|[ \t\n\x0B\f\r]|\!)*\"
SPACED_LITERAL_STARTS_FROM_DIGIT=\"[:digit:]([a-zA-Z_0-9]|:|\\|"/"|\.|-|[ \t\n\x0B\f\r]|\!)*\"
SPACED_LITERAL_STARTS_FROM_SYMBOL=\"([/\~\.!]([a-zA-Z_0-9]|:|\\|"/"|\.|-|[ \t\n\x0B\f\r]|\!)*)\"
SPACED_LITERAL_STARTS_FROM_SYMBOL=\"([/\~\.!*]([a-zA-Z_0-9]|:|\\|"/"|\.|-|[ \t\n\x0B\f\r]|\!)*)\"
SINGLE_Q_SPACED_LITERAL_STARTS_FROM_LETTER='[:letter:]([a-zA-Z_0-9]|:|\\|"/"|\.|-|[ \t\n\x0B\f\r]|\!)*'
SINGLE_Q_SPACED_LITERAL_STARTS_FROM_DIGIT='[:digit:]([a-zA-Z_0-9]|:|\\|"/"|\.|-|[ \t\n\x0B\f\r]|\!)*'
SINGLE_Q_SPACED_LITERAL_STARTS_FROM_SYMBOL='([/\~\.!]([a-zA-Z_0-9]|:|\\|"/"|\.|-|[ \t\n\x0B\f\r]|\!)*)'
SINGLE_Q_SPACED_LITERAL_STARTS_FROM_SYMBOL='([/\~\.!*]([a-zA-Z_0-9]|:|\\|"/"|\.|-|[ \t\n\x0B\f\r]|\!)*)'
SHORT_OPTION_NAME_TOKEN=-[:letter:]
LONG_OPTION_NAME_TOKEN=--[:letter:](-|[a-zA-Z_0-9])*
@@ -27,16 +27,16 @@
EQ = '='
LITERAL_STARTS_FROM_LETTER='regexp:\p{Alpha}(\w|:|\\|/|\.|-|\!)*'
LITERAL_STARTS_FROM_DIGIT='regexp:\p{Digit}(\w|:|\\|/|\.|-|\!)*'
LITERAL_STARTS_FROM_SYMBOL='regexp:([/\~\.!](\w|:|\\|/|\.|-|\!)*)'
LITERAL_STARTS_FROM_SYMBOL='regexp:([/\~\.!*](\w|:|\\|/|\.|-|\!)*)'
SPACED_LITERAL_STARTS_FROM_LETTER='regexp:"\p{Alpha}(\w|:|\\|/|\.|-|\s|\!)*"'
SPACED_LITERAL_STARTS_FROM_DIGIT='regexp:"\p{Digit}(\w|:|\\|/|\.|-|\s|\!)*"'
SPACED_LITERAL_STARTS_FROM_SYMBOL='regexp:"([/\~\.!](\w|:|\\|/|\.|-|\s|\!)*)"'
SPACED_LITERAL_STARTS_FROM_SYMBOL='regexp:"([/\~\.!*](\w|:|\\|/|\.|-|\s|\!)*)"'
SINGLE_Q_SPACED_LITERAL_STARTS_FROM_LETTER="regexp:'\p{Alpha}(\w|:|\\|/|\.|-|\s|\!)*'"
SINGLE_Q_SPACED_LITERAL_STARTS_FROM_DIGIT="regexp:'\p{Digit}(\w|:|\\|/|\.|-|\s|\!)*'"
SINGLE_Q_SPACED_LITERAL_STARTS_FROM_SYMBOL="regexp:'([/\~\.!](\w|:|\\|/|\.|-|\s|\!)*)'"
SINGLE_Q_SPACED_LITERAL_STARTS_FROM_SYMBOL="regexp:'([/\~\.!*](\w|:|\\|/|\.|-|\s|\!)*)'"
@@ -385,7 +385,7 @@ abstract class PyUniversalTestConfiguration(project: Project,
private fun generateRawArguments(): List<String> {
val rawArguments = additionalArguments + " " + getCustomRawArgumentsString()
if (rawArguments.isNotBlank()) {
return listOf("--") + getParsedAdditionalArguments(project, additionalArguments)
return listOf("--") + getParsedAdditionalArguments(project, rawArguments)
}
return emptyList()
}