11name : Build and Test Library
22
3- on :
4- push :
5- branches :
6- - main
7- pull_request :
3+ on : [push]
84
95jobs :
106 build-and-test-pure :
@@ -28,16 +24,29 @@ jobs:
2824 id : build
2925
3026 - name : Install built library
31- run : pip install "$(ls dist/*.tar.gz | head -n 1)[optional]"
27+ run : |
28+ pip install "$(ls dist/*.tar.gz | head -n 1)[optional]"
29+ rm -rf flask_inputfilter
3230
33- - name : Verify library usage - Part I
31+ - name : Verify library usage - Part I - installation
3432 run : |
3533 python -c "import flask_inputfilter.InputFilter"
3634 python -c "from flask_inputfilter import InputFilter"
3735
38- - name : Verify library usage - Part II
36+ - name : Verify library usage - Part II - functional test
3937 run : pytest tests/
4038
39+ - name : Verify library usage - Part III - correct version
40+ run : |
41+ output=$(python -c "from flask_inputfilter import InputFilter; print(InputFilter)")
42+
43+ if [ "$output" = "<class 'flask_inputfilter.InputFilter.InputFilter'>" ]; then
44+ echo "Test passed: Correct class returned"
45+ else
46+ echo "Test failed: Unexpected output - $output"
47+ exit 1
48+ fi
49+
4150 build-and-test-cython :
4251 runs-on : ubuntu-latest
4352
@@ -59,12 +68,40 @@ jobs:
5968 id : build
6069
6170 - name : Install built library
62- run : pip install "$(ls dist/*.tar.gz | head -n 1)[optional]"
71+ run : |
72+ pip install "$(ls dist/*.tar.gz | head -n 1)[optional]"
73+ rm -rf flask_inputfilter
6374
64- - name : Verify library usage - Part I
75+ - name : Verify library usage - Part I - installation
6576 run : |
6677 python -c "import flask_inputfilter.InputFilter"
6778 python -c "from flask_inputfilter import InputFilter"
6879
69- # - name: Verify library usage - Part II
70- # run: pytest tests/
80+ - name : Verify library usage - Part II - functional test
81+ run : pytest tests/
82+
83+ - name : Verify library usage - Part III - correct version
84+ run : |
85+ output=$(python -c "from flask_inputfilter import InputFilter; print(InputFilter)")
86+
87+ if [ "$output" = "<class 'flask_inputfilter._InputFilter.InputFilter'>" ]; then
88+ echo "Test passed: Correct class returned"
89+ else
90+ echo "Test failed: Unexpected output - $output"
91+ exit 1
92+ fi
93+
94+ # Creates and uses compiled file instead of pyximport
95+
96+ module_path=$(python -c "import flask_inputfilter; print(flask_inputfilter.__file__)")
97+
98+ module_dir=$(dirname "$module_path")
99+
100+ so_files=$(find "$module_dir" -maxdepth 1 -name "*.so")
101+
102+ if [ -n "$so_files" ]; then
103+ echo ".so-files found:"
104+ echo "$so_files"
105+ else
106+ echo "No .so-files found."
107+ fi
0 commit comments