new testing infrastructure

This commit is contained in:
Francesco Cozzuto
2023-01-22 02:22:44 +01:00
parent 533cf01920
commit 1780826a97
145 changed files with 1432 additions and 938 deletions
+32
View File
@@ -0,0 +1,32 @@
#ifndef TEST_SCANNER_H
#define TEST_SCANNER_H
#include <stddef.h>
#include <stdbool.h>
typedef struct {
const char *src;
size_t cur, len;
} NojaTestScanner;
bool noMoreCharacters(NojaTestScanner *scanner);
bool followsCharacter(NojaTestScanner *scanner, char c);
bool followsCharacterThat(NojaTestScanner *scanner, int (*testfn)(int c));
void consumeCharactersThat(NojaTestScanner *scanner, int (*testfn)(int c));
bool ifFollowsConsumeCharacter(NojaTestScanner *scanner, char c);
/*
#ifndef NDEBUG
bool noMoreCharacters__wrapped(NojaTestScanner *scanner, const char *file, size_t line);
bool followsCharacter__wrapped(NojaTestScanner *scanner, char c, const char *file, size_t line);
bool followsCharacterThat__wrapped(NojaTestScanner *scanner, int (*testfn)(int c), const char *file, size_t line);
void consumeCharactersThat__wrapped(NojaTestScanner *scanner, int (*testfn)(int c), const char *file, size_t line);
bool ifFollowsConsumeCharacter__wrapped(NojaTestScanner *scanner, char c, const char *file, size_t line);
#define noMoreCharacters(scanner) noMoreCharacters__wrapped(scanner, __FILE__, __LINE__)
#define followsCharacter(scanner, c) followsCharacter__wrapped(scanner, c, __FILE__, __LINE__)
#define followsCharacterThat(scanner, testfn) followsCharacterThat__wrapped(scanner, testfn, __FILE__, __LINE__)
#define consumeCharactersThat(scanner, testfn) consumeCharacterThat__wrapped(scanner, testfn, __FILE__, __LINE__)
#define ifFollowsConsumeCharacter(scanner, c) ifFollowsConsumeCharacter__wrapped(scanner, c, __FILE__, __LINE__)
#endif
*/
#endif