-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18317/
-----------------------------------------------------------

Review request for accumulo.


Bugs: ACCUMULO-2380
    https://issues.apache.org/jira/browse/ACCUMULO-2380


Repository: accumulo


Description
-------

Changes to the functional test framework for more useful output when run under 
MapReduce.

* run.py supports a new -m option. When passed, it produces an extra line of 
output per test with a code for the test outcome and the test's name (string 
form of the testcase object). The string is used as the output from the map 
phase of RunTests.
* run.py also exits with status code 1 if any test does not pass, to help with 
scripting.
* The clean_logging method in TestUtils.py was made forgiving when deleting 
temporary log configuration files. The need for this was seen during testing.
* The mapper in RunTests, which runs each functional test, was updated to:
  * pass -m to run.py
  * only send the special output triggered by -m to the reduce phase
  * insert the Hadoop task attempt ID into the special output, to allow testers 
to trace a test run to its map task
  * increment counters based on test outcome

The net result of these changes is that a hadoop fs -cat of the reducer output 
files from the job becomes a report on the overall test results, with a line 
for each test run with its task attempt ID, outcome code, and task name. In 
addition, counters can be observed during and after the run to get a glimpse of 
overall status.


Diffs
-----

  
src/server/src/main/java/org/apache/accumulo/server/test/functional/RunTests.java
 1a19bb5799382d22bf1b7e7bffd22f9f201ccaf4 
  test/system/auto/TestUtils.py f36b01794395976c12c0124078cb4aac46808f56 
  test/system/auto/run.py 447539866e4760682218c397cc63548112675032 

Diff: https://reviews.apache.org/r/18317/diff/


Testing
-------

Ran functional tests under MapReduce on a 3-node VM cluster. Verified the 
correctness of the reducer output and use of counters. Also tested running 
run.py directly for correct output generation with -m there.


Thanks,

Bill Havanki

Reply via email to