Bug: Shell tests broken
Status: Open | Priority: Major | Resolution: 
Created: 13/Mar/20 16:54
Affects Version/s: 3.0.0-alpha-1

The shell tests in the master seem to be broken. When running {{mvn clean install -pl hbase-shell -PrunClientTests}} it reports the following errors:

{code}
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.hadoop.hbase.client.TestTableShell
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 66.561 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestTableShell
[ERROR] org.apache.hadoop.hbase.client.TestTableShell.testRunShellTests  Time elapsed: 63.222 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) Shell unit tests failed. Check output file for details.
	at org.apache.hadoop.hbase.client.TestTableShell.testRunShellTests(TestTableShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) Shell unit tests failed. Check output file for details.

[INFO] Running org.apache.hadoop.hbase.client.TestQuotasShell
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 362.723 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestQuotasShell
[ERROR] org.apache.hadoop.hbase.client.TestQuotasShell.testRunShellTests  Time elapsed: 360.415 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) Shell unit tests failed. Check output file for details.
	at org.apache.hadoop.hbase.client.TestQuotasShell.testRunShellTests(TestQuotasShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) Shell unit tests failed. Check output file for details.

[INFO] Running org.apache.hadoop.hbase.client.TestRSGroupShell
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.653 s - in org.apache.hadoop.hbase.client.TestRSGroupShell
[INFO] Running org.apache.hadoop.hbase.client.TestAdminShell
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 155.249 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestAdminShell
[ERROR] org.apache.hadoop.hbase.client.TestAdminShell.testRunShellTests  Time elapsed: 151.904 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) Shell unit tests failed. Check output file for details.
	at org.apache.hadoop.hbase.client.TestAdminShell.testRunShellTests(TestAdminShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) Shell unit tests failed. Check output file for details.

[INFO] Running org.apache.hadoop.hbase.client.TestShellNoCluster
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.684 s - in org.apache.hadoop.hbase.client.TestShellNoCluster
[INFO] Running org.apache.hadoop.hbase.client.TestReplicationShell
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 113.892 s - in org.apache.hadoop.hbase.client.TestReplicationShell
[INFO] Running org.apache.hadoop.hbase.client.TestShell
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 35.646 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestShell
[ERROR] org.apache.hadoop.hbase.client.TestShell.testRunShellTests  Time elapsed: 32.328 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) Shell unit tests failed. Check output file for details.
	at org.apache.hadoop.hbase.client.TestShell.testRunShellTests(TestShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) Shell unit tests failed. Check output file for details.

[INFO] Running org.apache.hadoop.hbase.client.TestAdminShell2
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 141.174 s - in org.apache.hadoop.hbase.client.TestAdminShell2
[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR]   TestAdminShell.testRunShellTests:40 » EvalFailed (RuntimeError) Shell unit tes...
[ERROR]   TestQuotasShell.testRunShellTests:40 » EvalFailed (RuntimeError) Shell unit te...
[ERROR]   TestShell.testRunShellTests:40 » EvalFailed (RuntimeError) Shell unit tests fa...
[ERROR]   TestTableShell.testRunShellTests:40 » EvalFailed (RuntimeError) Shell unit tes...
[INFO] 
[ERROR] Tests run: 8, Failures: 0, Errors: 4, Skipped: 0
{code}

Following the output from the master nightly:

