Skip to content

Commit

Permalink
Release XLT 6.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jowerner committed Feb 10, 2022
2 parents 54da5e7 + 00fdd88 commit b61faae
Show file tree
Hide file tree
Showing 2,009 changed files with 7,408 additions and 8,260 deletions.
4 changes: 3 additions & 1 deletion .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,10 @@
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
<attributes>
<attribute name="module" value="true"/>
<attribute name="limit-modules" value="java.se,jdk.httpserver,jdk.management,jdk.xml.dom,jdk.unsupported"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
Expand Down
111 changes: 108 additions & 3 deletions .settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled
org.eclipse.jdt.core.codeComplete.argumentPrefixes=
org.eclipse.jdt.core.codeComplete.argumentSuffixes=
org.eclipse.jdt.core.codeComplete.fieldPrefixes=
Expand All @@ -9,18 +10,122 @@ org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.APILeak=warning
org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=18
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=18
Expand Down
2 changes: 1 addition & 1 deletion NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ junit
log4j

* License: Apache License 2.0
* Homepage: http://logging.apache.org/log4j/1.2/
* Homepage: http://logging.apache.org/log4j/2.x/
* More information in folder: doc/3rd-party-licenses/log4j

neko-htmlunit
Expand Down
25 changes: 7 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,24 @@
# XLT
XLT is an extensive load and performance test tool developed and maintained by Xceptance. If you need more information, here is the current website https://www.xceptance.com/xlt/ and the current documentation portal https://lab.xceptance.de/releases/xlt/latest/index.html. There is also a forum available to discuss load testing and test automation with XLT: https://ask.xceptance.de/
XLT is an extensive load and performance test tool developed and maintained by Xceptance. If you need more information, here is the current [website](https://www.xceptance.com/xlt/) and the current [documentation portal](https://xltdoc.xceptance.com/). There is also a [forum](https://ask.xceptance.de/) available to discuss load testing and test automation with XLT.

There is a major update to the documentation in progress. You can contribute on GitHub https://github.com/Xceptance/xlt-documentation and find the deployed documentation at https://xltdoc.xceptance.com/
The documentation was fully rewritten in 2020 and it is continuously updated. We appreciate your feedback. You can also directly contribute on GitHub at https://github.com/Xceptance/xlt-documentation. If you need any information from the legacy documentation, you can still find it at https://lab.xceptance.de/releases/xlt/5.7.1/index.html

# Open Source
XLT has been open sourced on 30 January 2020 under the Apache License 2.0.

## Documentation
The documentation is also an open source project and you can find it here: https://github.com/Xceptance/xlt-documentation If you are just looking for the final documentation, just head over to https://xltdoc.xceptance.com/.
# How to Build XLT

# Build XLT
The XLT build process is based on the **Apache Ant** build tool. The build works best when being run on a Linux machine.

## Required Tools

* Latest JDK 8 (or 11)
* Latest JDK 11
* Latest [Apache Ant](https://ant.apache.org/)
* Chrome or Chromium browser (to package the timer-recorder extension for Chrome/Chromium)
* Optional tools:
* Only if you want to run the XLT unit tests:
* [chromedriver](https://chromedriver.chromium.org/)
* [geckodriver](https://github.com/mozilla/geckodriver)
* Only if you want to build the legacy XLT documentation:
* [Jekyll](https://jekyllrb.com/)

## Build Steps

Expand All @@ -32,26 +28,19 @@ To create the XLT distribution archive `xlt-X.Y.Z.zip`, run the following comman
ant clean dist
```

If you want the HTML documentation (manual, release notes, how-to) to be included in the distribution archive, run this command:

```
ant clean dist -Dcreate.doc=true
```

To perform a release build which requires all unit tests to pass, run any of these commands:
To perform a release build which requires all unit tests to pass, run this command:

```
ant clean release
ant clean release -Dcreate.doc=true
```

## Limitations

When you build XLT by yourself, the following limitations apply:
When you build XLT by yourself, the following limitations apply.

* The timer-recorder extension for Firefox is not signed yet. Hence, when using `XltFirefoxDriver` later on, Firefox will refuse to install that extension. If you need the extension, download the official XLT distribution which contains a correctly signed extension.

## Building on Windows or MacOS
## Building on Windows or macOS

* Some unit tests are known to fail on Windows.
* You will need to adjust the path to Chrome/Chromium in `build.properties` according to your system.
Expand Down
22 changes: 1 addition & 21 deletions ant-scripts/doc.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@
<property name="build.javadoc.dir" value="${build.doc.dir}/javadoc" />
<property name="javadoc.title" value="Xceptance XLT ${version} API" />

<!-- XLT documentation properties -->
<!-- X<property name="create.doc" value="${create.doc}" /> -->
<property name="build.xltdoc.source.dir" value="${doc.source.dir}/xltdoc" />
<property name="build.xltdoc.dir" value="${build.doc.dir}/xlt" />


<target name="doc.check.classpath">
<condition property="classpath.set">
<and>
Expand Down Expand Up @@ -132,21 +126,7 @@
</javadoc>
</target>

<!-- Builds the xltdoc using Jekyll -->
<!-- The contents of destination are automatically cleaned, by default, when the site is built. -->
<target name="doc.xltdoc" depends="doc.xltdoc.init, doc.xltdoc.jekyll" description="Builds the xltdoc using Jekyll." />

<target name="doc.xltdoc.init">
<mkdir dir="${build.doc.dir}/xlt" />
</target>

<target name="doc.xltdoc.jekyll" if="create.doc" description="Builds the xltdoc using Jekyll.">
<exec executable="/usr/local/bin/jekyll" dir="${build.xltdoc.source.dir}">
<arg line="build --destination ../../${build.xltdoc.dir}" />
</exec>
</target>

<!-- Create all documentation. -->
<target name="doc.all" depends="doc.javadoc, doc.apidoc, doc.xltdoc" />
<target name="doc.all" depends="doc.javadoc, doc.apidoc" />

</project>
51 changes: 50 additions & 1 deletion ant-scripts/sigtest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,75 @@
<target name="sigtest.init">
<!-- assemble classpath-->
<path id="classpath">
<pathelement location="${java.home}/lib/rt.jar" />
<fileset dir="${lib.dir}" includes="**/*.jar" />
<fileset dir="${lib-build.dir}" includes="**/*.jar" />
<pathelement location="${classes.dir}" />
</path>

<!-- Disabled for now. We may reenable them once they support the needed options.
<taskdef name="sigsetup" classname="com.sun.tdk.signaturetest.ant.ASetup" classpath="${lib-build.dir}/sigtestdev.jar" />
<taskdef name="sigtest" classname="com.sun.tdk.signaturetest.ant.ATest2" classpath="${lib-build.dir}/sigtestdev.jar" />
-->
</target>

<target name="sigtest.setup" depends="sigtest.init">
<!-- Disabled for now. We may reenable it once it supports the needed options.
<sigsetup package="com.xceptance.xlt.api" filename="${api.file}" apiVersion="${version}" failonerror="true">
<classpath refid="classpath" />
</sigsetup>
-->
<!-- Run sigtest directly so we can pass parameters not supported yet by the Ant task. -->
<java classname="com.sun.tdk.signaturetest.Setup" resultproperty="setup.exitcode">
<classpath refid="classpath" />
<arg value="-ApiVersion" />
<arg value="${version}" />
<arg value="-BootCP" />
<arg value="11" />
<arg value="-Classpath" />
<arg value="${toString:classpath}" />
<arg value="-FileName" />
<arg value="${api.file}" />
<arg value="-Package" />
<arg value="com.xceptance.xlt.api" />
</java>
<fail message="SigTest Setup did not return with exit code 95">
<condition>
<not>
<equals arg1="${setup.exitcode}" arg2="95"/>
</not>
</condition>
</fail>
</target>

<target name="sigtest.apicheck" depends="sigtest.init">
<!-- Disabled for now. We may reenable it once it supports the needed options.
<sigtest package="com.xceptance.xlt.api" filename="${api.file}" apiVersion="${version}" backward="true" failonerror="true">
<classpath refid="classpath" />
</sigtest>
-->
<!-- Run sigtest directly so we can pass parameters not supported yet by the Ant task. -->
<java classname="com.sun.tdk.signaturetest.SignatureTest" resultproperty="apicheck.exitcode">
<classpath refid="classpath" />
<arg value="-ApiVersion" />
<arg value="${version}" />
<arg value="-Backward" />
<arg value="-BootCP" />
<arg value="11" />
<arg value="-Classpath" />
<arg value="${toString:classpath}" />
<arg value="-FileName" />
<arg value="${api.file}" />
<arg value="-Package" />
<arg value="com.xceptance.xlt.api" />
<arg value="-Static" />
</java>
<fail message="SigTest ApiCheck did not return with exit code 95">
<condition>
<not>
<equals arg1="${apicheck.exitcode}" arg2="95"/>
</not>
</condition>
</fail>
</target>

</project>
6 changes: 5 additions & 1 deletion ant-scripts/test.xml
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@

</target>

<target name="test.compile" depends="test.init, test.compile-hu">
<target name="test.compile" depends="test.init">
<mkdir dir="${test.classes.dir}" />

<javac srcdir="${src.dir}/test/java" includeantruntime="no" destdir="${test.classes.dir}" debug="on" optimize="off" deprecation="on" encoding="utf8" source="1.8" target="1.8">
Expand Down Expand Up @@ -195,6 +195,7 @@
<mkdir dir="${instrumented.classes.dir}" />

<!-- instrument -->
<!--
<cobertura-instrument datafile="${basedir}/cobertura.ser" todir="${instrumented.classes.dir}">
<fileset dir="${classes.dir}">
<include name="**/*.class" />
Expand All @@ -206,6 +207,7 @@
<exclude name="org/pegdown/**/*.class" />
</fileset>
</cobertura-instrument>
-->

<!-- set JUnit classpath -->
<path id="junit.classpath">
Expand All @@ -223,8 +225,10 @@
<antcall target="test.jetty" inheritall="true" inheritrefs="true" />

<!-- Generate cobertura report. -->
<!--
<cobertura-report datafile="${basedir}/cobertura.ser" destdir="${reports.coverage.html}" srcdir="${src.dir}" />
<cobertura-report format="xml" datafile="${basedir}/cobertura.ser" srcdir="${src.dir}" destdir="${reports.coverage}" />
-->

<!-- Remove instrumented classes. -->
<delete dir="${instrumented.classes.dir}" />
Expand Down
Loading

0 comments on commit b61faae

Please sign in to comment.