Felix Schumacher [Sat, 26 Feb 2022 13:29:13 +0000 (14:29 +0100)]
Use correct variable to compile regex
Felix Schumacher [Sat, 26 Feb 2022 10:27:02 +0000 (11:27 +0100)]
Add a switch to decide which regex engine should be used
This one uses the new cache for Java based Regex-Patterns in JMeterUtils
Felix Schumacher [Fri, 25 Feb 2022 15:42:15 +0000 (16:42 +0100)]
Add a switch to decide which regex engine should be used
This one uses the new cache for Java based Regex-Patterns in JMeterUtils
Felix Schumacher [Thu, 24 Feb 2022 20:06:37 +0000 (21:06 +0100)]
Add a switch to decide which regex engine should be used
This one uses the new cache for Java based Regex-Patterns in JMeterUtils
Felix Schumacher [Thu, 24 Feb 2022 19:52:07 +0000 (20:52 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Thu, 24 Feb 2022 19:45:08 +0000 (20:45 +0100)]
Use newer jupiter Assertions
Felix Schumacher [Thu, 24 Feb 2022 19:42:22 +0000 (20:42 +0100)]
Add a switch to decide which regex engine should be used
This one uses the new cache for Java based Regex-Patterns in JMeterUtils
Felix Schumacher [Thu, 24 Feb 2022 19:34:31 +0000 (20:34 +0100)]
Make errorProne happy and remove unused parameter from newly introduced private method
Felix Schumacher [Thu, 24 Feb 2022 19:22:56 +0000 (20:22 +0100)]
Add a switch to decide which regex engine should be used
This one uses the new cache for Java based Regex-Patterns in JMeterUtils
Felix Schumacher [Thu, 24 Feb 2022 19:10:44 +0000 (20:10 +0100)]
Add missing closing parenthesis in javadoc
Felix Schumacher [Thu, 24 Feb 2022 19:01:18 +0000 (20:01 +0100)]
Use correct order of extractors
too many No's there :)
Felix Schumacher [Thu, 24 Feb 2022 18:49:02 +0000 (19:49 +0100)]
Fix missing 'contains'/'find' for pattern
Felix Schumacher [Thu, 24 Feb 2022 18:40:14 +0000 (19:40 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Thu, 24 Feb 2022 18:04:48 +0000 (19:04 +0100)]
use 'modern' Java features as isEmpty and contains
Felix Schumacher [Thu, 24 Feb 2022 18:00:46 +0000 (19:00 +0100)]
Rename property for regex cache size
That way -- as Vladimir pointed out -- it would be more consistent to
a potentially renamed property jmeter.regex.engine, which would
replace the boolean property jmeter.use_java_regex.
Felix Schumacher [Thu, 24 Feb 2022 16:53:51 +0000 (17:53 +0100)]
Remove useless semicolon
Felix Schumacher [Thu, 24 Feb 2022 16:41:49 +0000 (17:41 +0100)]
Add a cache to store compiled Patterns into JMeterUtils
Felix Schumacher [Thu, 24 Feb 2022 16:00:43 +0000 (17:00 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Thu, 24 Feb 2022 15:32:26 +0000 (16:32 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Thu, 24 Feb 2022 11:04:52 +0000 (12:04 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Thu, 24 Feb 2022 10:53:19 +0000 (11:53 +0100)]
Remove unused parameter in private method
Felix Schumacher [Wed, 23 Feb 2022 21:03:59 +0000 (22:03 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Wed, 23 Feb 2022 20:59:41 +0000 (21:59 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Wed, 23 Feb 2022 20:08:10 +0000 (21:08 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Wed, 23 Feb 2022 19:47:54 +0000 (20:47 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Wed, 23 Feb 2022 19:42:13 +0000 (20:42 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Wed, 23 Feb 2022 19:27:48 +0000 (20:27 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Wed, 23 Feb 2022 19:14:59 +0000 (20:14 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Wed, 23 Feb 2022 17:44:44 +0000 (18:44 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Tue, 22 Feb 2022 15:43:20 +0000 (16:43 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Tue, 22 Feb 2022 15:37:13 +0000 (16:37 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Tue, 22 Feb 2022 15:36:47 +0000 (16:36 +0100)]
Remove unused local variable
this is the old default else branch, where implicitly is true.
Felix Schumacher [Mon, 21 Feb 2022 21:02:15 +0000 (22:02 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Mon, 21 Feb 2022 20:53:18 +0000 (21:53 +0100)]
Remove unnecessary second argument for substring (we want it all)
Felix Schumacher [Mon, 21 Feb 2022 20:52:19 +0000 (21:52 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Mon, 21 Feb 2022 20:34:34 +0000 (21:34 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Mon, 21 Feb 2022 20:31:49 +0000 (21:31 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Mon, 21 Feb 2022 20:23:10 +0000 (21:23 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Mon, 21 Feb 2022 20:20:32 +0000 (21:20 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Mon, 21 Feb 2022 20:16:28 +0000 (21:16 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Mon, 21 Feb 2022 20:04:17 +0000 (21:04 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Mon, 21 Feb 2022 19:58:54 +0000 (20:58 +0100)]
Add a switch to decide which regex engine should be used
Felix Schumacher [Mon, 21 Feb 2022 19:40:11 +0000 (20:40 +0100)]
Use isEmpty instead of comparing length to zero
Felix Schumacher [Sat, 5 Mar 2022 19:58:06 +0000 (20:58 +0100)]
Rephrase docs a bit
Don't use 'here' or similar as link text. Remove space at the end of line.
shblue21 [Mon, 21 Feb 2022 04:32:29 +0000 (13:32 +0900)]
Write graphite guide in realtime section
write graphite setting, in realtime section,
with simple pickle protocol
Closes #699
C.C [Wed, 23 Feb 2022 09:24:34 +0000 (17:24 +0800)]
Updated Chinese Simplified Translation
Kept the ordering of the original file and deleted those new entries from #701,
that can't be found in any other translation file or the sources.
Closes #701
Y. Z. Chen [Fri, 4 Mar 2022 00:12:54 +0000 (08:12 +0800)]
(typo) in zh-CN translation.
Y. Z. Chen [Fri, 4 Mar 2022 16:22:07 +0000 (00:22 +0800)]
ci: use https://apache.org instead of www.eu.apache.org for downloading Maven
Felix Schumacher [Sat, 5 Mar 2022 16:32:22 +0000 (17:32 +0100)]
Add notice for mxparser to README.md
According to https://raw.githubusercontent.com/x-stream/mxparser/master/LICENSE.txt
we have to put such a notice somewhere in the documentation.
Felix Schumacher [Sat, 5 Mar 2022 15:07:13 +0000 (16:07 +0100)]
Update checkstyle to 9.3
The 10.x branch is Java 11 and higher, only.
Suppress UnnecessaryParentheses for now, as we have quite a few of those and
it seems to be new check.
Felix Schumacher [Sat, 5 Mar 2022 14:54:50 +0000 (15:54 +0100)]
Updated wiremock to 2.32.0
Felix Schumacher [Sat, 5 Mar 2022 14:45:39 +0000 (15:45 +0100)]
Update Apache xmlgraphics commons to 2.7
Felix Schumacher [Sat, 5 Mar 2022 14:30:16 +0000 (15:30 +0100)]
Updated SLF4J to 1.7.36
Felix Schumacher [Sat, 5 Mar 2022 14:26:40 +0000 (15:26 +0100)]
Updated Saxon-HE to 11.2
Felix Schumacher [Sat, 5 Mar 2022 14:17:58 +0000 (15:17 +0100)]
Updated RSyntaxTextArea to 3.1.6
Felix Schumacher [Sat, 5 Mar 2022 14:13:58 +0000 (15:13 +0100)]
Update expected_release_jars and set errorprone to the currently used version
Felix Schumacher [Sat, 5 Mar 2022 12:22:49 +0000 (13:22 +0100)]
Updated PH CSS and PH commons to 6.5.4 and 10.1.6
Felix Schumacher [Sat, 5 Mar 2022 12:02:18 +0000 (13:02 +0100)]
Updated Neo4j Java driver to 4.4.4
Felix Schumacher [Sat, 5 Mar 2022 11:55:02 +0000 (12:55 +0100)]
Updated mina-core to 2.1.6
It was already used in this version by dependency
Felix Schumacher [Sat, 5 Mar 2022 11:40:43 +0000 (12:40 +0100)]
Updated JUnit5 to 5.8.2
Felix Schumacher [Sat, 5 Mar 2022 11:29:57 +0000 (12:29 +0100)]
Reverted Update of hsqldb to 2.6.1 (the binary seems to be compiled with Java >8)
Felix Schumacher [Sat, 5 Mar 2022 11:17:01 +0000 (12:17 +0100)]
Update JMESPath to 0.5.1
Felix Schumacher [Sat, 5 Mar 2022 10:36:18 +0000 (11:36 +0100)]
Updated Apache HttpCore to 4.4.15
Felix Schumacher [Sat, 5 Mar 2022 10:32:26 +0000 (11:32 +0100)]
Bytebuddy used by Caffeine
Felix Schumacher [Sat, 5 Mar 2022 10:27:09 +0000 (11:27 +0100)]
Updated hsqldb to 2.6.1
Felix Schumacher [Sat, 5 Mar 2022 10:25:35 +0000 (11:25 +0100)]
Updated hamcrest-date to 2.0.8
Felix Schumacher [Sat, 5 Mar 2022 10:23:59 +0000 (11:23 +0100)]
Updated ftplet and ftpserver to 1.1.3
Felix Schumacher [Sat, 5 Mar 2022 10:20:21 +0000 (11:20 +0100)]
Updates equalsverifier to 3.9
Felix Schumacher [Sat, 5 Mar 2022 10:15:54 +0000 (11:15 +0100)]
Updated commons-pool2 to 2.11.1
Felix Schumacher [Sat, 5 Mar 2022 10:08:10 +0000 (11:08 +0100)]
Updated Caffeine to 2.9.3
Felix Schumacher [Sat, 5 Mar 2022 10:00:25 +0000 (11:00 +0100)]
Add checksum of key for xbean
Felix Schumacher [Sat, 5 Mar 2022 09:48:50 +0000 (10:48 +0100)]
Update ActiveMQ to 5.16.4
Felix Schumacher [Fri, 4 Mar 2022 19:54:52 +0000 (20:54 +0100)]
Update json-smart and accessors-smart to 2.4.8
Felix Schumacher [Fri, 4 Mar 2022 18:41:18 +0000 (19:41 +0100)]
Update to log4j2 2.17.2
KING76169835 [Sat, 26 Feb 2022 04:29:01 +0000 (12:29 +0800)]
CSV文件中共享模式汉化翻译有误:所有现场-->所有线程
Felix Schumacher [Sat, 19 Feb 2022 18:41:27 +0000 (19:41 +0100)]
Setup GUI in Swing thread
This seems to be the right thing to do and it fixes an exception, that happens
on startup after the code for Bug 63620 has been incorporated.
The exception was:
ERROR o.a.j.g.u.JSyntaxTextArea: Dubious problem while setting text to SOMETHING
java.lang.NullPointerException: null
at org.fife.ui.rsyntaxtextarea.WrappedSyntaxView.updateMetrics(WrappedSyntaxView.java:1081) ~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at org.fife.ui.rsyntaxtextarea.WrappedSyntaxView.getPreferredSpan(WrappedSyntaxView.java:618) ~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at org.fife.ui.rsyntaxtextarea.WrappedSyntaxView.calculateBreakPosition(WrappedSyntaxView.java:114) ~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at org.fife.ui.rsyntaxtextarea.WrappedSyntaxView$WrappedLine.calculateLineCount(WrappedSyntaxView.java:1191) ~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at org.fife.ui.rsyntaxtextarea.WrappedSyntaxView$WrappedLine.handleDocumentEvent(WrappedSyntaxView.java:1440) ~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at org.fife.ui.rsyntaxtextarea.WrappedSyntaxView$WrappedLine.insertUpdate(WrappedSyntaxView.java:1464) ~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at org.fife.ui.rsyntaxtextarea.WrappedSyntaxView.insertUpdate(WrappedSyntaxView.java:705) ~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(BasicTextUI.java:1706) ~[?:?]
at javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(BasicTextUI.java:1965) ~[?:?]
at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:203) ~[?:?]
at org.fife.ui.rsyntaxtextarea.RSyntaxDocument.fireInsertUpdate(RSyntaxDocument.java:187) ~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:757) ~[?:?]
at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716) ~[?:?]
at javax.swing.text.PlainDocument.insertString(PlainDocument.java:131) ~[?:?]
at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:675) ~[?:?]
at javax.swing.text.JTextComponent.setText(JTextComponent.java:1729) ~[?:?]
at org.apache.jmeter.gui.util.JSyntaxTextArea.setInitialText(JSyntaxTextArea.java:296) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.testbeans.gui.TextAreaEditor.setValue(TextAreaEditor.java:112) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.testbeans.gui.GenericTestBeanCustomizer.setEditorValue(GenericTestBeanCustomizer.java:479) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.testbeans.gui.GenericTestBeanCustomizer.setObject(GenericTestBeanCustomizer.java:511) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.testbeans.gui.TestBeanGUI.setValues(TestBeanGUI.java:323) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.testbeans.gui.TestBeanGUI.configure(TestBeanGUI.java:307) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.gui.tree.JMeterTreeModel.addComponent(JMeterTreeModel.java:162) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.gui.tree.JMeterTreeModel.addSubTree(JMeterTreeModel.java:131) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.gui.tree.JMeterTreeModel.addSubTree(JMeterTreeModel.java:123) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.gui.GuiPackage.addSubTree(GuiPackage.java:554) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.gui.action.Load.insertLoadedTree(Load.java:199) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.gui.action.Load.insertLoadedTree(Load.java:235) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.JMeter.startGui(JMeter.java:431) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.JMeter.start(JMeter.java:566) [ApacheJMeter_core.jar:5.5-SNAPSHOT]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
at org.apache.jmeter.NewDriver.main(NewDriver.java:257)
Which seemed to happen on the main thread.
Part of [Bug 63620] Fix GUI freeze when viewing response body with long lines
Bugzilla Id: 63620
Felix Schumacher [Thu, 17 Feb 2022 20:19:14 +0000 (21:19 +0100)]
Fix generated Content-disposition header for failing test
After fixing issue 65884, the parser for the content-disposition header is more
lenient on the usage of quotes, but less forgiving about missing seperators between
the parameters.
Part of Bugzilla Id: 65884
Felix Schumacher [Wed, 16 Feb 2022 20:54:44 +0000 (21:54 +0100)]
Allow unquoted tokens for values in content-disposition header
Use httpcomponents BasicHeaderValueParser instead of our simple parser, as
we were assuming parameters would always be surrounded by quotes.
Bugzilla Id: 65884
sseide [Wed, 16 Feb 2022 12:39:36 +0000 (13:39 +0100)]
update tika-parsers to 1.28.1 (from 1.28) and xstreams to 1.4.19 (from 1.4.18) (#698)
* update tika-parsers to 1.28.1 (from 1.28) and xstreams to 1.4.19 (from 1.4.18)
* update xercesImpl to 2.12.2 (from 2.12.1) and add new gpg key from xerces maintainer (ref XERCESJ-1735)
* add pr number to changes.xml
* update expected_release_jars.csv
pmouawad [Tue, 15 Feb 2022 22:09:16 +0000 (23:09 +0100)]
Bug 65885 - HTML Report: Error report displays wrong failure message
when Response Assertion checks Ignore Status and response code is not
200
Vladimir Sitnikov [Sun, 6 Feb 2022 10:38:49 +0000 (13:38 +0300)]
[Bug 63620] Disable kerning when document lenght exceeds 10K
The treshold can be configured via text.kerning.max_document_size
Vladimir Sitnikov [Mon, 17 Jan 2022 09:03:52 +0000 (12:03 +0300)]
[Bug 63620] Fix GUI freeze when viewing response body with long lines
GUI gets unresponsive when the response contains long lines (e.g lines exceeding 100K chars).
The workaround is to add artificial line breaks.
We try to break on word boundaries first, and if not possible,
we break on char boundaries (e.g. large chunks of base64 data).
view.results.tree.max_line_size=110000 (defaults to 110K)
view.results.tree.soft_wrap_line_size=100000 (defaults to max_line_size/1.1)
CPU spin trace looks as follows:
"AWT-EventQue...
...
at sun.font.GlyphLayout.layout(Unknown Source)
...
at java.awt.font.TextLine.<init>(Unknown Source)
at java.awt.font.TextMeasurer.makeTextLineOnRange(Unknown Source)
at java.awt.font.TextMeasurer.getLayout(Unknown Source)
...
at javax.swing.text.JTextComponent.setDocument(Unknown Source)
at org.apache.jmeter.visualizers.SamplerResultTab.setTextOptimized(SamplerResultTab.java:695)
...
Vladimir Sitnikov [Sun, 13 Feb 2022 09:59:35 +0000 (12:59 +0300)]
Add a checksum for gradle-enterprise-gradle-plugin-3.8.1.jar for Gradle 7.4+
Felix Schumacher [Wed, 2 Feb 2022 15:56:54 +0000 (16:56 +0100)]
Catch NullPointerException from JSoup when recording a test plan
Fix stupid bug, where I placed the declaration of the method
variable inside the try-catch block.
Bugzilla Id: 65864
Felix Schumacher [Wed, 2 Feb 2022 15:49:57 +0000 (16:49 +0100)]
Catch NullPointerException from JSoup when recording a test plan
As reported in the bug issue, JSoup throws a NPE on some input.
When we know more about that input, we might be able to do
better, for now, let us wrap the exception into the declared
HTMLParseException and hope, that we can continue.
Bugzilla Id: 65864
Felix Schumacher [Wed, 2 Feb 2022 11:07:17 +0000 (12:07 +0100)]
Use space between if and parenthesis
if is not a function.
Felix Schumacher [Wed, 2 Feb 2022 11:06:07 +0000 (12:06 +0100)]
Use isEmtpy instead of checking length
Sampath Kumar Krishnasamy [Thu, 13 Jan 2022 18:14:26 +0000 (18:14 +0000)]
Fixed the deprecation warnings in build file
Closes #692
Stefan Seide [Tue, 25 Jan 2022 12:35:41 +0000 (13:35 +0100)]
Update tika-parsers to 1.28, jackson to 2.13.1 and jsoup to 1.14.3
Detailed version updates are:
Updated jsoup from 1.14.1 (in nightlies), from 1.13.1 (last released)
Updated Apache Tika from 1.27 (in nightlies), from 1.26 (last released)
Updated jackson to 2.13.1 (from 2.10.5)
Closes #695
Felix Schumacher [Mon, 24 Jan 2022 19:51:01 +0000 (20:51 +0100)]
Whitespace change (remove tab, as we normally use spaces here)
Felix Schumacher [Mon, 24 Jan 2022 19:35:21 +0000 (20:35 +0100)]
Use English typographic conventions for colons (no space in front)
Felix Schumacher [Mon, 24 Jan 2022 18:08:52 +0000 (19:08 +0100)]
Correct more typos (it's vs. its)
Felix Schumacher [Mon, 24 Jan 2022 18:02:10 +0000 (19:02 +0100)]
Fix typo (mainly to trigger buildbot)
Felix Schumacher [Wed, 19 Jan 2022 18:58:37 +0000 (19:58 +0100)]
Line too long
Bugzilla Id: 65794
Felix Schumacher [Wed, 19 Jan 2022 18:53:12 +0000 (19:53 +0100)]
Apply autostyle to imports changed with last commit
Bugzilla Id: 65794
Felix Schumacher [Wed, 19 Jan 2022 18:33:04 +0000 (19:33 +0100)]
Fix markup for components reference
Broken with last commit for JSON Path Assertion
Bugzilla Id: 65794
Felix Schumacher [Sat, 15 Jan 2022 17:11:36 +0000 (18:11 +0100)]
Fail JSONPath Assertion on indefinite paths and no assertion value
The docs for JSONPath Assertion state, that it will fail the assertion,
when no element is found with the given JSON path. This was currently
not followed, when an indefinite path was used. In such a case, the
JSONPath library would return an empty list, which the assertion logic
would log as OK.
With this change we let the assertion fail, when
* an indefinite path was given
* and an empty list is extracted
* and no assertion value is given
Bugzilla Id: 65794
Felix Schumacher [Tue, 18 Jan 2022 16:36:49 +0000 (17:36 +0100)]
JSON Assertion always successful with indefinite paths
Add a note to the component reference for JSON Path Assertions
Bugzilla Id: 65794
Vladimir Sitnikov [Sat, 15 Jan 2022 19:18:30 +0000 (22:18 +0300)]
ci: terminate stale GitHub CI jobs early
For instance, when several commits are pushed to PR in short sequence,
older CI jobs would be terminated immediately so the newer commits are tested faster.
Sampath Kumar Krishnasamy [Thu, 6 Jan 2022 14:49:05 +0000 (14:49 +0000)]
Split function test refactor with failure and different success scenarios separately
Closes #690