Coder Social home page Coder Social logo

infinitest's Introduction

Infinitest

Quality Gate Status Coverage

Description

Infinitest is a Continuous Test Runner plugin for Eclipse and IntelliJ.

Each time you change the code Infinitest runs the relevant tests for you!!

You love TDD? You'll love Infinitest. You prefer "Test Last", take a shot too, you might fall in love as well!

See http://infinitest.github.io/.

License

Infinitest is distributed under MIT License.

Contributing

See Contribution Guide

Credits

Thanks to our sponsors: http://infinitest.github.io/#sponsors

infinitest's People

Contributors

apupier avatar athieriot avatar benrady avatar danielhodder avatar darraghotoole avatar dependabot[bot] avatar dgageot avatar dharkness avatar drbald72 avatar evantill avatar fbuechler avatar godin avatar gtoison avatar kingbuzzer avatar kpbode avatar maciulis avatar manandbytes avatar matthiasdroste avatar palpa avatar ptitfred avatar pyricau avatar rusio avatar sarod avatar skwirking avatar szpak avatar thebignet avatar twillouer avatar xavierbourguignon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

infinitest's Issues

Using manually eclipse update-site folder cause problems

  • clone repo
  • mvn clean install
  • start eclipse -> p2
    -> I added /home/user/repos/infinitest/infinitest-eclipse/target/update_site as a local site

Unexpected exception while loading file:/home/user/repos/infinitest/infinitest-eclipse/target/update_site/.
Unexpected exception while loading file:/home/user/repos/infinitest/infinitest-eclipse/target/update_site/.
Format "format(n[.n=0;[.n=0;[.S=[A-Za-z0-9_-];='';]]])" was unable to parse 5.1.87-SNAPSHOT

Bug of p2 or project configurations?

mvn eclipse:eclipse doesn't work well

We need to get rid of test jars because it introduces a circular dependency. To make mvn eclipse:eclipse work the first time, mvn install needs to be executed beforehand.

Infinitest 5.1.93 won't load Spring context file in Springsource Tool Suite 2.8 (Juno)

Please note I git the Eclipse project version name wrong. This is about Indigo, i e Eclipse 3.7.

In a Spring project tests fail only when initiated from Infinitest running in Springsource Tool Suite 2.8.0 (STS) (based on Eclipse 3.7 Indigo).
As Infinitest 5.1.93 fails to load the Spring context file all tests fail. But when I run the same tests myself inside STS they do run and all go green.

I reconfirmed that nothing else was wrong by importing the project to the previous STS 2.7.x instead (Based on Indigo). Infinitest run the tests green under STS 2.7.x as expected.

Infinitest 5.1.93 currently doesn't seem fully compatible with Eclipse Indigo and Springsource Tool Suite 2.8.x.

Gutter doesn't update immediatley on state change in IntelliJ IDEA

If the state of a line changes between failed / not-failed in IntelliJ IDEA, the Gutter indicator is not updated immediately. Only if a repaint of that line is cause e. g. by moving the caret, the Gutter indicator appears or vanishes. The code that changes the state of a line should also cause a repaint of the gutter to happen so that the change is indicated immediately.

No tests found - Eclipse 3.6.1 and Android

Hello.

We use Eclipse 3.6.1 to build Android projects on Mac OS X 10.6.8.

We are attempting to use the infinitest plugin to execute our stand-alone junit 4 integration tests. Stand-alone in this context means that the tests are no execute using the Android testing framework.

We created a launch configuration file that is configured at our package level. This allows us to run the launch configuration which will then run all tests that reside within the package. All tests are running green.

The infinitest plugin at first gave us a no class def found error which we resolved by having our Abstract test class (which all tests inherit from) extend TestCase.

Would someone per chance have a suggestion for resolving our current issue? We were wondering if infinitest could be told somehow to use the launchconfiguration. If someone has another means to resolve this, we would be most grateful.

Thanks for your time.

gf

Infinitest fails to find tests - java.exe hung

I installed Infinitest into Eclipse via the update site on my Windows 7 64-bit machine. I edited and saved a file that has a JUnit test for it. The Eclipse status bar says "Infinitest [looking for tests]: (0%)". The status says "0 tests found so far". I noticed that Eclipse launched a java.exe process. This process is not doing anything. It might be hung. The command line for the process is...

