Hi all,

What are the main differences of each version?
I ran into this question while wondering which test cases v1 schema should
support.
For example, I understand that wide -> tall rows was the key change in v3
-> v4 from S2GRAPH-50 <https://issues.apache.org/jira/browse/S2GRAPH-50>.
Could someone elaborate on the other version changes?

Thanks,
Jo

On Fri, Apr 1, 2016 at 5:01 PM Hyunsung Jo <hyunsung...@gmail.com> wrote:

> Hi all,
>
> Created  S2GRAPH-62 <https://issues.apache.org/jira/browse/S2GRAPH-62> 
> regarding
> "1. The tests do not cover all schema versions".
> (Assuming that silence implies consensus and more testing is good! Haha!)
>
> Disregarding "2. No option for different storages" for now since the
> community is yet to agree on multi-storage support.
>
> Thanks,
> Jo
>
> On Wed, Mar 23, 2016 at 7:24 AM Hyunsung Jo <hyunsung...@gmail.com> wrote:
>
>> Hi,
>>
>> I'd like to address some issues with S2Graph test code.
>>
>> 1. The tests do not cover all schema versions:
>> The latest version of S2Graph has four schema versions (v1 through v4).
>> Yet, most of the current test cases only cover one or two versions (usually
>> v2 or v3). Each test case should run against all versions that support the
>> feature being tested.
>>
>> 2. No option for different storages:
>> S2Graph has plans to support storages other than HBase (RocksDB, Redis,
>> and so on). But, test cases such as 'AsynchbaseStorageTest ' aren't
>> necessary for RocksDB. In this case, it would be more developer-friendly to
>> provide an option to run only the tests that concern a given storage. In
>> other words, if one is using S2Graph with RocksDB, she should be able to
>> run the test cases that covers common or RocksDB-related features only, and
>> skip the ones like 'AsynchbaseStorageTest'.
>>
>> 3. Mixed use of different testing styles:
>> S2Graph uses ScalaTest which supports several testing styles (
>> http://www.scalatest.org/user_guide/selecting_a_style). As is, multiple
>> styles are used in the test code, FunSuite and FlatSpec. I think it's
>> better to stick to one style.
>>
>>
>> My suggestion regarding 1 and 2 is to use tags (
>> http://www.scalatest.org/user_guide/tagging_your_tests).
>> This way, you can configure the test suite to run selective test cases
>> with a predefined SBT command.
>> For example, let's say all the test cases are tagged according to their
>> supported versions or storages, and Redis only supports schema version v4.
>> In 'build.sbt', you can define that a predefined command such as
>> 'redis:test' should only run the tests that are tagged either 'v4' or
>> 'Redis'.
>>
>> Issue 3 is merely a matter of deciding witch style roll with and simply
>> rewriting the code.
>>
>> Let me know what you think, and I'll open a JIRA ticket for this.
>>
>> Regards,
>> Jo
>>
>>
>>

Reply via email to