...
What is the difference between impala-py.test and test/run-tests.py?
py.test
...
(https://docs.pytest.org/en/latest/)
...
is
...
a
...
framework
...
for
...
writing
...
tests
...
in
...
Python.
...
It's
...
got
...
a
...
bunch
...
of
...
features.
...
impala-py.test
...
is
...
a
...
small
...
wrapper
...
that
...
invokes
...
py.test
...
in
...
the
...
right
...
environment
...
(i.e.,
...
from
...
the
...
"virtualenv")
...
and
...
with
...
LD_LIBRARY_PATH
...
updated.
...
When
...
you're
...
using
...
impala-py.test,
...
you're
...
using
...
py.test's
...
mechanisms.
...
Meanwhile,
...
test/run-tests.py
...
is
...
a
...
wrapper
...
that
...
invokes
...
py.test
...
a
...
few
...
times.
...
It
...
uses
...
environment
...
variables
...
for
...
control.
...
Then
...
it
...
executes
...
any
...
"serial"
...
tests,
...
and
...
then
...
it
...
executes
...
some
...
stress
...
tests,
...
and
...
then,
...
it
...
instructs
...
py.test
...
to
...
execute
...
the
...
"parallel"
...
tests
...
(those
...
not
...
marked
...
serial
...
or
...
stress)
...
with
...
a
...
bunch
...
of
...
parallelism.
...
If
...
you
...
plotted
...
your
...
CPU
...
graph
...
while
...
this
...
was
...
happening,
...
you'd
...
see
...
something
...
like.
...
You
...
can
...
tell
...
where
...
the
...
parallel
...
testing
...
happens
...
about
...
3/4
...
of
...
the
...
way
...
through.
...
To
...
make
...
things
...
even
...
more
...
complicated,
...
there's
...
bin/run-all-tests.sh,
...
which
...
invokes
...
run-tests.py
...
(but
...
also
...
"mvn
...
test"
...
and
...
the
...
C++
...
tests),
...
and
...
buildall.sh,
...
which
...
invokes
...
run-all-tests.sh.