Hi Igniters!

I made a research into tests that aren't included in any test suite. As
TeamCity runs tests by suites so there could be tests that never run on TC.
So I tried implementing a simple check for such tests and include it in
Ignite's travis config.

The check runs while "mvn test" command and piggy-backs on the maven
surefire plugin. I replaced the junit provider with a custom one that
checks if a class is a test or a suite (there are some Ignite specific
stuff), marks tests that are in suites and raises an exception if there are
non-suited tests. It's implemented as a part of maven command so it runs
for every module separately.

I've prepared draft PR with this check:
https://github.com/apache/ignite/pull/8367
Travis check report is here:
https://travis-ci.org/github/apache/ignite/jobs/737046387
As It's a draft, so I skip some maven configuration steps for a while. Also
I run the check only for the core module.

But I have some results that want to discuss before continue the work:
1. Currently in the core module there are 53 tests that aren't part of any
test suite. I'm not sure about the reason for every test. So I just put
below a list of the tests and last contributor to a file that contains a
test.

2. Some tests are located in the core module, but suites are in a
different, for example ignite-indexing suite
IgniteCacheQuerySelfTestSuite3 contains
only tests written in the core module, and none from the indexing module.
Also there are suites in spring, uri-deploy, zookeeper modules. In my PR
I've just copied the test suites to the core module.

3. Some test classes are named with the "Abstract" suffix but don't have
the corresponding modifier (for example, IgniteTxTimeoutAbstractTest). So,
I add the modifier for every such file if it's not a part of any suite.

What do you think about this check? If Ignite needs it, let's discuss next
things:
1. Mark tests that should never be in any suite by some reason;
2. Fix the missed tests;
3. How to declare suites that contains tests from a different module;
4. How to check if TC runs all suites.

List of non-suited tests in the core module:

maksim.stepac...@gmail.com:
        GridTcpCommunicationSpiLogTest

nizhi...@apache.org:
        IgniteCacheClientMultiNodeUpdateTopologyLockTest
        CacheClientsConcurrentStartTest
        IgniteOutOfMemoryPropagationTest
        GridCacheP2PUndeploySelfTest
        GridCacheRebalancingOrderingTest
        IgniteMassLoadSandboxTest
        PageLockTrackerMXBeanImplTest
        IgniteBinaryMetadataUpdateNodeRestartTest
        CacheLockCandidatesThreadTest
        GridMBeanBaselineTest
        RendezvousAffinityFunctionSimpleBenchmark

samvi...@yandex.ru:
        IgnitePdsNoSpaceLeftOnDeviceTest

maxmu...@gmail.com:
        GridCacheOnCopyFlagReplicatedSelfTest
        GridCacheOnCopyFlagLocalSelfTest
        GridCacheReplicatedAtomicReferenceMultiNodeTest
        GridCacheReplicatedMarshallerTxTest
        GridCacheReplicatedTxConcurrentGetTest
        GridCacheOnCopyFlagTxPartitionedSelfTest
        GridCacheReplicatedTxReadTest
        GridCachePartitionedAtomicReferenceMultiNodeTest
        GridCacheOnCopyFlagAtomicSelfTest

mmu...@apache.org:
        GridActivateExtensionTest
        IgniteChangeGlobalStateCacheTest
        IgniteChangeGlobalStateTest
        IgniteChangeGlobalStateServiceTest
        IgniteChangeGlobalStateDataStructureTest

oignate...@gridgain.com:
        CacheEntryProcessorCopySelfTest
        MemoryLeaksOnRestartNodeTest
        GridCacheAtomicPreloadSelfTest
        WalCompactionAfterRestartTest
        IgniteCacheConcurrentPutGetRemove
        GridIoManagerBenchmark0

nsamelc...@gmail.com:
        GridLongRunningInitNewCrdFutureDiagnosticsTest
        GridCacheMultithreadedFailoverAbstractTest

alexey.goncha...@gmail.com:
        GridCacheBinaryObjectsAtomicOnheapSelfTest
        GridCacheBinaryObjectsAtomicNearDisabledOnheapSelfTest
        GridCacheBinaryObjectsPartitionedOnheapSelfTest
        GridCacheBinaryObjectsPartitionedNearDisabledOnheapSelfTest

vladis...@gmail.com:
        IgnitePartitionedLockSelfTest

alexandr.bel...@xored.com:
        IgniteStableBaselineCachePutAllFailoverTest
        IgniteStableBaselineCacheRemoveFailoverTest

ilant...@gridgain.com:
        IgniteCacheAtomicOnheapExpiryPolicyTest
        IgniteCacheAtomicLocalOnheapExpiryPolicyTest
        GridCacheReplicatedOnheapFullApiSelfTest
        GridCacheBinaryObjectsLocalOnheapSelfTest

oignate...@users.noreply.github.com:
        GridCacheTtlManagerEvictionSelfTest

ira...@apache.org:
        CommonPoolStarvationCheckpointTest

alievmi...@gmail.com:
        RemoveAllDeadlockTest

schugu...@gridgain.com:
        FullyConnectedComponentSearcherTest

sboi...@gridgain.com:
        IgniteDataStructuresNoClassOnServerTest

timonin.ma...@gmail.com:
        ReliableChannelTest
        ThinClientPartitionAwarenessDiscoveryTest

Reply via email to