shortened Appveyor release tests

fuzzer supports time suffix `s` for "seconds"
This commit is contained in:
Yann Collet
2017-04-27 16:24:53 -07:00
parent 8b669535f8
commit c6915429f2
2 changed files with 41 additions and 42 deletions
+1 -1
View File
@@ -166,7 +166,7 @@
make -C contrib\pzstd check && make -C contrib\pzstd check &&
make -C contrib\pzstd clean make -C contrib\pzstd clean
) )
- SET "FUZZERTEST=-T1mn" - SET "FUZZERTEST=-T30s"
- if [%HOST%]==[visual] if [%CONFIGURATION%]==[Release] ( - if [%HOST%]==[visual] if [%CONFIGURATION%]==[Release] (
CD tests && CD tests &&
SET ZSTD=./zstd.exe && SET ZSTD=./zstd.exe &&
+33 -34
View File
@@ -1003,7 +1003,7 @@ _output_error:
/*_******************************************************* /*_*******************************************************
* Command line * Command line
*********************************************************/ *********************************************************/
int FUZ_usage(const char* programName) static int FUZ_usage(const char* programName)
{ {
DISPLAY( "Usage :\n"); DISPLAY( "Usage :\n");
DISPLAY( " %s [args]\n", programName); DISPLAY( " %s [args]\n", programName);
@@ -1019,6 +1019,25 @@ int FUZ_usage(const char* programName)
return 0; return 0;
} }
/*! readU32FromChar() :
@return : unsigned integer value read from input in `char` format
allows and interprets K, KB, KiB, M, MB and MiB suffix.
Will also modify `*stringPtr`, advancing it to position where it stopped reading.
Note : function result can overflow if digit string > MAX_UINT */
static unsigned readU32FromChar(const char** stringPtr)
{
unsigned result = 0;
while ((**stringPtr >='0') && (**stringPtr <='9'))
result *= 10, result += **stringPtr - '0', (*stringPtr)++ ;
if ((**stringPtr=='K') || (**stringPtr=='M')) {
result <<= 10;
if (**stringPtr=='M') result <<= 10;
(*stringPtr)++ ;
if (**stringPtr=='i') (*stringPtr)++;
if (**stringPtr=='B') (*stringPtr)++;
}
return result;
}
int main(int argc, const char** argv) int main(int argc, const char** argv)
{ {
@@ -1032,7 +1051,7 @@ int main(int argc, const char** argv)
U32 mainPause = 0; U32 mainPause = 0;
U32 maxDuration = 0; U32 maxDuration = 0;
int bigTests = 1; int bigTests = 1;
const char* programName = argv[0]; const char* const programName = argv[0];
/* Check command line */ /* Check command line */
for (argNb=1; argNb<argc; argNb++) { for (argNb=1; argNb<argc; argNb++) {
@@ -1050,14 +1069,17 @@ int main(int argc, const char** argv)
{ {
case 'h': case 'h':
return FUZ_usage(programName); return FUZ_usage(programName);
case 'v': case 'v':
argument++; argument++;
g_displayLevel = 4; g_displayLevel = 4;
break; break;
case 'q': case 'q':
argument++; argument++;
g_displayLevel--; g_displayLevel--;
break; break;
case 'p': /* pause at the end */ case 'p': /* pause at the end */
argument++; argument++;
mainPause = 1; mainPause = 1;
@@ -1065,60 +1087,37 @@ int main(int argc, const char** argv)
case 'i': case 'i':
argument++; maxDuration = 0; argument++; maxDuration = 0;
nbTests=0; nbTests = readU32FromChar(&argument);
while ((*argument>='0') && (*argument<='9')) {
nbTests *= 10;
nbTests += *argument - '0';
argument++;
}
break; break;
case 'T': case 'T':
argument++; argument++;
nbTests=0; maxDuration=0; nbTests = 0;
while ((*argument>='0') && (*argument<='9')) { maxDuration = readU32FromChar(&argument);
maxDuration *= 10; if (*argument=='s') argument++; /* seconds */
maxDuration += *argument - '0'; if (*argument=='m') maxDuration *= 60, argument++; /* minutes */
argument++;
}
if (*argument=='m') maxDuration *=60, argument++;
if (*argument=='n') argument++; if (*argument=='n') argument++;
break; break;
case 's': case 's':
argument++; argument++;
seed=0;
seedset = 1; seedset = 1;
while ((*argument>='0') && (*argument<='9')) { seed = readU32FromChar(&argument);
seed *= 10;
seed += *argument - '0';
argument++;
}
break; break;
case 't': case 't':
argument++; argument++;
testNb=0; testNb = readU32FromChar(&argument);
while ((*argument>='0') && (*argument<='9')) {
testNb *= 10;
testNb += *argument - '0';
argument++;
}
break; break;
case 'P': /* compressibility % */ case 'P': /* compressibility % */
argument++; argument++;
proba=0; proba = readU32FromChar(&argument);
while ((*argument>='0') && (*argument<='9')) {
proba *= 10;
proba += *argument - '0';
argument++;
}
if (proba>100) proba = 100; if (proba>100) proba = 100;
break; break;
default: default:
return FUZ_usage(programName); return (FUZ_usage(programName), 1);
} } } } /* for (argNb=1; argNb<argc; argNb++) */ } } } } /* for (argNb=1; argNb<argc; argNb++) */
/* Get Seed */ /* Get Seed */