xaizek / c-test-auto-reg (License: Unspecified) (since 2018-12-07)
Examples of automatic test registration in plain C as employed by stic.
<root> / fixtures-weak / Makefile (6e93fd412c2a838c20f731f2e972455436c592d3) (458B) (mode 100644) [raw]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
SRC := $(sort $(wildcard *.c))
OBJ := $(SRC:.c=.o)

pos = $(strip $(eval T := ) \
              $(eval i := 0) \
              $(foreach elem, $1, \
                        $(if $(filter $2,$(elem)), \
                             $(eval i := $(words $T)), \
                             $(eval T := $T $(elem)))) \
              $i)

$(notdir $(abspath .)) : $(OBJ)
	$(CC) -o $@ $^

%.o: %.c $(dir %.c)/.
	$(CC) -DTESTID=$(call pos, $(OBJ), $@) -c -o $@ $<
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/c-test-auto-reg

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/c-test-auto-reg

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master