Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-17574

Clean up how to run tests under hbase-spark module

    XMLWordPrintableJSON

    Details

    • Hadoop Flags:
      Reviewed
    • Release Note:
      Hide
      Run test under root dir or hbase-spark dir
      1. mvn test //run all small and medium java tests, and all scala tests
      2. mvn test -P skipSparkTests //skip all scala and java tests in hbase-spark
      3. mvn test -P runAllTests //run all tests, including scala and all java test even the large test

      Run specified test case, since we have two plugins, we need specify both java and scala.
      When only test scala or jave test case, disable the other one use -Dxx=None as follow:
      1. mvn test -Dtest=TestJavaHBaseContext -DwildcardSuites=None // java unit test
      2. mvn test -Dtest=None -DwildcardSuites=org.apache.hadoop.hbase.spark.BulkLoadSuite //scala unit test, only support full name in scalatest plugin
      Show
      Run test under root dir or hbase-spark dir 1. mvn test //run all small and medium java tests, and all scala tests 2. mvn test -P skipSparkTests //skip all scala and java tests in hbase-spark 3. mvn test -P runAllTests //run all tests, including scala and all java test even the large test Run specified test case, since we have two plugins, we need specify both java and scala. When only test scala or jave test case, disable the other one use -Dxx=None as follow: 1. mvn test -Dtest=TestJavaHBaseContext -DwildcardSuites=None // java unit test 2. mvn test -Dtest=None -DwildcardSuites=org.apache.hadoop.hbase.spark.BulkLoadSuite //scala unit test, only support full name in scalatest plugin

      Description

      In master brunch, the test of hbase-spark module needs clean-up.
      I think we need to let hbase-spark follow the rules that exist in the whole hbase project

      1. In hbase-spark, all the scala test cases are regarded as integration test, i.e. we need to go to hbase-spark folder to use mvn verify to run the test case. I think these tests had better to be regard as unit test for the following reasons:
      (1) All the scala test are very small, most of them can be finished within 20s.
      (2) Integration test usually put into hbase-it module, not in its own module.
      (3) Hadoop QA could not run those scala test in hbase-spark, I guess Hadoop QA will only run mvn test under root dir, however hbase-spark need mvn verify.
      (4) From its pom.xml below, you can see that, both <phase>integration-test</phase> and <phase>test</phase> point to same <goal>test</goal>. From MVN reference, http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Built-in_Lifecycle_Bindings, we know that if a goal is bound to one or more build phases, that goal will be called in all those phases. it means that mvn test and mvn integration-test will do same thing, however <skipTests>true</skipTests> in test phase just disable the mvn test command. It is uncommon to have define like that.

                        <executions>
                          <execution>
                              <id>test</id>
                              <phase>test</phase>
                              <goals>
                                  <goal>test</goal>
                              </goals>
                              <configuration>
                                  <skipTests>true</skipTests>
                              </configuration>
                          </execution>
                          <execution>
                              <id>integration-test</id>
                              <phase>integration-test</phase>
                              <goals>
                                  <goal>test</goal>
                              </goals>
                              <configuration>
                                  <tagsToExclude>Integration-Test</tagsToExclude>
                                  <argLine>
                                      -Xmx1536m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=512m
                                  </argLine>
                                  <parallel>false</parallel>
                              </configuration>
                          </execution>
                      </executions>
      

        Attachments

        1. HBase-17574-V1.patch
          1 kB
          Yi Liang
        2. HBase-17574-V2.patch
          3 kB
          Yi Liang

          Issue Links

            Activity

              People

              • Assignee:
                easyliangjob Yi Liang
                Reporter:
                easyliangjob Yi Liang
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: