Testing

D support in Thrift is covered by two sets of tests: first, the unit test blocks contained in the D source files, and second, the more extensive testing applications in the test/ subdirectory, which also make use of the Thrift compiler. Both are built when running "make check", but only the unit tests are immediately run, however – the separate test cases typically run longer or require manual intervention. It might also be prudent to run the independent tests, which typically consist of a server and a client part, against the other language implementations.

To build the unit tests on Windows, the easiest way might be to manually create a file containing an empty main() and invoke the compiler by running the following in the src/ directory (PowerShell syntax):

dmd -ofunittest -unittest -w $(dir -r -filter '*.d' -name)

If you want to run the test clients/servers in OpenSSL mode, you have to provide »server-private-key.pem« and »server-certificate.pem« files in the directory the server executable resides in, and a »trusted-ca-certificate.pem« file for the client. The easiest way is to generate a new self signed certificate using the provided config file (openssl.test.cnf):

openssl req -new -x509 -nodes -config openssl.test.cnf \ -out server-certificate.pem cat server-certificate.pem > trusted-ca-certificate.pem

This steps are also performed automatically by the Autotools build system if the files are not present.