test/Makefile

Thu, 03 Sep 2026 15:28:54 +0200

author
Mike Becker <universe@uap-core.de>
date
Thu, 03 Sep 2026 15:28:54 +0200
changeset 215
d20887f0e8b3
parent 213
cf7b86d79d35
permissions
-rw-r--r--

simplify fen_pieces()

0
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 #
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3 #
148
6cc15ba51424 add test directory and make target for tests
Mike Becker <universe@uap-core.de>
parents: 132
diff changeset
4 # Copyright 2026 Mike Becker. All rights reserved.
0
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5 #
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 # Redistribution and use in source and binary forms, with or without
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 # modification, are permitted provided that the following conditions are met:
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 #
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 # 1. Redistributions of source code must retain the above copyright
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 # notice, this list of conditions and the following disclaimer.
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 #
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 # 2. Redistributions in binary form must reproduce the above copyright
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 # notice, this list of conditions and the following disclaimer in the
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 # documentation and/or other materials provided with the distribution.
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 #
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26 # POSSIBILITY OF SUCH DAMAGE.
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
27 #
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
28
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents: 58
diff changeset
29 include ../config.mk
0
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
30
149
ea2448961441 add 150 example games to test PGN parser
Mike Becker <universe@uap-core.de>
parents: 148
diff changeset
31 SRC = run-tests.c \
193
d1420f5c5704 increase type safety + add backwards compatibility including C99
Mike Becker <universe@uap-core.de>
parents: 179
diff changeset
32 test-datatypes.c \
d1420f5c5704 increase type safety + add backwards compatibility including C99
Mike Becker <universe@uap-core.de>
parents: 179
diff changeset
33 test-rules-helper.c \
213
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
34 test-real-pgn.c \
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
35 test-pawn.c \
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
36 test-rook.c \
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
37 test-knight.c \
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
38 test-bishop.c \
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
39 test-queen.c \
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
40 test-king.c \
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
41
149
ea2448961441 add 150 example games to test PGN parser
Mike Becker <universe@uap-core.de>
parents: 148
diff changeset
42
72
7e58e0f74e50 improve Makefiles
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
43 OBJ = $(SRC:%.c=$(BUILDDIR)/%.o)
0
98034084033f init project
Mike Becker <universe@uap-core.de>
parents:
diff changeset
44
149
ea2448961441 add 150 example games to test PGN parser
Mike Becker <universe@uap-core.de>
parents: 148
diff changeset
45 CFLAGS += -I../src
ea2448961441 add 150 example games to test PGN parser
Mike Becker <universe@uap-core.de>
parents: 148
diff changeset
46
148
6cc15ba51424 add test directory and make target for tests
Mike Becker <universe@uap-core.de>
parents: 132
diff changeset
47 all: $(BUILDDIR)/run-tests FORCE
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents: 58
diff changeset
48
148
6cc15ba51424 add test directory and make target for tests
Mike Becker <universe@uap-core.de>
parents: 132
diff changeset
49 $(BUILDDIR)/run-tests: $(OBJ) $(BUILDDIR)/libchess$(LIB_EXT)
108
1eabc1123567 fix build for linkers that expect libs to come last
Mike Becker <universe@uap-core.de>
parents: 78
diff changeset
50 $(CC) -o $@ $^ $(LDFLAGS)
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents: 58
diff changeset
51
72
7e58e0f74e50 improve Makefiles
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
52 FORCE:
7e58e0f74e50 improve Makefiles
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
53
148
6cc15ba51424 add test directory and make target for tests
Mike Becker <universe@uap-core.de>
parents: 132
diff changeset
54 $(BUILDDIR)/run-tests.o: run-tests.c ucxtest.h
78
ceb9197b3c6d improve code structure
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
55 @echo "Compiling $<"
72
7e58e0f74e50 improve Makefiles
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
56 $(CC) -o $@ $(CFLAGS) -c $<
7e58e0f74e50 improve Makefiles
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
57
213
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
58 $(BUILDDIR)/test-bishop.o: test-bishop.c ../src/chess/rules.h ucxtest.h
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
59 @echo "Compiling $<"
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
60 $(CC) -o $@ $(CFLAGS) -c $<
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
61
193
d1420f5c5704 increase type safety + add backwards compatibility including C99
Mike Becker <universe@uap-core.de>
parents: 179
diff changeset
62 $(BUILDDIR)/test-datatypes.o: test-datatypes.c ../src/chess/rules.h
d1420f5c5704 increase type safety + add backwards compatibility including C99
Mike Becker <universe@uap-core.de>
parents: 179
diff changeset
63 @echo "Compiling $<"
d1420f5c5704 increase type safety + add backwards compatibility including C99
Mike Becker <universe@uap-core.de>
parents: 179
diff changeset
64 $(CC) -o $@ $(CFLAGS) -c $<
d1420f5c5704 increase type safety + add backwards compatibility including C99
Mike Becker <universe@uap-core.de>
parents: 179
diff changeset
65
213
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
66 $(BUILDDIR)/test-king.o: test-king.c ../src/chess/rules.h ucxtest.h
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
67 @echo "Compiling $<"
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
68 $(CC) -o $@ $(CFLAGS) -c $<
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
69
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
70 $(BUILDDIR)/test-knight.o: test-knight.c ../src/chess/rules.h ucxtest.h
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
71 @echo "Compiling $<"
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
72 $(CC) -o $@ $(CFLAGS) -c $<
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
73
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
74 $(BUILDDIR)/test-pawn.o: test-pawn.c ../src/chess/rules.h ucxtest.h
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
75 @echo "Compiling $<"
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
76 $(CC) -o $@ $(CFLAGS) -c $<
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
77
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
78 $(BUILDDIR)/test-queen.o: test-queen.c ../src/chess/rules.h ucxtest.h
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
79 @echo "Compiling $<"
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
80 $(CC) -o $@ $(CFLAGS) -c $<
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
81
149
ea2448961441 add 150 example games to test PGN parser
Mike Becker <universe@uap-core.de>
parents: 148
diff changeset
82 $(BUILDDIR)/test-real-pgn.o: test-real-pgn.c ucxtest.h ../src/chess/pgn.h \
197
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
83 ../src/chess/rules.h data/game001.pgn data/game002.pgn data/game003.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
84 data/game004.pgn data/game005.pgn data/game006.pgn data/game007.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
85 data/game008.pgn data/game009.pgn data/game010.pgn data/game011.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
86 data/game012.pgn data/game013.pgn data/game014.pgn data/game015.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
87 data/game016.pgn data/game017.pgn data/game018.pgn data/game019.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
88 data/game020.pgn data/game021.pgn data/game022.pgn data/game023.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
89 data/game024.pgn data/game025.pgn data/game026.pgn data/game027.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
90 data/game028.pgn data/game029.pgn data/game030.pgn data/game031.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
91 data/game032.pgn data/game033.pgn data/game034.pgn data/game035.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
92 data/game036.pgn data/game037.pgn data/game038.pgn data/game039.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
93 data/game040.pgn data/game041.pgn data/game042.pgn data/game043.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
94 data/game044.pgn data/game045.pgn data/game046.pgn data/game047.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
95 data/game048.pgn data/game049.pgn data/game050.pgn data/game051.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
96 data/game052.pgn data/game053.pgn data/game054.pgn data/game055.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
97 data/game056.pgn data/game057.pgn data/game058.pgn data/game059.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
98 data/game060.pgn data/game061.pgn data/game062.pgn data/game063.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
99 data/game064.pgn data/game065.pgn data/game066.pgn data/game067.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
100 data/game068.pgn data/game069.pgn data/game070.pgn data/game071.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
101 data/game072.pgn data/game073.pgn data/game074.pgn data/game075.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
102 data/game076.pgn data/game077.pgn data/game078.pgn data/game079.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
103 data/game080.pgn data/game081.pgn data/game082.pgn data/game083.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
104 data/game084.pgn data/game085.pgn data/game086.pgn data/game087.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
105 data/game088.pgn data/game089.pgn data/game090.pgn data/game091.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
106 data/game092.pgn data/game093.pgn data/game094.pgn data/game095.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
107 data/game096.pgn data/game097.pgn data/game098.pgn data/game099.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
108 data/game100.pgn data/game101.pgn data/game102.pgn data/game103.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
109 data/game104.pgn data/game105.pgn data/game106.pgn data/game107.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
110 data/game108.pgn data/game109.pgn data/game110.pgn data/game111.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
111 data/game112.pgn data/game113.pgn data/game114.pgn data/game115.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
112 data/game116.pgn data/game117.pgn data/game118.pgn data/game119.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
113 data/game120.pgn data/game121.pgn data/game122.pgn data/game123.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
114 data/game124.pgn data/game125.pgn data/game126.pgn data/game127.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
115 data/game128.pgn data/game129.pgn data/game130.pgn data/game131.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
116 data/game132.pgn data/game133.pgn data/game134.pgn data/game135.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
117 data/game136.pgn data/game137.pgn data/game138.pgn data/game139.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
118 data/game140.pgn data/game141.pgn data/game142.pgn data/game143.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
119 data/game144.pgn data/game145.pgn data/game146.pgn data/game147.pgn \
9cbd4f09a22f add option to select a specific curses implementation
Mike Becker <universe@uap-core.de>
parents: 193
diff changeset
120 data/game148.pgn data/game149.pgn data/game150.pgn
149
ea2448961441 add 150 example games to test PGN parser
Mike Becker <universe@uap-core.de>
parents: 148
diff changeset
121 @echo "Compiling $<"
ea2448961441 add 150 example games to test PGN parser
Mike Becker <universe@uap-core.de>
parents: 148
diff changeset
122 $(CC) -o $@ $(CFLAGS) -c $<
ea2448961441 add 150 example games to test PGN parser
Mike Becker <universe@uap-core.de>
parents: 148
diff changeset
123
213
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
124 $(BUILDDIR)/test-rook.o: test-rook.c ../src/chess/rules.h ucxtest.h
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
125 @echo "Compiling $<"
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
126 $(CC) -o $@ $(CFLAGS) -c $<
cf7b86d79d35 add (empty) test suites for all pieces
Mike Becker <universe@uap-core.de>
parents: 197
diff changeset
127
179
5ef724e21702 implement draw due to insufficient material
Mike Becker <universe@uap-core.de>
parents: 149
diff changeset
128 $(BUILDDIR)/test-rules-helper.o: test-rules-helper.c ucxtest.h \
5ef724e21702 implement draw due to insufficient material
Mike Becker <universe@uap-core.de>
parents: 149
diff changeset
129 ../src/chess/rules.h
5ef724e21702 implement draw due to insufficient material
Mike Becker <universe@uap-core.de>
parents: 149
diff changeset
130 @echo "Compiling $<"
5ef724e21702 implement draw due to insufficient material
Mike Becker <universe@uap-core.de>
parents: 149
diff changeset
131 $(CC) -o $@ $(CFLAGS) -c $<
5ef724e21702 implement draw due to insufficient material
Mike Becker <universe@uap-core.de>
parents: 149
diff changeset
132

mercurial