"C:\Program Files (x86)\Java\jre7\bin\java.exe" -mx256m org.infinitest.testrunner.TestRunnerProcess org.infinitest.testrunner.JUnit4Runner 3831

Every time I save, a new java.exe with a similar command line appears, uses a little CPU time and then does nothing. I took a stack trace and found the main thread blocked waiting for socket input.

"main" prio=6 tid=0x00e3a800 nid=0x1f08 runnable [0x010cf000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.(Unknown Source)
at org.infinitest.testrunner.TestRunnerProcess.main(TestRunnerProcess.java:96)

The socket is connected to a port that Eclipse has open. ObjectInputStream is blocked while trying to read the header.

I took a call stack dump of Eclipse and found these two threads with an Infinitest frame. I didn't find any call stacks with a socket in it. So, where did the thread that communicates via a socket go? I don't know. I don't know the code of Infinitest at all so I am not sure where to look next.

"Thread-14" prio=6 tid=0x0a842800 nid=0x1d14 runnable [0x0bfaf000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at org.infinitest.testrunner.ConsoleOutputProcessor.run(ConsoleOutputProcessor.java:50)
at java.lang.Thread.run(Unknown Source)

"Thread-13" prio=6 tid=0x0a840c00 nid=0x167c runnable [0x0beaf000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(Unknown Source)
at org.infinitest.testrunner.ConsoleOutputProcessor.run(ConsoleOutputProcessor.java:50)
at java.lang.Thread.run(Unknown Source)

Compatibility issues with JUnit 4.9

Interface MethodRule has been deprecated in JUnit 4.9, but if one ports to the new interface TestRule then infinitest gives an initializationerror, as it expects JUnit 4.8.2 code. Running as regular junit tests with junit 4.9 works fine.

NoClassDefFoundError (org/hamcrest/SelfDescribing) in TestClass.initializationError when using Eclipse

Im writing a unit test for Jenkins CI (https://github.com/jenkinsci/jenkins) in Eclipse and am trying to use InfiniTest. The project uses JUnit 4.3.1 (which doesnt have the hamcrest library). When I create a simple JUnit 4 test class and infinitest tries to run the test i get the following error in the Problems list. Note that the test does not have any hamcrest dependency in it at all.

Description Resource    Path    Location    Type
NoClassDefFoundError (org/hamcrest/SelfDescribing) in JobTest.initializationError   JobTest.java    /jenkins-core/src/test/java/hudson/model    line 0  Infinitest Test Failure

Simple test case that infinitest has problems running

package hudson.model;
import org.junit.Test;
public class JobTest {
    @Test
    public void assertThatNullDescriptionDoesNotThrowNPE() throws Exception {   
    }
}

A workaround is to let the test class extend the TestCase class, ie a pre-4 test case.

Add an option to auto-compile in IntelliJ IDEA

As Infinitest needs the files to be compiled and IntelliJ IDEA cannot do this itself, it would be useful if Infinitest had an option to say when to trigger retesting. Either on compile like it is now, or on save. This would mean that Infinitest would cause compilation on save and then run the tests automatically. Another option could be to auto-save, compile and test after a certain period of no keyboard input. But as IDEA can auto-save after x seconds of idle keyboard, the on-save option would be sufficient I think.

Make Infinititest task (Mylyn) aware

Similar to the issue #13, I have tens of projects on my workspace. I know you can filter to include only certain projects, but that's too cumbersome as I frequently switch between projects. What I really would like is that Infinititest kept running only those tests that are currently in my active Mylyn task context. Adding the issue now, might work on it myself at some point unless somebody else gets the same itch before.

Eclipse Error Marker on wrong Class File

I have two projects in my workspace:

  • nil-services-scheduling-impl
  • nil-services-scheduling-stub

In both projects in have
src/test/java/ch/loewenfels/eahv/services/scheduling/ExecutorRegistryTest.java
(yes, that's duplicated code!) ;-)

So I have the following two Files in the workspace:

  • nil-services-scheduling-impl/src/test/java/ch/loewenfels/eahv/services/scheduling/ExecutorRegistryTest.java
  • nil-services-scheduling-stub/src/test/java/ch/loewenfels/eahv/services/scheduling/ExecutorRegistryTest.java

When I violently damage the Test nil-services-scheduling-stub/src/test/java/ch/loewenfels/eahv/services/scheduling/ExecutorRegistryTest.java (introducing a fail(); line), the infinitest error marker is on the other File from the other project (nil-services-scheduling-impl/src/test/java/ch/loewenfels/eahv/services/scheduling/ExecutorRegistryTest.java)!

Infinitest is ignoring Slow test warning

Hello!

I'm using:

eclipse 3.6 sr1 (helios service release 1) and inifinitest 5.1.83.

One of my tests is running about 600 milliseconds. I know this, I can't do anything about this (This test uses Mockito), so I changed Slow test warning in preferences to 1000 milliseconds but it still shows this warning even after cleaning whole project:

Description Resource    Path    Location    Type
MailServiceImplTest.testVerifyAccount ran in 578ms  MailServiceImplTest.java <path> Unknown Infinitest Slow Test Warning

Krystian Kichewko

[infinitest-eclipse] Provide configuration of status bar text and colors

Currently the Eclipse plug-in occupies a large portion of the status bar. It would be better if this could be shortened somehow (only an icon and a word). Additionally, the colors of this status bar updates should be configurable. Especially if there are no tests pending (waiting) the black background is drawing too much attention (it would be better to not change the background and use the default colors).

[infinitest-eclipse] Including classes from modules/projects not in Eclipse/Maven scope on the classpath

For one of our modules, tests fail when run by Infinitest because somehow classes that are not in scope are included on the classpath. "Not in scope" means the classes are in other modules/Eclipse projects that are not in the Maven POM deps/Eclipse project configuration scope.

The failing tests are in "module D" with the following root exception:

This is the root exception from the Infinitest console:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [InterfaceX] is defined: expected single matching bean but found 2: [OneFromModuleA, OneFromModuleB]

This error occurs because "module B's" classes are found in the Infinitest run. I don't know why/how, as they are not configured via Maven or Eclipse to be on the classpath: the POM deps are set correctly, and the tests pass from Maven CLI; m2eclipse updates the Eclipse config from the POMs, and the tests pass from the Eclipse launcher as well. Only module A's classes are found with Maven CLI and Eclipse launcher.

This is the module hierarchy:

  • Module D depends on modules C and A.
  • Module C depends on A; C also depends on B in Maven "test" scope.
  • Module B depends on A.

In module C's tests, Spring configuration scans for module B's classes, but not A's.
In module D's tests, Spring configuration scans for module A's classes, but not B's.

I don't know the cause, but does this highlight an Infinitest issue with classpath ordering (e.g. not same as Maven in this scenario?) or what it puts on classpath (e.g. puts all Eclipse projects on classpath vs per the Eclipse config?)?

Workaround: I was able to tweak module D's Spring classpath scanning (to find module A's classes) to make it work for Infinitest. To make this a permanent change and still work with Maven CLI and Eclipse launcher, I would have to tweak some package structure though, so it's not an appreciated workaround.

For those wondering what the modules are...
D is service ITs (integration tests), using prod DAOs/real database tests
C is service prod and unit tests, using B/stubs for tests
B is DAO stubs for unit tests
A is prod DAOs and tests

error in test while junit said test is ok

Hello,
I have a problem with a test, infinitest detect an error :

AssertionError (Never found parameters that satisfied method assumptions. Violated assumptions: [org.junit.internal.AssumptionViolatedException: got: , expected: is , org.junit.internal.AssumptionViolatedException: got: , expected: is ]) in AvSauverVenteWsMapperTest.testMapResponse_exception

But when I launch the test with junit, it's working.
I think the problem shows when I update the infinitest plugin (I'm using v5.1.87) because it was working ok before the update.
The test class uses Theory : org.junit.experimental.theories

Regards,

Mathieu

CLASSPATH length limitation on Windows

infinitest with intellij on windows XP will not work if command line is too long.

Error message in the logs is : CreateProcess error=87

In my case, the classpath was very long.

from ECLIPSE :
When the CLASSPATH gets too long, the program cannot be launched (at least under Windows)

see also MSDN :
seems to indicate that the max command prompt line length in windows xp is 8191 characters

On solution would be to pass classpath as an environment parameter.
This solution worked for me.

[infinitest-intellij] stdout/stderr not shown in IntelliJ IDEA

If Infinitest runs, the stdout/stderr are not shown anywhere. So if you want to have your logging output you have to rerun the tests via your test run configuration. Would be nice if this would work similar to the IntelliJ IDEA way of showing the output.

[infinitest-eclipse] Execute Infinitest, even when the project contains errors

My projects sometimes have some minor errors in some configuration file or some not important class. Those "errors" are sometimes reported from checkstyles or spring plugins or similar.

I would still like infinitest to run on those projects despite these errors.
And of course infinitest should ignore errors in other projects!

If you want to make it really smart, infinitest would recognize "compiler error" test failures and would ignore them.

NoClassDefFoundError org/hamcrest/SelfDescribing with IvyDE

Eclipse is configured with IvyDE plugin 2.1.0.201008101807-RELEASE, and Infinitest 5.1.84.

The ivy.xml file contains:






and the Eclipse classpath is configured to use the default Ivy library.

All test classes show the following problem:
Description Resource Path Location Type
NoClassDefFoundError (org/hamcrest/SelfDescribing) in TestAnything.initializationError line 0 Infinitest Test Failure

The tests work OK if the Ivy library is removed from the classpath, and the classpath is configured to use the same JUnit jar file (from the Ivy cache) as an External JAR.

Exchange Toolwindow icon according to state in IntelliJ IDEA

As I know from the CCMonitor plugin it is possible to exchange the Toolwindow icon according to state. It would be helpful if the Infinitest Toolwindow would show state without being opened as then the docking area can be used for another Toolwindow or for code while the developer still immediately sees the state of Infinitest.

[infinitest-intellij] Don't make Infinitest a facet in IntelliJ IDEA

Making Infinitest a facet in IntelliJ IDEA is not a so good idea in my opinion. On many teams, especially open source development groups, the usage of such a continuous testing tool is the choice of each individual developer. If Infinitest is added as a facet to a module, then developers opening the project without the Infinitest plugin installed get an error message about an unknown facet. This unknown facet can be ignored of course, but I think this is not really clean. Also Infinitest is not really the meaning of a facet in IntelliJ IDEA which definition is:

[quote]
A facet represents a certain functionality, associated with a module, that lets IntelliJ IDEA know how to treat the module contents. A module can have multiple facets, each one providing information for a certain framework or technology. Moreover, it is possible to add or change facets of the existing modules.
[/quote]

This is more meant for supporting and autogenerating files for frameworks like GWT, Struts, Spring, Hibernate, Flex, Android and so on.

For Infinitest it would be more suitable to just have a tool window, or maybe an entry in the Tools menu that starts Infinitest and then also shows the Toolwindow (like is done for the soapui plugin). Settings like the update SCM on green can be realised as project settings e. g..

Btw. having Infinitest as facet is also counter-intuitive. I've had to have a look at the sourcecode to find out how to invoke Infinitest as I supposed to see it as tool window immediately or have an entry in the Tools menu e. g.. Facets would have been the last place where I would have looked for Infinitest.

Build is platform dependent

The swt-carbon-macosx entry in infinitest-eclipse/eclipse-plugin/pom.xml relies on OS X. This needs to be parametrized to handle other environments

Test classpath with Maven

Infinitest use wrong classpath (incomplete or wrong order) on a maven project with test resources.

When tests are run by Infinitest, classpath not use target/test-classes before target/classes, so only production resources are used (datasource, conf…) instead of test ones.

I made a little test to see the real classpath of Infinitest :

  1. /tmp/infinitest.jar
  2. ${project_loc)/target/classes/
  3. ${project_loc)/target/classes/
  4. ${project_loc)/target/test-classes/
  5. ${project_loc)/target/test-classes/
  6. All maven jar dependencies

Classpath entries 4 and 5 must be switched with 2 and 3.

No Documentation in IntelliJ IDEA

It would be helpful to have some brief documentation in the help viewer of IntelliJ IDEA for Infinitest that describes how to get it running, how to create and use the infinitest.filters and infinitest.args files and what the options are for (update SCM on green).

[infinitest-intellij] The results view eats newlines in an unnice way in IntelliJ IDEA

The results view eats newlines in an unnice way. If the message displayed in reality is:

de.masters_of_disaster.irc.adashia.AdashiaTest:33 - AssertionError(false
Expected: is not <1>
got: <1>
)

the Results view shows it as

de.masters_of_disaster.irc.adashia.AdashiaTest:33 - AssertionError(falseExpected: is not <1> got: <1>)

which doesn't look too nice. Maybe the newlines should be replaced for presenting with a space or whatever and maybe in a tooltip the message correctly with line breaks. Or maybe already with linebreaks in the Results view.

filtering is somewhat broken

trying to filter out test in package com.acme.server.integration
by putting a infinitest.filters file at the root of the project containing :
com/.acme/.server/.integration/..*

but tests in those packages keep being runned.

Gutter icon too wide in IntelliJ IDEA

The default gutter width in IntelliJ IDEA is 15 pixel. The Infinitest Icon is 16x16 pixel. Because of that, always if the Infinitest Guttericon is added or removed, the Gutter is enlarged/shrinked by one pixel. Why this is not that much of an issue it doesn't look too nice and would be much nicer and eye-friendlier if the Gutter icon is at most 15 pixel wide.

Can't install on Helios

Using the update site at http://infinitest.github.com

An error occurred while collecting items to be installed
session context was:(profile=epp.package.java, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,org.infinitest.eclipse,5.1.93
No repository found containing: org.eclipse.update.feature,org.infinitest.eclipse.feature,5.1.93

Workaround (found at http://stackoverflow.com/questions/511367/error-when-updating-eclipse):

set http://infinitest.github.com// (two trailing slashes). worked for me. Maybe should you change the update suite URL given at http://infinitest.github.com/ ?

[infinitest-eclipse] Running tests prevent Eclipse from completly shutting down

There were too many tests being run, so I created the infinitest.filters file. The 200 tests found were still running and I didn't know how to stop them, so I closed Eclipse. Unfortunately, Eclipse is apparently still running, even though I can't see its window anymore.

It seems Infinitest is unable to shutdown while running tests.

[infinitest-eclipse] Looking for Tests are very slow

After every start of Eclipse after the first change Infinitest is looking for Tests. This
need approx. 2 hours and use one core of the CPU. I think this is not
acceptable for a continuous testing tool. I know I have a large
workspace with approx. 50.000 source files.

The same effect I have if I update the workspace or a single project.

  • First Infinitest should use the tools of Eclipse. Eclipse has
    already a type hierarchy which are build many faster.
  • Second it can save the data and does not need to scan every time for
    it.

Doesn't handle multiple build paths

I get the message "No related tests for last change." if I have the tests in a separate directory (same package).

I want to separate "production code" and tests into src/ and test/ but Infinitest doesn't like that at all.

[infinitest-eclipse] Test failures are not shown in Markers view

I was trying to use Infinitest with our legacy project, and it seems to find the right tests and executes them.
However, after test execution the errors are not shown in the Markers view, and I find two error messages in the error log:

  • Error executing event runnable: Processing Results
  • Error in event normalizer

Both errors show as root cause the following:

Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/Test/src' does not exist.
    at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:319)
    at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:196)
    at org.eclipse.core.internal.resources.Container.members(Container.java:181)
    at org.eclipse.core.internal.resources.Container.members(Container.java:164)
    at org.eclipse.debug.core.sourcelookup.containers.ContainerSourceContainer.createSourceContainers(ContainerSourceContainer.java:180)
    at org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer.getSourceContainers(CompositeSourceContainer.java:127)
    at org.eclipse.debug.core.sourcelookup.containers.ContainerSourceContainer.findSourceElements(ContainerSourceContainer.java:122)
    at org.eclipse.debug.core.sourcelookup.containers.ContainerSourceContainer.findSourceElements(ContainerSourceContainer.java:124)
    at org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer.findSourceElements(CompositeSourceContainer.java:79)
    at org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer.findSourceElements(CompositeSourceContainer.java:46)
    at org.infinitest.eclipse.workspace.WorkspaceResourceFinder.findResourceForSourceFile(WorkspaceResourceFinder.java:87)
    ... 19 more

Does Infinitest assume a specific project layout (i.e. that the tests are located in a folder structure "Test/src")?
Unfortunately, the tests in out project sit in a folder "test/java" instead...

I'm using Eclipse 3.5.2 (sort of...)

Best regards
Oliver

[infinitest-eclipse] Inconsistent test status when multiple windows open in Eclipse

Thanks for the great open-source tool!

I have two (dual) monitors and always use Eclipse with one window per monitor. Infinitest seems to arbitrarily choose a window to run the tests on, and shows that the test(s) passed/failed on one window, while the other shows "Infinitest is waiting for changes."

I would like it if somehow the status were shown consistently across all windows.

Thanks!

[core] Add classpath configs path support to eclipse prefs for running @RunWith(SpringJUnit4ClassRunner.class)

  1. Problem test fails because spring application context - configs - cannot be loaded
  • IllegalStateException (Failed to load ApplicationContext) in ManagerTest.testLists (for all testclasses and testmethods)

ManagerTest extends a BaseTest which has following
@ContextConfiguration(locations={"classpath:application-config.xml", "classpath:env/unit-test-infra.xml", "classpath:extension-test.xml"})
@RunWith(SpringJUnit4ClassRunner.class)

  1. Problem ?
    I guess... Running SpringJUnit4ClassRunner is not the problem the problem is that I should be able to configure somehow the classpath containing all needed configs, if not so, then there is also another problem not being able to run BlockJUnit4ClassRunner like SpringJUnit4ClassRunner.

FOR LATER FOLLOW-UP: 5.1.93 was eclipse plugin version

Eclipse Plugin not working after maven clean install

I forked infinitest and did a maven clean install.
Then, I copied the infinitest-eclipse-5.1.84-SNAPSHOT.jar into the eclipse plugins folder
and restarted Eclipse.
The following error occurs in the Error log:

org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.infinitest.eclipse (1296).
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:125)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:457)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:326)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:231)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1193)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:160)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:874)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:267)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:52)
at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:263)
at org.eclipse.ui.internal.EarlyStartupRunnable.getExecutableExtension(EarlyStartupRunnable.java:117)
at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:66)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.Workbench$55.run(Workbench.java:2192)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.osgi.framework.BundleException: The activator org.infinitest.eclipse.InfinitestPlugin for bundle org.infinitest.eclipse is invalid
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:157)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:751)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
... 23 more
Caused by: java.lang.ClassFormatError: Invalid constant pool index 63 in class file org/infinitest/eclipse/InfinitestPlugin
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:183)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:576)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:546)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:477)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:465)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:445)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:457)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:326)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:231)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:150)
... 28 more

