Commit Graph

16618 Commits

Author SHA1 Message Date
Nicolas Mervaillie beb2e9cc30 Mention GraphAware in contributors (#534)
see https://bz.apache.org/bugzilla/show_bug.cgi?id=63811
2019-10-08 21:43:48 +02:00
Vladimir Sitnikov a9349adffb Current Gradle does not support Java 13, so downgrade GitHub Actions to Java 12 2019-10-07 20:53:54 +03:00
Vladimir Sitnikov c4422cd526 Add GitHub Actions CI with Windows and macOS 2019-10-07 19:00:18 +03:00
Vladimir Sitnikov fbc837a2d9 Fix DNSCacheManagerSpec test so it supports system with multiple DNS servers 2019-10-07 17:21:48 +03:00
Vladimir Sitnikov 2a2f0c1132 Add Appveyor configuration to test PRs on GitHub with Windows 2019-10-07 14:54:20 +03:00
Vladimir Sitnikov db929a667b Fix the rest package.html files for JavaDoc 13 compatibility
This is a follow-up to 16ba926873
2019-10-07 14:52:27 +03:00
pmouawad 7bbe9f41bc TestStringtoFile#testWriteToFileIOException: Make file writable again to allow deletion 2019-10-07 13:31:12 +02:00
pmouawad 437e7f3748 TestKeyToolUtils: dont't initialize keystore before each test to avoid race condition 2019-10-07 13:06:37 +02:00
Vladimir Sitnikov 16ba926873 Fix Javadoc HTML for jorphan: H3 -> H1
Javadoc is updated with https://bugs.openjdk.java.net/browse/JDK-8219801,
so it rejects misaligned headers.

See similar case: https://bugs.openjdk.java.net/browse/JDK-8222528
2019-10-07 13:50:12 +03:00
Felix Schumacher 60cd3913f7 Get rid of noinspect comment
By moving the result of the expression in the if statement into the assumption,
we are using the assumption call as intended and there is no need for noinspect
anymore.
2019-10-07 11:13:40 +03:00
Vladimir Sitnikov 94397b1aeb Case for a force push: removing unused import 2019-10-07 00:47:00 +03:00
Vladimir Sitnikov 1f51fd82bf Use rel/v${version} and v${version}-rc${rc} tags
See https://octopus.com/blog/maven-versioning-explained
https://cwiki.apache.org/confluence/display/MAVENOLD/Versioning

Release tag should be under rel/* namespace (as per ASF board decision)
Use of v${version} without dot replaced with underscores help third-party consumers
as they don't have to replace dots.

Neither of the articles include use of _ for separators.
Technically speaking, "RC tag" is not a Maven version, however
it might be a good idea to use well-known conventions.
2019-10-07 00:39:38 +03:00
Vladimir Sitnikov 3209697c13 Make release scripts compatible with Gradle 5.6
Previously the scripts used dependencies between tasks of different modules.
That is anti-pattern, however it somehow worked in Gradle 5.5.
For now the configurations are used to make dependencies between modules and to pass files across Gradle modules.

stage-vote-release plugin creates 3 configurations: releaseFiles, releaseSignatures, previewSite
:src:dist adds artifacts to the configurations, and the root project depends on project(":src:dist", configurationName)

The configuration create/use is hidden in stage-vote-release-plugin itself (see releaseArtifacts)
2019-10-07 00:39:38 +03:00
pmouawad 1cc392c299 DigestEncodeFunction: Fix compilation error 2019-10-06 23:13:24 +02:00
pmouawad 73f8e1f8ef DigestEncodeFunction: Fix import order 2019-10-06 23:04:36 +02:00
pmouawad 37388b3df7 Mention Graham in PR 2019-10-06 23:04:36 +02:00
jmetertea a6a23b41f2 Fix Documentation: HTTP Request's Path isn't required (#532)
Update documentation HTTP Request's Path isn't required, you can send requests without path (e.g. Server Name jmeter.apache.org)
2019-10-06 22:56:57 +02:00
Graham Russell e68d3202ba JUnit v4 -> v5 Migration (#524)
* org.junit.Test/Before/After -> ...jupiter.api.Test/BeforeEach/AfterEach
Ignored -> Disabled.
@Test(expected ...) -> Assertions.assertThrows(...)
A few Assert -> Assertions.
Removed error collector.
Some whitespace.

* Added method for repeated code

* TestStringtoFile: Migrated to JUnit5

* BasicCurlParserTest: Migrated to JUnit 5

* ParseCurlCommandActionTest: JUnit 5 + tidy ParseCurlCommandAction

* ResourcesDownloader: Formatting and guard clause

* ParseCurlCommandActionTest: Use TmpDir only where required.
Also some formatting and simplification of throws.
2019-10-06 22:53:36 +02:00
jmetertea 4ff6596a9f DigestEncodeFunction: Reduce code complexity (#516)
- remove if statements
- remove constant UTF_8
- remove new String
2019-10-06 22:11:30 +02:00
Graham Russell d1a5856646 JmeterKeyStore: Improve readability and add spock test (#505)
* Formatting and comments

* Use Objects.requireNonNull instead of custom method.

* Used System.arraycopy instead of for loop,

* Added test for JmeterKeyStore and fixed JavaDocs

* Removed misleading comment and improved readability.

* Used Arrays.copyOf and updated JavaDoc

* Updated getCertificateChain to match behaviour of documentation.

* Fix import order

* Reverted change to getCertificateChain and added clarifying comment

* Clarified description of start and end index.
2019-10-06 22:07:52 +02:00
Graham Russell a0e27383fc BasicCurlParser sonar fixes (#527)
* Merge nested if BasicCurlParser
* BasicCurlParser: Formatting, comment tidy and use ifPresent
2019-10-06 22:04:55 +02:00
pmouawad 853fb41ab3 Normalize jmespath element names 2019-10-06 11:45:33 +02:00
pmouawad 385b8a5967 Thread Group UI: add missing semicolon to duration and delay as it is
there for other fields
2019-10-06 11:26:20 +02:00
Milamber ca26f5f267 Remove my GPG key id, use ~/gradle.properties file to declare my key id. Thanks Vladimir 2019-10-05 21:10:37 +01:00
Milamber 60e9b695fc Merge branch 'prepare_v5_2' 2019-10-05 20:32:29 +01:00
Milamber 6236feb9f1 Prepare next release 5.2 2019-10-05 19:38:35 +01:00
Felix Schumacher a4d5d14a2e Add comment about bolt dir in tutorial
Closes #521 on github
2019-10-05 18:16:01 +02:00
Felix Schumacher a721e9a1ae Describe the purpose of the src/release folder in tutorial 2019-10-05 18:13:55 +02:00
Felix Schumacher f9129f16f3 Correct the description for the dist folder in the tutorial 2019-10-05 18:13:55 +02:00
Felix Schumacher 7ee18cece6 Correct typos in tutorial
Use correct Upper-/Camelcase for names and correct url/link.
2019-10-05 18:13:55 +02:00
Felix Schumacher d8760df921 Change description of ant to gradle in tutorial
JMeter has been updated to use gradle for building instead of ant.
Some directories have been added meanwhile (in the src folder and elsewhere).
Try to reflect those changes in the tutorial.
2019-10-05 18:13:55 +02:00
Vladimir Sitnikov 9712a50e27 ParallelResourcesAndIpSource: add BindException for the list of allowed failure messages 2019-10-05 14:12:17 +03:00
Vladimir Sitnikov cac6146c3f Add -PuseGpgCmd build option to enable use of external gpg tool for signing
Gradle 5.x requires that you specify a signing key id via signing.gnupg.keyName property when using gpg executable (see https://github.com/gradle/gradle/issues/8657).

See https://github.com/gradle/gradle/security/advisories/GHSA-mrm8-42q4-6rm7
2019-10-05 13:47:33 +03:00
Vladimir Sitnikov d50382888e Update checksum-dependency-plugin to 1.31.0 to reduce verbosity of key resolutions
The plugin starts resolutions with very short timeouts, so it might produce
lots of ConnectExceptions.

1.31.0 does not print exceptions when the timeout was less than 4 seconds.
2019-10-05 13:47:33 +03:00
Vladimir Sitnikov b0448c8cb3 Facelift ThreadGroup UI, improve alignment of Name+Commments fields for all components 2019-10-05 13:32:59 +03:00
Vladimir Sitnikov 114a40ed1d Ignore BindException: Cannot assign requested address in ParallelResourcesAndIpSource
The exception seems to be Windows-specific

AssertionFailedError: IPv4 <-> IPv6 connectivity must fail. sourceIp = /0:0:0:0:0:0:0:1, targetHost = 127.0.0.1
    data: java.net.BindException: Cannot assign requested address: connect
    	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
    	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
2019-10-05 13:30:14 +03:00
Vladimir Sitnikov 3e2dda1939 Kepp lib/ext/*.jar on gw runGui and gw createDist
This helps a bit in case developer has extra plugins in lib/ext/*
2019-10-05 11:16:23 +03:00
Vladimir Sitnikov f20a30fceb 62861: Ensure thread groups from pre-5.0 jmx are loaded with "same user on each iteration"=true 2019-10-05 11:15:52 +03:00
Vladimir Sitnikov 69a0aeecbf Rework ParallelResourcesAndIpSource to try all combinations of source and target hosts
In theory, sourceIp=::1, targetHost=localhost should work, however, in practice in does not.

So the test is reworked to avoid "localhost", and it uses ip addresses explicitly
2019-10-05 01:39:23 +03:00
Vladimir Sitnikov 57b33d09da Revert "Enhancement 62861: Fix old test plans opened as "different user on each"
This reverts commit 538f8a21ba.
2019-10-05 00:00:24 +03:00
pmouawad 538f8a21ba Enhancement 62861: Fix old test plans opened as "different user on each
iteration" while it should be "same user on each iteration"

Also update release notes
https://bz.apache.org/bugzilla/show_bug.cgi?id=62861
2019-10-04 22:02:03 +02:00
Graham Russell 3263a5dbf4 Fixed logging issue with DistributedRunner#start (#526)
Stored the address rather than engine, especially as the engine
was null for failedEngines meaning the log would print a list of nulls.
Also used List constructor instead of addAll.
2019-10-04 13:34:38 +02:00
Graham Russell ffd6f3243f Tidy up some Spock tests (#519)
Contributed by Graham Russell
2019-10-04 13:22:30 +02:00
Vladimir Sitnikov adb02717cb Suppress Convert2Lambda warning in MenuScrollTimer
The exception when using 1.8.0_152 is as follows

2019-10-04 11:01:42,612 ERROR o.a.j.JMeter: Uncaught exception:
java.lang.ClassFormatError: Illegal field name "org.apache.jorphan.gui.MenuScroller$this" in class org/apache/jorphan/gui/MenuScroller$MenuScrollTimer
        at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_152]
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_152]
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_152]
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) ~[?:1.8.0_152]
        at java.net.URLClassLoader.access$100(URLClassLoader.java:73) ~[?:1.8.0_152]
        at java.net.URLClassLoader$1.run(URLClassLoader.java:368) ~[?:1.8.0_152]
        at java.net.URLClassLoader$1.run(URLClassLoader.java:362) ~[?:1.8.0_152]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_152]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:361) ~[?:1.8.0_152]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_152]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_152]
        at org.apache.jorphan.gui.MenuScroller$MenuScrollItem.<init>(MenuScroller.java:640) ~[jorphan.jar:5.2.0-SNAPSHOT]
        at org.apache.jorphan.gui.MenuScroller.<init>(MenuScroller.java:364) ~[jorphan.jar:5.2.0-SNAPSHOT]
        at org.apache.jorphan.gui.MenuScroller.<init>(MenuScroller.java:329) ~[jorphan.jar:5.2.0-SNAPSHOT]
        at org.apache.jorphan.gui.MenuScroller.<init>(MenuScroller.java:286) ~[jorphan.jar:5.2.0-SNAPSHOT]
        at org.apache.jorphan.gui.MenuScroller.setScrollerFor(MenuScroller.java:140) ~[jorphan.jar:5.2.0-SNAPSHOT]
        at org.apache.jorphan.gui.GuiUtils.makeScrollableMenu(GuiUtils.java:176) ~[jorphan.jar:5.2.0-SNAPSHOT]
        at org.apache.jmeter.gui.util.MenuFactory.makeMenu(MenuFactory.java:442) ~[ApacheJMeter_core.jar:5.2.0-SNAPSHOT]
        at org.apache.jmeter.gui.util.MenuFactory.makeMenu(MenuFactory.java:420) ~[ApacheJMeter_core.jar:5.2.0-SNAPSHOT]
        at org.apache.jmeter.control.gui.TestPlanGui.createPopupMenu(TestPlanGui.java:92) ~[ApacheJMeter_core.jar:5.2.0-SNAPSHOT]
        at org.apache.jmeter.gui.tree.JMeterTreeNode.createPopupMenu(JMeterTreeNode.java:185) ~[ApacheJMeter_core.jar:5.2.0-SNAPSHOT]
        at org.apache.jmeter.gui.action.EditCommand.doAction(EditCommand.java:46) ~[ApacheJMeter_core.jar:5.2.0-SNAPSHOT]
        at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) ~[ApacheJMeter_core.jar:5.2.0-SNAPSHOT]
        at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70) ~[ApacheJMeter_core.jar:5.2.0-SNAPSHOT]
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[?:1.8.0_152]
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) ~[?:1.8.0_152]
        at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_152]
        at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_152]
        at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_152]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_152]
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[?:1.8.0_152]
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) ~[?:1.8.0_152]
2019-10-04 12:05:35 +03:00
pmouawad d4a3bdbba3 Revert change introduced by commit
b2d497f36c to avoid
java.lang.ClassFormatError: Illegal field name
"org.apache.jorphan.gui.MenuScroller$this" in class
org/apache/jorphan/gui/MenuScroller$MenuScrollTimer
2019-10-04 10:42:06 +02:00
pmouawad 96a5abe29c Add Bolt support in changes.xml (release notes) 2019-10-04 08:36:25 +02:00
Nicolas Mervaillie 2cfdec9d50 Add Bolt protocol support for Neo4j database (#510)
* Add Bolt protocol support

Add driver dependency
Add bolt config element and sampler
Expose cypher query parameter, execute cypher
Add temporary README on how to build for hackathon submission

* Add default example value for parameters to better guide users

* Rename configuration classes for clarity

* Apply remarks from code review and code cleanup

* Use TextArea input for query and param fields

Simple text inputs are too small

* Add bolt elements to SaveService

* Add documentation for bolt protocol

* Fix build scripts

Fix some dependencies and add the bolt protocol to the dist build

* Remove README-bolt.md to submit PR

* Fix failing test

build says: SaveService nameMap (saveservice.properties) should contain org.apache.jmeter.protocol.bolt.sampler.AbstractBoltTestElement

* Add some unit tests

* Use single line logging instead of multi line

* Avoid using lambda when consuming results to avoid performance hit

* Add documentation about connection pooling and what's included in response time

* Add neo4j driver trust-key


This resolves Bug 63801 - Add Bolt protocol support for Neo4j database
https://bz.apache.org/bugzilla/show_bug.cgi?id=63801
2019-10-04 07:32:30 +02:00
Graham Russell 6df752c773 Whitespace, comments etc. tidy up before migration to JUnit 5 2019-10-03 22:50:26 +03:00
Felix Schumacher f14985d78c Add spotless rules for markdown files
And apply those rules to our markdown files
2019-10-03 22:25:45 +03:00
Graham Russell 91431299da Added simple tests InfluxdbBackendListenerClientSpec (#509)
* Added simple tests InfluxdbBackendListenerClientSpec

* Formatting/whitespace/JavaDoc,simplified code, reduced visibility,
extracted methods and added guard clauses
2019-10-03 20:52:21 +02:00