Other than modularizing the split evaluation function, this PR also removes some more functions including `InitNewNodes` and `BuildNodeStats` among some other unused variables. Also, scattered code like setting leaf weights is grouped into the split evaluator and `NodeEntry` is simplified and made private. Another subtle difference with the original implementation is that the modified code doesn't call `tree[nidx].Parent()` to traversal upward.
This folder contains test cases for XGBoost c++ core, Python package and some other CI facilities.
Directories
- ci_build: Test facilities for Jenkins CI and GitHub action.
- cli: Basic test for command line executable
xgboost. Most of the other command line specific tests are in Python testtest_cli.py - cpp: Tests for C++ core, using Google test framework.
- python: Tests for Python package, demonstrations and CLI. For how to setup the
dependencies for tests, see conda files in
ci_build. - python-gpu: Similar to python tests, but for GPU.
- travis: CI facilities for Travis.
- distributed: Legacy tests for distributed system. Most of the distributed tests are
in Python tests using
daskand jvm package usingspark. - benchmark: Legacy benchmark code. There are a number of benchmark projects for XGBoost with much better configurations.
Others
- pytest.ini: Describes the
pytestmarker for python tests, some markers are generated byconftest.pyfile.