[core] Enhancement: Configure working directory for execution

Thanks for the awesome free alternative to JunitMax, I love it!

I am using a tool called Robolectric for Android mock-like unit testing on a host PC. It has kind of a kludgy design where you create a separate test project, but need to specify in the Eclipse run configuration to execute the test project from the working directory of the main project.

The tests fail because there's no way to configure Infinitest to do this as far as I can tell. I couldn't find any JVM option to change the working directory (I presume that's up to the caller of the JVM, not the JVM itself.)

Incidentally, please consider hosting a forum, since that seems like a better place to post a request like this.

Thanks!
Jeff

Java 'assert' not properly failing within Infinitest

I have many JUnit and / or TestNG tests that use the java 'assert' keyword, rather than the Assert utilities provided by either library. These 'assert' statements fail properly when I execute the tests directly with JUnit or TestNG, but when Infinitest runs them, the failures never register. I get all success, all the time, even when assertions SHOULD be failing.

This may be user error, but I've seen no mention of this in forums on in any guides anywhere.

Just to clarify:

assert myVar != null : "Your variable is NULL!"

doesn't work correctly, but:

Assert.assertNotNull(myVar,"Your variable is NULL!");

DOES work correctly.

Infinitest treats exceptions without stack traces as test successes

If one of my tests throws an Exception without stack trace:

public class CustomException extends RuntimeException {
    @Override
    public synchronized Throwable fillInStackTrace() {
        return this;
    }
}

@Test
public void someTest() {
     throw new CustomException();
}

Infinitest should show it as a failed test, but it does not show it and the bar stays green.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.