tree: 6fe0ea33addf5aea8e06f3e6df54e4bd79c2127b [path history] [tgz]
  1. cpp/
  2. jenkins/
  3. nightly/
  4. python/
  5. python-pytest/
  6. tutorials/
  7. utils/
  8. .gitignore
  9. CMakeLists.txt
  10. README.md
  11. requirements.txt
tests/README.md

Testing MXNET

Running CPP Tests

  1. Install cmake

  2. Create a build directory in the root of the mxnet project

    mkdir build
    cd build
    
  3. Generate your Makefile and build along with the tests with cmake (specify appropraite flags)

    cmake -DUSE_CUDNN=ON -DUSE_CUDA=ON -DUSE_MKLDNN=ON -DBLAS=Open -DCMAKE_BUILD_TYPE=Debug .. && make
    
  4. Run tests

    ctest --verbose
    
  5. The following will run all the tests the in cpp directory. To run just your test file replace the following in your tests/CMakeLists.txt

    file(GLOB_RECURSE UNIT_TEST_SOURCE "cpp/*.cc" "cpp/*.h")
    

    with

    file(GLOB_RECURSE UNIT_TEST_SOURCE "cpp/test_main.cc" "cpp/{RELATIVE_PATH_TO_TEST_FILE}")
    

Building with Ninja

Ninja is a build tool (like make) that prioritizes building speed. If you will be building frequently, we recommend you use ninja

  1. Download Ninja via package manager or directly from source
    apt-get install ninja-build
    
  2. When running cmake, add the -GNinja flag to specify cmake to generate a Ninja build file
    cmake -DUSE_CUDNN=ON -DUSE_CUDA=ON -DUSE_MKLDNN=ON -DBLAS=Open -GNinja -DCMAKE_BUILD_TYPE=Debug ..
    
  3. Run the ninja build file with
    ninja
    

Runing Python Tests Within Docker

To run tests inside docker, you first need to install docker and docker-compose on your machine.

On Ubuntu you may install them via sudo apt-get install docker.io docker-compose and set them up via sudo usermod $(whoami) -G docker -a.

Then, to run tests inside docker run the following command

ci/build.py --platform {PLATFORM} /work/runtime_functions.sh {RUNTIME_FUNCTION}

An example for running python tests would be

ci/build.py --platform build_ubuntu_cpu_mkldnn /work/runtime_functions.sh unittest_ubuntu_python3_cpu