Changes in / [58f26cb:bf45993] in mainline


Ignore:
Files:
71 added
8 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    r58f26cb rbf45993  
    600600! CONFIG_WRITE_CORE_FILES (n/y)
    601601
     602% Include userspace unit tests (PCUT)
     603! CONFIG_PCUT_TESTS (n/y)
     604
     605% Include PCUT self-tests
     606! CONFIG_PCUT_SELF_TESTS (n/y)
     607
    602608% Include development files (headers, libraries)
    603609! CONFIG_DEVEL_FILES (n/y)
  • boot/Makefile

    r58f26cb rbf45993  
    6868                cp "$$file" "$(DIST_PATH)/app/" ; \
    6969        done
     70ifeq ($(CONFIG_PCUT_TESTS),y)
     71        echo "echo Running all tests..." >"$(DIST_PATH)/test/run_all"
     72        echo "<html><head><title>HelenOS test results</title></head><body>" >"$(DIST_PATH)/test/test.html"
     73        echo "<h1>HelenOS test results</h1><ul>" >>"$(DIST_PATH)/test/test.html"
     74        for file in $(RD_TESTS) ; do \
     75                file2=`basename $$file`; \
     76                cp "$$file" "$(DIST_PATH)/test/" ; \
     77                echo "echo ' ->' $$file2" >>"$(DIST_PATH)/test/run_all"; \
     78                echo "/test/$$file2 | to /test/$$file2.out" >>"$(DIST_PATH)/test/run_all"; \
     79                echo "cat /test/$$file2.out" >>"$(DIST_PATH)/test/run_all"; \
     80                echo "cp -f /test/$$file2.out /data/web/result-$$file2.txt" >>"$(DIST_PATH)/test/run_all"; \
     81                echo "<li><a href=\"result-$$file2.txt\">$$file2</a></li>" >>"$(DIST_PATH)/test/test.html"; \
     82        done
     83        echo "cp -f /test/test.html /data/web/test.html" >>"$(DIST_PATH)/test/run_all"
     84        echo "</ul></body></html>" >>"$(DIST_PATH)/test/test.html"
     85endif
     86
     87ifeq ($(CONFIG_PCUT_SELF_TESTS),y)
     88        echo "echo Running all PCUT self-tests..." >"$(DIST_PATH)/test/run_pcut"
     89        echo "<html><head><title>Results of PCUT self-tests on HelenOS</title></head><body>" >"$(DIST_PATH)/test/pcut.html"
     90        echo "<h1>Results of PCUT self-tests on HelenOS</h1><ul>" >>"$(DIST_PATH)/test/pcut.html"
     91        for file in $(USPACE_PATH)/lib/pcut/test-libpcut-*; do \
     92                file2=`basename $$file`; \
     93                name=`echo "$$file2" | sed 's/test-libpcut-//'`; \
     94                cp "$$file" "$(DIST_PATH)/test/" ; \
     95                echo "echo ' ->' $$name" >>"$(DIST_PATH)/test/run_pcut"; \
     96                echo "/test/$$file2 | to /test/$$file2.out" >>"$(DIST_PATH)/test/run_pcut"; \
     97                echo "cat /test/$$file2.out" >>"$(DIST_PATH)/test/run_pcut"; \
     98                echo "cp -f /test/$$file2.out /data/web/result-$$file2.txt" >>"$(DIST_PATH)/test/run_pcut"; \
     99                echo "<li><a href=\"result-$$file2.txt\">$$name</a></li>" >>"$(DIST_PATH)/test/pcut.html"; \
     100        done
     101        echo "cp -f /test/pcut.html /data/web/pcut.html" >>"$(DIST_PATH)/test/run_pcut"
     102        echo "</ul></body></html>" >>"$(DIST_PATH)/test/pcut.html"
     103endif
     104
    70105        for drv in $(RD_DRVS) ; do \
    71106                drv_dir="`dirname "$$drv"`" ; \
     
    100135        rm -rf $(USPACE_PATH)/dist/inc/*
    101136        rm -f $(USPACE_PATH)/dist/app/*
     137        rm -f $(USPACE_PATH)/dist/test/*
    102138        rm -f $(USPACE_PATH)/dist/cfg/net/*
  • boot/Makefile.common

    r58f26cb rbf45993  
    221221        $(USPACE_PATH)/app/fontviewer/fontviewer
    222222
     223RD_TESTS = \
     224        $(USPACE_PATH)/lib/c/test-libc \
     225        $(USPACE_PATH)/lib/posix/test-libposix \
     226        $(USPACE_PATH)/app/bdsh/test-bdsh
     227
     228
    223229COMPONENTS = \
    224230        $(KERNEL_PATH)/kernel.bin \
  • uspace/Makefile

    r58f26cb rbf45993  
    231231        lib/usbvirt \
    232232        lib/pcm \
     233        lib/pcut \
    233234        lib/bithenge \
    234235        lib/posix \
     
    240241LIBN_BUILD = $(addsuffix .build,$(LIBN))
    241242BUILDS := $(addsuffix .build,$(DIRS))
     243BUILDS_TESTS := $(addsuffix .build-test,$(DIRS) $(LIBS) lib/c)
    242244
    243245CLEANS := $(addsuffix .clean,$(DIRS)) $(addsuffix .clean,$(LIBN)) $(addsuffix .clean,$(LIBS)) $(addsuffix .clean,$(LIBC))
     
    245247.PHONY: all $(LIBC_BUILD) $(LIBS_BUILD) $(LIBN_BUILD) $(BUILDS) $(CLEANS) clean
    246248
    247 all: $(BUILDS)
     249all: $(BUILDS) $(BUILDS_TESTS)
     250
     251$(BUILDS_TESTS): $(BUILDS)
     252        $(MAKE) -C $(basename $@) all-test PRECHECK=$(PRECHECK)
    248253
    249254clean: $(CLEANS)
  • uspace/Makefile.common

    r58f26cb rbf45993  
    7878        JOB = $(BINARY).job
    7979        OUTPUT = $(BINARY)
     80        TEST_BINARY = test-$(BINARY)
    8081        EXTRA_OUTPUT += $(BINARY).disasm
    8182        EXTRA_CLEAN += $(BINARY).map
     
    8586        JOB = $(LIBRARY).job
    8687        OUTPUT = $(LIBRARY).a
     88        TEST_BINARY = test-$(LIBRARY)
    8789endif
    8890
     
    200202endif
    201203
     204# PCUT-based unit tests
     205ifneq ($(TEST_SOURCES),)
     206        TEST_OUTPUT = $(TEST_BINARY)
     207        TEST_CFLAGS = -I$(LIB_PREFIX)/pcut/include -D__helenos__
     208        TEST_OUTPUT_LIBS = $(LIB_PREFIX)/pcut/libpcut.a
     209        EXTRA_CLEAN += $(TEST_OUTPUT) $(TEST_OUTPUT).map
     210ifneq ($(LIBRARY),)
     211        TEST_OUTPUT_LIBS += $(OUTPUT)
     212endif
     213        TEST_OUTPUT_LIBS += $(TEST_LIBS)
     214endif
     215
    202216.PHONY: all clean
    203217
    204218all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(LIBS) $(OUTPUT) $(LOUTPUT) $(EXTRA_OUTPUT)
    205219        -[ -f $(DEPEND) ] && cp -a $(DEPEND) $(DEPEND_PREV)
     220
     221all-test: $(TEST_OUTPUT)
    206222
    207223clean:
     
    294310OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
    295311LOBJECTS := $(addsuffix .lo,$(basename $(SOURCES)))
     312TEST_OBJECTS := $(addsuffix .test.o,$(basename $(TEST_SOURCES)))
    296313
    297314ifneq ($(BINARY),)
     
    338355endif
    339356
     357ifneq ($(TEST_OUTPUT),)
     358$(TEST_OUTPUT): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_OUTPUT_LIBS)
     359        $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -M -Map $(TEST_OUTPUT).map -o $@ $(TEST_OBJECTS) $(TEST_OUTPUT_LIBS) $(LIBS) $(BASE_LIBS)
     360ifeq ($(CONFIG_STRIP_BINARIES),y)
     361        $(STRIP) $(TEST_OUTPUT)
     362endif
     363endif
     364
    340365%.o: %.S $(DEPEND)
    341366        $(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -c $< -o $@
     
    356381endif
    357382
     383%.test.o: %.c $(DEPEND)
     384        $(CC) $(DEFS) $(CFLAGS) $(TEST_CFLAGS) -c $< -o $@
     385ifeq ($(PRECHECK),y)
     386        $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
     387endif
     388
    358389%.lo: %.S $(DEPEND)
    359390        $(CC) $(DEFS) $(LIB_CFLAGS) -D__ASM__ -c $< -o $@
     
    375406
    376407$(DEPEND): $(PRE_DEPEND)
    377         makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) -- $(SOURCES) > $@ 2> /dev/null
     408        makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) -- $(SOURCES) $(TEST_SOURCES) > $@ 2> /dev/null
    378409        -[ -f $(DEPEND_PREV) ] && diff -q $(DEPEND_PREV) $@ && mv -f $(DEPEND_PREV) $@
    379410
  • uspace/app/bdsh/Makefile

    r58f26cb rbf45993  
    6565        tok.c
    6666
     67TEST_SOURCES = \
     68        tok.c \
     69        test/toktest.c
     70
    6771include $(USPACE_PREFIX)/Makefile.common
  • uspace/lib/c/Makefile

    r58f26cb rbf45993  
    165165        $(ARCH_SOURCES)
    166166
     167TEST_SOURCES = \
     168        test/main.c \
     169        test/sprintf.c
     170
    167171include $(USPACE_PREFIX)/Makefile.common
    168172
  • uspace/lib/posix/Makefile

    r58f26cb rbf45993  
    7979        source/unistd.c
    8080
     81TEST_SOURCES = \
     82        test/main.c \
     83        test/scanf.c
     84
    8185include $(USPACE_PREFIX)/Makefile.common
    8286
Note: See TracChangeset for help on using the changeset viewer.