Run unit tests in parallel

This commit is contained in:
seelabs
2017-09-01 09:50:22 -04:00
parent 6ff5d3734f
commit 07e3f81b76
16 changed files with 1045 additions and 265 deletions

View File

@@ -154,6 +154,13 @@ parser.add_argument(
help='Add a prefix for unit tests',
)
parser.add_argument(
'--testjobs',
default='0',
type=int,
help='Run tests in parallel'
)
parser.add_argument(
'--clean', '-c',
action='store_true',
@@ -377,11 +384,14 @@ def run_cmake_tests(directory, target, config):
print('Unit tests for', executable)
testflag = '--unittest'
quiet = ''
testjobs = ''
if ARGS.test:
testflag += ('=' + ARGS.test)
if ARGS.quiet:
quiet = '-q'
resultcode, lines = shell(executable, (testflag, quiet,))
if ARGS.testjobs:
testjobs = ('--unittest-jobs=' + str(ARGS.testjobs))
resultcode, lines = shell(executable, (testflag, quiet, testjobs,))
if resultcode:
if not ARGS.verbose:

View File

@@ -4999,8 +4999,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
</ClCompile>
<ClInclude Include="..\..\src\test\quiet_reporter.h">
</ClInclude>
<ClCompile Include="..\..\src\test\resource\Logic_test.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
@@ -5233,6 +5231,12 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug.classic|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release.classic|x64'">True</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\test\unit_test\multi_runner.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
</ClCompile>
<ClInclude Include="..\..\src\test\unit_test\multi_runner.h">
</ClInclude>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@@ -502,6 +502,9 @@
<Filter Include="test\unity">
<UniqueIdentifier>{4FD99791-5191-0BFF-8D77-19500238E44E}</UniqueIdentifier>
</Filter>
<Filter Include="test\unit_test">
<UniqueIdentifier>{D4796FCA-4A81-C3A8-FC86-FEF2CEEFC056}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\build\proto\ripple.pb.cc">
@@ -5721,9 +5724,6 @@
<ClCompile Include="..\..\src\test\protocol\XRPAmount_test.cpp">
<Filter>test\protocol</Filter>
</ClCompile>
<ClInclude Include="..\..\src\test\quiet_reporter.h">
<Filter>test</Filter>
</ClInclude>
<ClCompile Include="..\..\src\test\resource\Logic_test.cpp">
<Filter>test\resource</Filter>
</ClCompile>
@@ -5898,5 +5898,11 @@
<ClCompile Include="..\..\src\test\unity\shamap_test_unity.cpp">
<Filter>test\unity</Filter>
</ClCompile>
<ClCompile Include="..\..\src\test\unit_test\multi_runner.cpp">
<Filter>test\unit_test</Filter>
</ClCompile>
<ClInclude Include="..\..\src\test\unit_test\multi_runner.h">
<Filter>test\unit_test</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -4,5 +4,5 @@ num_procs=$(lscpu -p | grep -v '^#' | sort -u -t, -k 2,4 | wc -l) # number of ph
path=$(cd $(dirname $0) && pwd)
cd $(dirname $path)
${path}/Test.py -a -c --test=TxQ -- -j${num_procs}
${path}/Test.py -a -c -k --test=TxQ --cmake -- -j${num_procs}
${path}/Test.py -a -c --testjobs=${num_procs} -- -j${num_procs}
${path}/Test.py -a -c -k --cmake --testjobs=${num_procs} -- -j${num_procs}