dgeissl / jakarta-cactus Goto Github PK
View Code? Open in Web Editor NEWCactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...).
License: Apache License 2.0
Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...).
License: Apache License 2.0
Enable and configure automatic build integration for this project.
Documentation is here:
https://docs.travis-ci.com/user/languages/java/
Project needs migration to maven3, as Travis is building with "Project needs migration to maven3."
The maven site is generating a general overview and documentation for cactus.
As we are not a apache project anymore we need to host this on our own to get a up-to-date documentation site running.
GitHub Pages are exactly there for this reason.
https://pages.github.com/
currently cactus will wait for a test to finish without limits.
Seen this when a database deadlock prevented a test to continue.
We should provide a property to set a timeout and terminate the test if it takes too long.
when using site-deploy
the maven process exits in error after 50min with:
Error creating tree: Not Allowed (405)
[INFO] Applying mojo extractor for language: java
[WARNING] org.apache.cactus.maven2.mojos.CactifyEarMojo#earArchiver:
[WARNING] The syntax
[WARNING] @parameter expression="${component.<role>#<roleHint>}"
[WARNING] is deprecated, please use
[WARNING] @component role="<role>" roleHint="<roleHint>"
[WARNING] instead.
[WARNING] org.apache.cactus.maven2.mojos.CactifyEarMojo#warArchiver:
[WARNING] The syntax
[WARNING] @parameter expression="${component.<role>#<roleHint>}"
[WARNING] is deprecated, please use
[WARNING] @component role="<role>" roleHint="<roleHint>"
[WARNING] instead.
[WARNING] org.apache.cactus.maven2.mojos.CactifyWarMojo#installer:
[WARNING] The syntax
[WARNING] @parameter expression="${component.<role>#<roleHint>}"
[WARNING] is deprecated, please use
[WARNING] @component role="<role>" roleHint="<roleHint>"
[WARNING] instead.
[WARNING] org.apache.cactus.maven2.mojos.CactifyWarMojo#warArchiver:
[WARNING] The syntax
[WARNING] @parameter expression="${component.<role>#<roleHint>}"
[WARNING] is deprecated, please use
[WARNING] @component role="<role>" roleHint="<roleHint>"
[WARNING] instead.
Every Test is creating a server side session. If there are hundereds or thousands of tests the server will start rejecting to create even more and all tests are failing.
We should release all sessions created by cactus when the test is done.
Fix the Source encoding to UTF-8:
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ cactus.build.tools ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
The current default code coverage tool under active development is jacoco.
Therefor we do not need any licenses and jacoco is under active development, plus it has good tooling support.
Currently assembling the release is described in the parent pom.
this Task should be in a subproject and not have any implications (like dependencies) to all subprojects.
The parent pom is a good place for managing dependency versions or providing default plugin behavior but not for artifact creation.
in builds with huge amounts of tests run this error sometimes occurs
java.net.BindException: Address already in use (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.Socket.bind(Socket.java:662)
at java.net.Socket.<init>(Socket.java:451)
at java.net.Socket.<init>(Socket.java:304)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.apache.cactus.internal.client.connector.http.HttpClientConnectionHelper.connect_aroundBody0(HttpClientConnectionHelper.java:142)
at org.apache.cactus.internal.client.connector.http.HttpClientConnectionHelper.connect_aroundBody1$advice(HttpClientConnectionHelper.java:207)
at org.apache.cactus.internal.client.connector.http.HttpClientConnectionHelper.connect(HttpClientConnectionHelper.java:1)
at org.apache.cactus.internal.client.connector.http.DefaultHttpClient.callRunTest(DefaultHttpClient.java:165)
at org.apache.cactus.internal.client.connector.http.DefaultHttpClient.doTest_aroundBody0(DefaultHttpClient.java:82)
at org.apache.cactus.internal.client.connector.http.DefaultHttpClient.doTest_aroundBody1$advice(DefaultHttpClient.java:207)
at org.apache.cactus.internal.client.connector.http.DefaultHttpClient.doTest(DefaultHttpClient.java:1)
at org.apache.cactus.internal.client.connector.http.HttpProtocolHandler.runWebTest(HttpProtocolHandler.java:163)
at org.apache.cactus.internal.client.connector.http.HttpProtocolHandler.runTest_aroundBody0(HttpProtocolHandler.java:82)
at org.apache.cactus.internal.client.connector.http.HttpProtocolHandler.runTest_aroundBody1$advice(HttpProtocolHandler.java:207)
at org.apache.cactus.internal.client.connector.http.HttpProtocolHandler.runTest(HttpProtocolHandler.java:1)
at org.apache.cactus.internal.client.ClientTestCaseCaller.runTest(ClientTestCaseCaller.java:144)
at org.apache.cactus.internal.AbstractCactusTestCase.runBareClient(AbstractCactusTestCase.java:217)
at org.apache.cactus.internal.AbstractCactusTestCase.runBare(AbstractCactusTestCase.java:133)
we may have a resource leak on the client jmv here that does not close connections properly.
The last version without masses of WARNINGS in the build output is maven-site-plugin 2.0.
The current state of the art version is 3.6.
https://maven.apache.org/components/plugins/maven-site-plugin/index.html
We should fix the warnings test the page and get it up an running with the current version.
Update the versions of the used maven plugins.
Up to date assertion frameworks (as hamcrest) do not throw junit.framework.ComparisonFailure in case a assertion fails but use the jvm class java.lang.AssertionError.
As cactus does not know this yet it will result in test errors instead of failures if such a exception is thrown.
There are some Links in the documentation (mvn site) that point to dead ends, apache hosting utitlies that are not related to the original apache project and so on...
So the site needs some customization to match the new GitHub poject situation.
In gradles test reports, exceptions or validation errors do show the stack trace of the client side exception wrapper and not the one from the server.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.