DRuntime development

From D Wiki
Jump to: navigation, search

Welcome to the D community and thanks for your interest in contributing! If you need help you can ask questions on #d IRC channel on freenode.org (web interface) or on our forum.

Common build target =

Build everything

make -f posix.mak -j4

Build with debug symbols

make -f posix.mak -j4 BUILD=debug

Build only as a shared library

make -f posix.mak dll -j4

Build only as a static library

make -f posix.mak lib -j4

Testing

This section explains commonly commands which are commonly used to test the low level runtime library for the D programming language.

Run all tests

The entire druntime testsuite can be run with the unittest target:

make -f posix.mak unittest -j4

Run an individual test

Sometimes it can be helpful to rerun only a single test which tests the module or feature one is working on. For example:

make -f posix.mak test/coverage/.run

There are also unittest which have a different behavior when built in debug. To test this, you can set the BUILD mode:

make -f posix.mak test/exceptions/.run BUILD=debug

When you execute the unittest target, unittest-debug and unittest-release are tested.

Benchmarking

If you are making a bigger change or want to improve the performance of a specific function in druntime, you should run the included benchmark script:

rdmd benchmark/runbench.d