The git plugin and the git client plugin tests are executed regularly in multi-configuration jobs which run on Debian 6, Debian 7, Debian 8, CentOS 6, CentOS 7, Ubuntu 14.04, Windows 7, Windows Home Server 2011, and Windows 10. Git versions in those environments include 1.7.1, 1.7.2.3, 1.8.1, 1.9.5, 2.2.1, and 2.6.2.
I have a FreeBSD 10.1 system ready to test, but the Jenkins core infrastructure is not yet ready to support FreeBSD as a standard development platform. Some automated tests currently fail on FreeBSD 10.1 due to Jenkins limitations.
There are probably a few tests in the test collection which test a single object in isolation, without access to external resources. Most tests in the test suites involve multiple objects and execution of one or more calls to external programs.
Your tests should assure that both JGit and CliGit are tested. Usually that means either a parameterized test where the implementation is one of the parameters, or a test base class for one of the implementations which is then overridden by a subclass. There is a method already available in the CliGitAPIImpl which returns true if the command line git version is greater than a certain value. You're welcome to use that method to make the code cleaner.
Different versions of egit are not tested, since egit is not supported, at least not as an integration to it. The JGit version included in the plugin is tested regularly on different Java versions (Java 7 and Java 8) and different platforms. You can find the JGit version in the pom file. The plugin remains on JGit 3.7.x currently. It cannot use JGit 4.x yet, because JGit 4.x requires JDK 7 and the plugin still supports execution on Java 6.
|