doctest for C/C++ which run tests by using clang-repl interaction comments.
Project description
C/C++ DocTest
A C/C++ DocTest that runs tests using clang-repl interaction in comments. Supports Linux (macOS is untested).
Prerequisites
clang-repl-kernelversion 0.1.8libclangmust be installed and functioning properly
Usage
sample.cpp
#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;
}
}
sample.h
#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);
};
}
Building the Shared Library on Linux
clang -c -o sample.o sample.cpp
clang -shared sample.o -o sample.so
Building the DLL on Windows
clang-cl -c -o sample.o sample.cpp
clang -shared sample.o -o sample.dll
Running Tests with Source Code and Shared Library on Linux
python3 -m cdoctest -cdtt=sample.h -cdtl=sample.so -cdtip=.
Running Tests with Source Code and DLL on Windows
python -m cdoctest -cdtt=sample.h -cdtl=sample.dll -cdtip=.
Support vscode extension
Can be used with vscode extension cdoctest_vscode_extension
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
cdoctest-1.4.18-py3-none-any.whl
(21.2 kB
view details)
File details
Details for the file cdoctest-1.4.18-py3-none-any.whl.
File metadata
- Download URL: cdoctest-1.4.18-py3-none-any.whl
- Upload date:
- Size: 21.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb2a6a2dd7df3d30e281115e8bd19055207112542834e7b2a6ea321b723edf02
|
|
| MD5 |
e7163ee53580b24926db78064b82f660
|
|
| BLAKE2b-256 |
b32c61f0baa88b6b55b385bee2c30630e6a3df9816ea1d68baecf3cc7d365804
|