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

Clean up how to run tests under hbase-spark module

    XMLWordPrintableJSON

Details

    • Reviewed
    • 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-V2.patch
          3 kB
          Yi Liang
        2. HBase-17574-V1.patch
          1 kB
          Yi Liang

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: