Why are sonarqube runners giving me different number of violation errors? - eclipse-plugin

I tried running my code analysis against different sonnar runners:
with ANT I tried:
sonar-ant-task-2.2.jar
sonar-ant-task-2.0.jar
with maven I tried:
sonarqube-eclipse plugin
sonar:sonar maven task
Why are they giving me different violations count even though they all use the same quality profile?

Wild guess here given the few information available (please share the configuration of your analysis) but it can be due to the fact that bytecode is not provided when running with ant whereas this is done automatically when running with maven.

Related

IntelliJ, Cucumber, Java and Selenium - no tests are starting

First, important note: This is a project in which the Selenium/Cucumber test suite is working. It's working locally for the developers, and it's working in the Tekton environment.
Second: I have an identical IntelliJ environment as the developers. And other Selenium/Cucumber projects are running fine on my local machine.
When a try to run a fresh copy of the project in question locally, none of the tests start. And, there is no error message.
Normally, this will be cause by missing Glue parameters in the Run/Debug configuration, since IntelliJ for some reason often is unable to add these automatically. This is not the case here.
The test runner when I try to start a specific scenario:
Sorry for the language. The tests are all in Norwegian. But I don't think that matters for seeing the problem.
Normally, when there is an actual error regarding the test step - in the case "Gitt jeg er en vanlig søker" - there would be some info to the right of the steps overview. This is now blank, as can be seen. So, the test stes aren't even started.
The run/debug configuration:
e2e.cucumber.felles is the package where the Java file with the first step definition is located. So, that's not the reason.
Any ideas?

How to build Jmeter 5.4.3 in Intellij?

When ever I am trying to build my JMETET 5.4.3 Source code in intellij If am getting the following errors which I am not able to resolve the errors are
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':src:dist:verifyReleaseDependencies'.
> External dependencies differ (you could update src\dist\src\dist\expected_release_jars.csv if you add -PupdateExpectedJars):
55965681 => 55965659 bytes (-22 bytes)
- 207909 log4j-1.2-api-2.17.0.jar
- 301892 log4j-api-2.17.0.jar
- 1789565 log4j-core-2.17.0.jar
- 24258 log4j-slf4j-impl-2.17.0.jar
==============================================================================
2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':src:protocol:http:test'.
> There were failing tests. See the report at: file:///E:/JMeter/apache-jmeter-5.4.3_src/apache-jmeter-5.4.3/src/protocol/http/build/reports/tests/test/index.html
Can anyone help me with this.
And is there a way in Intellij to to change your gradle version to a older version please let me know.
is there a way to build jmeter 5.4.3 in ANT rather than Gradle?
I cannot reproduce your issue:
And I strongly doubt anyone can as it would have been noticed long time ago, JMeter 5.4.3 was released in December 2021 and presumably a lot of contributors were adding their code and building/testing JMeter since then.
Personally I'm not a JMeter contributor but I need to compile it from time to time in order to amend it to my projects needs.
Just in case the steps I normally follow:
Get the required JMeter source version from Apache archives, in your case it would be https://archive.apache.org/dist/jmeter/source/apache-jmeter-5.4.3_src.zip
Verify the checksum of the downloaded archive just in case
Unpack the archive
In IntelliJ Idea open build.gradle.kts as a Project
Wait for half an hour
....
Profit?
Also be aware that according to 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure article and JMeter Best Practices you should always be using the latest version of JMeter so maybe attempt to compile JMeter 5.5 will be more successful?

When running a custom TestEngine can execution of JUnitTestEngine be suppressed?

I have created a custom TestEngine using the JUnit 5 (junit-platform-engine) framework.
The custom TestEngine registers using the ServiceLoader mechanism with an entry in META-INF/services/org.junit.platform.engine.TestEngine.
When I run my tests, this works well, but the tests get run a second time by the built-in JUnitTestEngine.
Is it possible to replace the default TestEngine in this circumstance instead of supplement it?
After checking the JUnit 5 user guide and documentation for maven surefire plugin it seems there's currently no way to filter out certain test engine with Maven :-(.
Using the console launcher, however, does allow to choose test engines: https://junit.org/junit5/docs/current/user-guide/#running-tests-console-launcher-options. And so does Gradle: https://junit.org/junit5/docs/current/user-guide/#running-tests-build-gradle.

Griffon resource loading differences between run-app and test-app

I am fairly new to Griffon and have some experience with Grails.
I have a problem loading a file from the resources directory.
I am using Griffon version 1.4.0.
When I run griffon run-app the following code (inside a Service) to get the location of an XML file works fine:
URL resource = getResourceAsURL('schema.xsd')
assert resource != null : "schema cannot be located"
When I run griffon test-app however the same code produces an assertion error because the returned URL is null. Same behaviour with getResourceAsStream().
This happens in the unit test of said service.
I put the file in ./griffon-app/resources.
What am I doing wrong? Do I have to copy all resources from production to some test resources folder, do I have to edit the build-configuration?
Thanks in advance!
Edit as suggested below I filed a bug report in the griffon-projects issue tracker.
araxn1d is correct, running the tests in integration mode will give you the right answer because the full application gets bootstrapped before tests are run. Now, running this kind of test (a unit test that depends on resources being available in the classpath) encounters a problem because the classpath is not setup correctly. Executing the following command
griffon -Dgriffon.cli.verbose=true test-app --unit --compileTrace=true
will output all classpaths. There you can see that the resources directory points to $USER_HOME/.griffon/1.4.0/projects/<project_name>/resources. If you inspect that directory you'll find the file you're looking for inside griffon-app/resources. This means the test classpath is not accurately configured as it should be $USER_HOME/.griffon/1.4.0/projects/<project_name>/resources/griffon-app/resources instead. This is clearly a bug, most likely found in the $GRIFFON_HOME/scripts/_GriffonClasspath.groovy script. Could you please file a JIRA http://jira.codehaus.org/browse/griffon ticket for it? Thanks!
You should run test-app to run your unit tests. In this case you should mock any refers to real files, otherwise you should implement Integration Tests. Pls see Griffon Testing. Integration tests differ from unit tests in that you have full access to the Griffon application within the test.

Maven reporting plugins do not execute if a unit test failure occurs

None of the plugins in the reporting section of Maven execute if there is a unit test failure.
I found that I can set maven.test.failure.ignore=true here - http://jira.codehaus.org/browse/SUREFIRE-247 The problem to this approach is now our hudson builds are successful even if there are unit test failures.
What I would really like to do is set the reporting plugin maven-surefire-report-plugin to run with the build plugins on a phase but I can't get this to work.
Any idea on how to get the Maven reporting plugins to execute if a unit test failure occurs?
Firstly run: mvn test OR mvn install. Then, if the tests fail, please run the following target to generate the reports for the test results executed above: mvn -Dmaven.test.skip=true surefire-report:report
In the link you posted:
With the latest version (2.1.2), I get
a message saying that "There are some
test failure," but I get no reports
anywhere whether or not I specify that
variable, or whether or not I specify
"testFailureIgnore" in the plugin
config. I got the reports fine with
2.0, but not with 2.1.2.
Do you need version 2,1 or can you work with a 2.0 version of Maven?
The error you see with 2.1.2 is because of forkmode settings which you need to perform in the plugin.
set forkmode=never and try it (I susppect there might problem in your useSystemclassloader property).
Otherwise make use of maven-surefire plugin version 2.5 which should definitel work and generate surefire rpeorts even though few test fails.
Please make use of surefire-report:report-only plugin if the reports are already generated after execution.
I had the same issue and it is due to a wrong call to the report plugin.
The correct execution of maven command is: mvn surefire-report:report
This will run the test phase by itself and if it fails it will generate the report anyway.
Check the documentation:
http://maven.apache.org/surefire/maven-surefire-report-plugin/report-mojo.html
Hope this helps!! :D