A TDD framework to make coding drven by specifications easier
xtest ===== Collection of testing utilities LICENSE ======= Copyright (C) 2013 Stefano Fornari This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation with the addition of the following permission added to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY Stefano Fornari, Stefano Fornari DISCLAIMS THE WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program; if not, see http://www.gnu.org/licenses or write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. RELEASE NOTES ============= 1. v3.x breaks backward compatibility to address the new mechanisms of preventing the use of internal APIs introduced with JDK9. This involved the following xtest packages - ste.xtest.awt - ste.xtest.net If you need to use those packages without changes, use v2.x and JDK8 The following classes have been removed and will not be longer supported: - ste.xtest.reflect.CodeInjector 2. To be able to easily using URL stubbing in other projects all relevan classes have been taken from JDK's source code and relocated under the package ste.xtest.net. In this way the stubs will not use any more internal classes but normal packages. 3. Note that Java 17 deprecated SecurityManager and setting a SM into a JVM. Trying to replace the SM throws the exception java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release This impacts ste.xtest.cli.BugFreeCLI, which uses such functionality behind the scene to determine the exist status of the process. This indeed means that if BugFreeCLI is used with Java 18 or earlier, test will fail with above exception. The only workaround available at the moment is to set -Djava.security.manager=allow when running the tests: <project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.5.0</version> <configuration> <!-- java.security.manager must be set on the command line of the forked VM, it cannot be set after the VM has been started --> <argLine>-Djava.security.manager=allow</argLine> </configuration> </plugin> </plugins> </build> [...] </project> 4. ste.xtest v3.8.0 introduced a new working stub for JDBC based on the open source project Acolyte (see CREDITS). CREDITS ======= Acolyte: xtest 3.8.0 and earlier includes source code from the Acolyte project (https://github.com/cchantep/acolyte). The source code has been included instead of using directly the original package because the Acolyte project seems not to be active any more and some improvements were required.