Return-Path: X-Original-To: apmail-cassandra-dev-archive@www.apache.org Delivered-To: apmail-cassandra-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 188679997 for ; Wed, 30 Nov 2011 17:17:39 +0000 (UTC) Received: (qmail 83733 invoked by uid 500); 30 Nov 2011 17:17:38 -0000 Delivered-To: apmail-cassandra-dev-archive@cassandra.apache.org Received: (qmail 83713 invoked by uid 500); 30 Nov 2011 17:17:38 -0000 Mailing-List: contact dev-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list dev@cassandra.apache.org Received: (qmail 83705 invoked by uid 99); 30 Nov 2011 17:17:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Nov 2011 17:17:38 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of sylvain@datastax.com designates 209.85.161.172 as permitted sender) Received: from [209.85.161.172] (HELO mail-gx0-f172.google.com) (209.85.161.172) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Nov 2011 17:17:33 +0000 Received: by ggnp4 with SMTP id p4so1050092ggn.31 for ; Wed, 30 Nov 2011 09:17:12 -0800 (PST) Received: by 10.236.114.132 with SMTP id c4mr5001837yhh.104.1322673432108; Wed, 30 Nov 2011 09:17:12 -0800 (PST) MIME-Version: 1.0 Received: by 10.236.23.138 with HTTP; Wed, 30 Nov 2011 09:16:51 -0800 (PST) From: Sylvain Lebresne Date: Wed, 30 Nov 2011 18:16:51 +0100 Message-ID: Subject: Distributed testing To: dev@cassandra.apache.org Content-Type: text/plain; charset=ISO-8859-1 Cassandra needs distributed regression testing. The current unit tests and so-called 'system' tests are great, but limited in scope for a distributed system. As pointed by others very recently, this can only help towards the goal of having bullet-proof releases (this is obviously not enough, but it's needed all the same). We have an attempt at distributed tests in-tree but it never caught up. Amongst the reason, is probably the fact that they are using whirr and thus require an EC2 or Rackspace account. To try to solve that problem, Datastax has developed a small distributed test framework called cassandra-dtest (dtest for short). It is written in python and uses nosetests and ccm (https://github.com/pcmanus/ccm). It is open-source and available at https://github.com/riptano/cassandra-dtest. The number of tests is yet limited but already far exceed those of the in-tree distributed tests. It include in particular multi-DC tests and upgrade tests. This is very much young code and all inputs will be greatly appreciated. The clear goal however is that unless someone has anything better to propose, we use this as the default distributed test framework for Cassandra. Which means getting into the habit of requiring a regression test (unit or distributed) with each bug fix. -- Sylvain