Skip to content
Snippets Groups Projects
  • Josh Rosen's avatar
    7a3c424e
    [SPARK-8422] [BUILD] [PROJECT INFRA] Add a module abstraction to dev/run-tests · 7a3c424e
    Josh Rosen authored
    This patch builds upon #5694 to add a 'module' abstraction to the `dev/run-tests` script which groups together the per-module test logic, including the mapping from file paths to modules, the mapping from modules to test goals and build profiles, and the dependencies / relationships between modules.
    
    This refactoring makes it much easier to increase the granularity of test modules, which will let us skip even more tests.  It's also a prerequisite for other changes that will reduce test time, such as running subsets of the Python tests based on which files / modules have changed.
    
    This patch also adds doctests for the new graph traversal / change mapping code.
    
    Author: Josh Rosen <joshrosen@databricks.com>
    
    Closes #6866 from JoshRosen/more-dev-run-tests-refactoring and squashes the following commits:
    
    75de450 [Josh Rosen] Use module system to determine which build profiles to enable.
    4224da5 [Josh Rosen] Add documentation to Module.
    a86a953 [Josh Rosen] Clean up modules; add new modules for streaming external projects
    e46539f [Josh Rosen] Fix camel-cased endswith()
    35a3052 [Josh Rosen] Enable Hive tests when running all tests
    df10e23 [Josh Rosen] update to reflect fact that no module depends on root
    3670d50 [Josh Rosen] mllib should depend on streaming
    dc6f1c6 [Josh Rosen] Use changed files' extensions to decide whether to run style checks
    7092d3e [Josh Rosen] Skip SBT tests if no test goals are specified
    43a0ced [Josh Rosen] Minor fixes
    3371441 [Josh Rosen] Test everything if nothing has changed (needed for non-PRB builds)
    37f3fb3 [Josh Rosen] Remove doc profiles option, since it's not actually needed (see #6865)
    f53864b [Josh Rosen] Finish integrating module changes
    f0249bd [Josh Rosen] WIP
    7a3c424e
    History
    [SPARK-8422] [BUILD] [PROJECT INFRA] Add a module abstraction to dev/run-tests
    Josh Rosen authored
    This patch builds upon #5694 to add a 'module' abstraction to the `dev/run-tests` script which groups together the per-module test logic, including the mapping from file paths to modules, the mapping from modules to test goals and build profiles, and the dependencies / relationships between modules.
    
    This refactoring makes it much easier to increase the granularity of test modules, which will let us skip even more tests.  It's also a prerequisite for other changes that will reduce test time, such as running subsets of the Python tests based on which files / modules have changed.
    
    This patch also adds doctests for the new graph traversal / change mapping code.
    
    Author: Josh Rosen <joshrosen@databricks.com>
    
    Closes #6866 from JoshRosen/more-dev-run-tests-refactoring and squashes the following commits:
    
    75de450 [Josh Rosen] Use module system to determine which build profiles to enable.
    4224da5 [Josh Rosen] Add documentation to Module.
    a86a953 [Josh Rosen] Clean up modules; add new modules for streaming external projects
    e46539f [Josh Rosen] Fix camel-cased endswith()
    35a3052 [Josh Rosen] Enable Hive tests when running all tests
    df10e23 [Josh Rosen] update to reflect fact that no module depends on root
    3670d50 [Josh Rosen] mllib should depend on streaming
    dc6f1c6 [Josh Rosen] Use changed files' extensions to decide whether to run style checks
    7092d3e [Josh Rosen] Skip SBT tests if no test goals are specified
    43a0ced [Josh Rosen] Minor fixes
    3371441 [Josh Rosen] Test everything if nothing has changed (needed for non-PRB builds)
    37f3fb3 [Josh Rosen] Remove doc profiles option, since it's not actually needed (see #6865)
    f53864b [Josh Rosen] Finish integrating module changes
    f0249bd [Josh Rosen] WIP