Stefan Miklosovic created CASSANDRA-18863:
---------------------------------------------
Summary: Some tests are depending on each other
Key: CASSANDRA-18863
URL: https://issues.apache.org/jira/browse/CASSANDRA-18863
Project: Cassandra
Issue Type: Improvement
Components: Test/unit
Reporter: Stefan Miklosovic
I noticed this first when dealing with (1)
Simple bash gives:
{code:java}
for i in $(find . -type f -name '*Test.java'); do imports=$(grep 'import
org.apache.*Test;' $i | grep -v 'Abstract'); if [ x"$imports" != "x" ]; then
echo $i $imports; fi; done./org/apache/cassandra/db/ColumnFamilyStoreTest.java
import org.apache.cassandra.io.sstable.ScrubTest;
./org/apache/cassandra/db/compaction/CompactionsCQLTest.java import
org.apache.cassandra.io.sstable.LegacySSTableTest;
./org/apache/cassandra/db/compaction/PartialCompactionsTest.java import
org.apache.cassandra.db.DirectoriesTest;
./org/apache/cassandra/locator/ReconnectableSnitchHelperTest.java import
org.apache.cassandra.net.MessagingServiceTest;
./org/apache/cassandra/tools/nodetool/ScrubToolTest.java import
org.apache.cassandra.io.sstable.ScrubTest;
./org/apache/cassandra/tools/StandaloneUpgraderOnSStablesTest.java import
org.apache.cassandra.io.sstable.LegacySSTableTest;
./org/apache/cassandra/tools/StandaloneVerifierTest.java import
org.apache.cassandra.io.sstable.VerifyTest;
./org/apache/cassandra/tools/StandaloneVerifierOnSSTablesTest.java import
org.apache.cassandra.io.sstable.VerifyTest;
./org/apache/cassandra/repair/asymmetric/DifferenceHolderTest.java import
org.apache.cassandra.utils.MerkleTreesTest;
./org/apache/cassandra/repair/ValidatorTest.java import
org.apache.cassandra.db.compaction.CompactionsTest;
./org/apache/cassandra/fql/FullQueryLoggerTest.java import
org.apache.cassandra.utils.binlog.BinLogTest;
./org/apache/cassandra/index/sai/cql/InetAddressTypeEquivalencyTest.java import
org.apache.cassandra.index.sai.cql.types.InetTest;
./org/apache/cassandra/io/compress/CompressedSequentialWriterTest.java import
org.apache.cassandra.io.util.SequentialWriterTest;
./org/apache/cassandra/io/sstable/LegacySSTableTest.java import
org.apache.cassandra.db.SinglePartitionSliceCommandTest;
./org/apache/cassandra/audit/BinAuditLoggerTest.java import
org.apache.cassandra.utils.binlog.BinLogTest;
./org/apache/cassandra/cql3/validation/operations/CompactStorageSplit1Test.java
import org.apache.cassandra.cql3.validation.entities.SecondaryIndexTest; {code}
If one goes one by one, there are some cases when one test is trully depending
on another. I do not think this is a good practice at all. Each test should be
self-contained or at least all common parts which are reused should be
extracted to some helper classes. As it is done right now, if one changes the
implementation of some helper methods in on test, it might fail others. If it
is extracted, it is more probable that a developer would check where that
method is used additionally to the place a developer is focused on. Right now
if a developer changes a method in a test that method is specified in, she does
not have a clue that it might be used somewhere else.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]