A C/C++ DocTest that runs tests using clang-repl interaction in comments. Supports Linux (macOS is untested).
clang-repl-kernelversion 0.1.8libclangmust be installed and functioning properly
#include "sample.h"
namespace test {
/**
>>> test::Fac fac;
>>> %<< fac.fac(7);
5040
*/
int Fac::fac(int n) {
return (n > 1) ? n * fac(n - 1) : 1;
}
/**
>>> test::Fac fac;
>>> %<< fac.fac2(5);
120
*/
int Fac::fac2(int n) {
return (n > 1) ? n * fac(n - 1) : 1;
}
}#pragma once
/**
>>> test::Fac fac;
>>> %<< fac.fac(5);
120
>>> %<< fac.fac2(5);
120
*/
namespace test {
class Fac {
public:
/**
>>> test::Fac fac;
>>> %<< fac.fac(5);
120
*/
int fac(int n);
int fac2(int n);
};
}clang -c -o sample.o sample.cpp
clang -shared sample.o -o sample.soclang-cl -c -o sample.o sample.cpp
clang -shared sample.o -o sample.dllpython3 -m cdoctest -cdtt=sample.h -cdtl=sample.so -cdtip=.python -m cdoctest -cdtt=sample.h -cdtl=sample.dll -cdtip=.Can be used with vscode extension cdoctest_vscode_extension