/ Makefile
Makefile
 1  # Project utility scripts
 2  .PHONY: test
 3  
 4  # Setup environment
 5  export SRC_DIR := ./src/python
 6  export TEST_DIR := ./test/python
 7  export PYTHONPATH := ${SRC_DIR}:${TEST_DIR}:${PYTHONPATH}
 8  export PATH := ${TEST_DIR}:${PATH}
 9  export PYTHONWARNINGS := ignore
10  
11  # Disable tokenizer parallelism for tests
12  export TOKENIZERS_PARALLELISM := false
13  
14  # Default python executable if not provided
15  PYTHON ?= python
16  
17  # Check for wget
18  WGET := $(shell wget --version 2> /dev/null)
19  ifndef WGET
20      $(error "Required binary `wget` not found, please install wget OS package")
21  endif
22  
23  # Download test data
24  data:
25  	mkdir -p /tmp/txtai
26  	wget -N https://github.com/neuml/txtai/releases/download/v6.2.0/tests.tar.gz -P /tmp
27  	tar -xvzf /tmp/tests.tar.gz -C /tmp
28  
29  # Unit tests
30  test:
31  	${PYTHON} -m unittest discover -v -s ${TEST_DIR}
32  
33  # Run tests while calculating code coverage
34  coverage:
35  	coverage run -m unittest discover -v -k testagent -s ${TEST_DIR}
36  	coverage run -m unittest discover -v -k testann -s ${TEST_DIR}
37  	coverage run -m unittest discover -v -k testapi -s ${TEST_DIR}
38  	coverage run -m unittest discover -v -k testapp -s ${TEST_DIR}
39  	coverage run -m unittest discover -v -k testarchive -s ${TEST_DIR}
40  	coverage run -m unittest discover -v -k testcloud -s ${TEST_DIR}
41  	coverage run -m unittest discover -v -k testconsole -s ${TEST_DIR}
42  	coverage run -m unittest discover -v -k testdatabase -s ${TEST_DIR}
43  	coverage run -m unittest discover -v -k testembeddings -s ${TEST_DIR}
44  	coverage run -m unittest discover -v -k testgraph -s ${TEST_DIR}
45  	coverage run -m unittest discover -v -k testmodels -s ${TEST_DIR}
46  	coverage run -m unittest discover -v -k testoptional -s ${TEST_DIR}
47  	coverage run -m unittest discover -v -k testpipeline.testaudio -s ${TEST_DIR}
48  	coverage run -m unittest discover -v -k testpipeline.testdata -s ${TEST_DIR}
49  	coverage run -m unittest discover -v -k testpipeline.testimage -s ${TEST_DIR}
50  	coverage run -m unittest discover -v -k testpipeline.testllm -s ${TEST_DIR}
51  	coverage run -m unittest discover -v -k testpipeline.testtext -s ${TEST_DIR}
52  	coverage run -m unittest discover -v -k testpipeline.testtrain -s ${TEST_DIR}
53  	coverage run -m unittest discover -v -k testscoring -s ${TEST_DIR}
54  	coverage run -m unittest discover -v -k testserialize -s ${TEST_DIR}
55  	coverage run -m unittest discover -v -k testvectors -s ${TEST_DIR}
56  	coverage run -m unittest discover -v -k testworkflow -s ${TEST_DIR}
57  	coverage combine