{code}
[INFO] Running org.apache.hadoop.hbase.client.TestShellNoCluster
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.688 s - in org.apache.hadoop.hbase.client.TestShellNoCluster
[INFO] Running org.apache.hadoop.hbase.client.TestAdminShell2
[INFO] Running org.apache.hadoop.hbase.client.TestTableShell
[INFO] Running org.apache.hadoop.hbase.client.TestReplicationShell
[INFO] Running org.apache.hadoop.hbase.client.TestQuotasShell
[INFO] Running org.apache.hadoop.hbase.client.TestRSGroupShell
[INFO] Running org.apache.hadoop.hbase.client.TestAdminShell
[INFO] Running org.apache.hadoop.hbase.client.TestShell
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.029 s - in org.apache.hadoop.hbase.client.TestRSGroupShell
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 34.433 s - in org.apache.hadoop.hbase.client.TestTableShell
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 48.12 s - in org.apache.hadoop.hbase.client.TestShell
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 139.982 s - in org.apache.hadoop.hbase.client.TestReplicationShell
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 150.555 s - in org.apache.hadoop.hbase.client.TestAdminShell2
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 175.274 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestAdminShell
[ERROR] org.apache.hadoop.hbase.client.TestAdminShell.testRunShellTests  Time elapsed: 171.848 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) Shell unit tests failed. Check output file for details.
	at org.apache.hadoop.hbase.client.TestAdminShell.testRunShellTests(TestAdminShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) Shell unit tests failed. Check output file for details.

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 187.392 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestAdminShell
[ERROR] org.apache.hadoop.hbase.client.TestAdminShell.testRunShellTests  Time elapsed: 0.12 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) test_exists?_should_return_true_when_a_table_exists is already defined in Hbase::AdminHelpersTest
	at org.apache.hadoop.hbase.client.TestAdminShell.testRunShellTests(TestAdminShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) test_exists?_should_return_true_when_a_table_exists is already defined in Hbase::AdminHelpersTest

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 199.313 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestAdminShell
[ERROR] org.apache.hadoop.hbase.client.TestAdminShell.testRunShellTests  Time elapsed: 0.085 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) test_exists?_should_return_true_when_a_table_exists is already defined in Hbase::AdminHelpersTest
	at org.apache.hadoop.hbase.client.TestAdminShell.testRunShellTests(TestAdminShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) test_exists?_should_return_true_when_a_table_exists is already defined in Hbase::AdminHelpersTest

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 357.884 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestQuotasShell
[ERROR] org.apache.hadoop.hbase.client.TestQuotasShell.testRunShellTests  Time elapsed: 354.48 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) Shell unit tests failed. Check output file for details.
	at org.apache.hadoop.hbase.client.TestQuotasShell.testRunShellTests(TestQuotasShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) Shell unit tests failed. Check output file for details.

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 370.594 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestQuotasShell
[ERROR] org.apache.hadoop.hbase.client.TestQuotasShell.testRunShellTests  Time elapsed: 0.082 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) test_limit_space_errors_on_non_Hash_argument is already defined in Hbase::SpaceQuotasTest
	at org.apache.hadoop.hbase.client.TestQuotasShell.testRunShellTests(TestQuotasShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) test_limit_space_errors_on_non_Hash_argument is already defined in Hbase::SpaceQuotasTest

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 382.238 s <<< FAILURE! - in org.apache.hadoop.hbase.client.TestQuotasShell
[ERROR] org.apache.hadoop.hbase.client.TestQuotasShell.testRunShellTests  Time elapsed: 0.062 s  <<< ERROR!
org.jruby.embed.EvalFailedException: (RuntimeError) test_limit_space_errors_on_non_Hash_argument is already defined in Hbase::SpaceQuotasTest
	at org.apache.hadoop.hbase.client.TestQuotasShell.testRunShellTests(TestQuotasShell.java:40)
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) test_limit_space_errors_on_non_Hash_argument is already defined in Hbase::SpaceQuotasTest

[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR] org.apache.hadoop.hbase.client.TestAdminShell.testRunShellTests
[ERROR]   Run 1: TestAdminShell.testRunShellTests:40 » EvalFailed (RuntimeError) Shell unit tes...
[ERROR]   Run 2: TestAdminShell.testRunShellTests:40 » EvalFailed (RuntimeError) test_exists?_s...
[ERROR]   Run 3: TestAdminShell.testRunShellTests:40 » EvalFailed (RuntimeError) test_exists?_s...
[INFO] 
[ERROR] org.apache.hadoop.hbase.client.TestQuotasShell.testRunShellTests
[ERROR]   Run 1: TestQuotasShell.testRunShellTests:40 » EvalFailed (RuntimeError) Shell unit te...
[ERROR]   Run 2: TestQuotasShell.testRunShellTests:40 » EvalFailed (RuntimeError) test_limit_sp...
[ERROR]   Run 3: TestQuotasShell.testRunShellTests:40 » EvalFailed (RuntimeError) test_limit_sp...
{code}

It seems that Ruby thinks that the test methods are defined twice.