A C/C++ DocTest that runs tests using clang-repl
interaction in comments. Supports Linux (macOS is untested).
-
clang-repl-kernel
version 0.1.8 -
libclang
must 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.so
clang-cl -c -o sample.o sample.cpp
clang -shared sample.o -o sample.dll
python3 -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