Andreas Wacknitz
2024-04-04 8590298b09ebad29af56370cd23105cd0931b389
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
 
#
# Copyright 2023 Marcel Telka
#
 
%patch% 01-Cython.patch
%patch% 02-test_attributes.patch
%patch% 03-no-shebang.patch
%patch% 04-check_backend-port.patch
%patch% 05-testFDPassSeparate.patch
%patch% 06-test-port-8001.patch
 
%include-3%
# Do not use test concurrency to get predictable order of test results
COMPONENT_TEST_ENV += NWORKERS=1
 
# Normalize test results
COMPONENT_TEST_TRANSFORMS += "-e 's/\x1b\[[0-9;]*m//g'"                                        # remove colors
COMPONENT_TEST_TRANSFORMS += "-e '/^Running tests in parallel with concurrency/d'"                        # drop concurrency report
COMPONENT_TEST_TRANSFORMS += "-e 's/0x[0-9a-f]\{12,\}/\$$(POINTER)/g'"                                # pointers
COMPONENT_TEST_TRANSFORMS += "-e 's/\(thread_ident=\)0x[0-9a-f]\{1,\}/\1\$$(ID)/g'"                        # thread_ident
COMPONENT_TEST_TRANSFORMS += "-e 's/[0-9]\{4\}-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]Z/\$$(TIMESTAMP)/g'"    # timestamps
COMPONENT_TEST_TRANSFORMS += "-e 's/\[[0-9]\{4\}-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\]/[\$$(TIMESTAMP)]/g'"    # timestamps
COMPONENT_TEST_TRANSFORMS += "-e 's/\(Ran [0-9]\{1,\} tests\{0,1\}\) in [\.0-9]\{1,\}s/\1/'"                    # timing
COMPONENT_TEST_TRANSFORMS += "-e 's/^\(Ran [0-9]\{1,\} tests\{0,1\}.* in [0-9]\{1,\} files\{0,1\}\) in .*\$$/\1/'"        # timing
COMPONENT_TEST_TRANSFORMS += "-e 's/\(GET .* HTTP.*\) [\.0-9]\{1,\}\$$/\1/'"                            # timing
COMPONENT_TEST_TRANSFORMS += "-e 's/\(reacted\) after [\.0-9]\{1,\} seconds/\1/'"                        # timing
COMPONENT_TEST_TRANSFORMS += "-e 's/ \[took [\.0-9]\{1,\}s\]//'"                                # timing
COMPONENT_TEST_TRANSFORMS += "-e 's/ \[took [\.0-9]\{1,\}s \([^]]*\)\]/ [\1]/'"                            # timing
COMPONENT_TEST_TRANSFORMS += "-e 's/^\(  127\.0\.0\.1:\)[0-9]\{1,\}\([ -]\)/\1\$$(PORT)\2/'"                    # source port changes
COMPONENT_TEST_TRANSFORMS += "-e '/New connection from 127\.0\.0\.1:/d'"                            # could be out of order
COMPONENT_TEST_TRANSFORMS += "-e '/echoed b/d'"                                            # could be out of order
COMPONENT_TEST_TRANSFORMS += "-e '/^Longest-running tests:/,/^\$$/d'"                                # list changes with every run
 
# This project uses both cpython and abi3 ABI depending on particular library.
# To deal with this we need to disable automatic ABI library name transforms.
PY3_CPYTHON_NAMING=\#
%hook-manifest%
# ... and use our own transforms.
printf '<transform file -> edit path "(usr/lib/python3\\.(\\d)+/vendor-packages/.*)\\.so$" "\\1.cpython-3\\2.so">\n' >> "$DISTRIBUTION-PYVER.p5m"
printf '<transform file -> edit path "(usr/lib/python3\\.\\d+/vendor-packages/gevent/lib[eu]v/_corecffi\\.)cpython-3\\d+\\.so$" "\\1abi3.so">\n' >> "$DISTRIBUTION-PYVER.p5m"