Mercurial > p > roundup > code
annotate test/pytest_patcher.py @ 6593:e70e2789bc2c
issue2551189 - increase text search maxlength
This removes I think all the magic references to 25 and 30 (varchar
size) and replaces them with references to maxlength or maxlength+5.
I am not sure why the db column is 5 characters larger than the size
of what should be the max size of a word, but I'll keep the buffer
of 5 as making it 1/5 the size of maxlength makes less sense.
Also added tests for fts search in templating which were missing.
Added postgres, mysql and sqlite native indexing backends in which to
test fts. Added fts test to native-fts as well to make sure it's
working.
I want to commit this now for CI.
Todo:
add test cases for the use of FTS in the csv output in
actions.py. There is no test coverage of the match case there.
change maxlength to a higher value (50) as requested in the ticket.
Modify existing extremewords test cases to allow words > 25 and < 51
write code to migrate column sizes for mysql and postgresql to match
maxlength I will roll this into the version 7 schema update that
supports use of database fts support.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 25 Jan 2022 13:22:00 -0500 |
| parents | 1c94afabb2cb |
| children |
| rev | line source |
|---|---|
|
5109
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
1 """ |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
2 The following code was taken from: |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
3 |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
4 https://github.com/pytest-dev/pytest/issues/568#issuecomment-216569420 |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
5 |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
6 to resolve a bug with using pytest.mark.skip(). Once the bug is resolved in |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
7 pytest this file can be removed along with all the wrapper mark_class() |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
8 references in the other test files. |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
9 """ |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
10 import types |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
11 |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
12 |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
13 def mark_class(marker): |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
14 '''Workaround for https://github.com/pytest-dev/pytest/issues/568''' |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
15 def copy_func(f): |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
16 try: |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
17 return types.FunctionType(f.__code__, f.__globals__, |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
18 name=f.__name__, argdefs=f.__defaults__, |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
19 closure=f.__closure__) |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
20 except AttributeError: |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
21 return types.FunctionType(f.func_code, f.func_globals, |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
22 name=f.func_name, |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
23 argdefs=f.func_defaults, |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
24 closure=f.func_closure) |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
25 |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
26 def mark(cls): |
|
5111
1c94afabb2cb
Fix mark_class decorator to work in all cases
John Kristensen <john@jerrykan.com>
parents:
5109
diff
changeset
|
27 if isinstance(cls, types.FunctionType): |
|
1c94afabb2cb
Fix mark_class decorator to work in all cases
John Kristensen <john@jerrykan.com>
parents:
5109
diff
changeset
|
28 return marker(copy_func(cls)) |
|
1c94afabb2cb
Fix mark_class decorator to work in all cases
John Kristensen <john@jerrykan.com>
parents:
5109
diff
changeset
|
29 |
|
5109
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
30 for method in dir(cls): |
|
5111
1c94afabb2cb
Fix mark_class decorator to work in all cases
John Kristensen <john@jerrykan.com>
parents:
5109
diff
changeset
|
31 if method.startswith('test'): |
|
5109
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
32 f = copy_func(getattr(cls, method)) |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
33 setattr(cls, method, marker(f)) |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
34 return cls |
|
43a1f7fe39f5
Improved work-around for pytest markers bug
John Kristensen <john@jerrykan.com>
parents:
diff
changeset
|
35 return mark |
