reworked pptest1/4/5 into executable tests and moved to test/val

This commit is contained in:
mrdudz 2020-07-21 14:58:15 +02:00
parent 638e254668
commit 010ed6d729
6 changed files with 75 additions and 12 deletions

27
test/val/pptest1.c Normal file
View File

@ -0,0 +1,27 @@
/* preprocessor test #1 */
#define hash_hash # ## #
#define mkstr(a) # a
#define in_between(a) mkstr(a)
#define join(c, d) in_between(c hash_hash d)
#define x "first"
#define y "second"
char p[] = join(x, y); // Comment
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
printf("expected: %s\n", "\"first\" ## \"second\"");
printf("p: %s\n", p);
if (!strcmp(p, "\"first\" ## \"second\"")) {
return EXIT_SUCCESS;
}
printf("all fine\n");
return EXIT_FAILURE;
}

24
test/val/pptest4.c Normal file
View File

@ -0,0 +1,24 @@
/* preprocessor test #4 */
#define t(x,y,z) x ## y ## z
int j[] = { t(1,2,3), t(,4,5), t(6,,7), t(8,9,),
t(10,,), t(,11,), t(,,12), t(,,) };
int e[] = { 123, 45, 67, 89, 10, 11, 12, };
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
unsigned char i;
int main(void)
{
for (i = 0; i < 7; ++i) {
printf("j: %d expect: %d\n", j[i], e[i]);
if (j[i] != e[i]) return EXIT_FAILURE;
}
printf("all fine\n");
return EXIT_SUCCESS;
}

24
test/val/pptest5.c Normal file
View File

@ -0,0 +1,24 @@
/* preprocessor test #5 */
#define t(x,y,z) x ## y ## z
int j[] = { t(1,2,3), t(,4,5), t(6,,7), t(8,9,),
t(10,,), t(,11,), t(,,12), t(,,) };
int e[] = { 123, 45, 67, 89, 10, 11, 12, };
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
unsigned char i;
int main(void)
{
for (i = 0; i < 7; ++i) {
printf("j: %d expect: %d\n", j[i], e[i]);
if (j[i] != e[i]) return EXIT_FAILURE;
}
printf("all fine\n");
return EXIT_SUCCESS;
}

View File

@ -1,6 +0,0 @@
#define hash_hash # ## #
#define mkstr(a) # a
#define in_between(a) mkstr(a)
#define join(c, d) in_between(c hash_hash d)
char p[] = join(x, y); // Comment

View File

@ -1,3 +0,0 @@
#define t(x,y,z) x ## y ## z
int j[] = { t(1,2,3), t(,4,5), t(6,,7), t(8,9,),
t(10,,), t(,11,), t(,,12), t(,,) };

View File

@ -1,3 +0,0 @@
#define t(x,y,z) x ## y ## z
int j[] = { t(1,2,3), t(,4,5), t(6,,7), t(8,9,),
t(10,,), t(,11,), t(,,12), t(,,) };