# [PATCH v1 1/2] travis-ci: enable Git SVN tests t91xx on Linux

10 messages from 2016-05-19 to 2016-05-23. Participants: larsxschneider@gmail.com, Eric Wong, Junio C Hamano, Lars Schneider.
Thread: https://gitlist.dev/t/42383

## larsxschneider@gmail.com, 2016-05-19 09:10

Subject: [PATCH v1 0/2] travis-ci: enable Git SVN tests
Message-ID: <1463649009-56941-1-git-send-email-larsxschneider@gmail.com>
URL: https://gitlist.dev/e/1463649009-56941-1-git-send-email-larsxschneider%40gmail.com

```
From: Lars Schneider <larsxschneider@gmail.com>

Hi,

this mini series enables SVN tests on Linux. Installing the Perl SVN libraries
was not that straight forward on OSX and therefore I skipped it (plus the OS X
tests take quite some time already).

The most notable change is the rename of two SVN test cases. I did that to
identify tests that need to run sequentially using prove [1]. Is this an
acceptable pattern? If yes, then I will document it in t/README.

Thanks,
Lars

[1] https://github.com/Perl-Toolchain-Gang/Test-Harness/pull/5

Lars Schneider (2):
  travis-ci: enable Git SVN tests t91xx on Linux
  travis-ci: enable sequential test execution for t9113 and 9126

 .travis.yml                                                           | 4 +++-
 ...-svn-dcommit-new-file.sh => t9113-git-svn-dcommit-new-file.seq.sh} | 0
 ...ctory.sh => t9126-git-svn-follow-deleted-readded-directory.seq.sh} | 0
 3 files changed, 3 insertions(+), 1 deletion(-)
 rename t/{t9113-git-svn-dcommit-new-file.sh => t9113-git-svn-dcommit-new-file.seq.sh} (100%)
 rename t/{t9126-git-svn-follow-deleted-readded-directory.sh => t9126-git-svn-follow-deleted-readded-directory.seq.sh} (100%)

--
2.5.1

```

## larsxschneider@gmail.com, 2016-05-19 09:10

Subject: [PATCH v1 1/2] travis-ci: enable Git SVN tests t91xx on Linux
Message-ID: <1463649009-56941-2-git-send-email-larsxschneider@gmail.com>
URL: https://gitlist.dev/e/1463649009-56941-2-git-send-email-larsxschneider%40gmail.com
In-Reply-To: <1463649009-56941-1-git-send-email-larsxschneider@gmail.com>

```
From: Lars Schneider <larsxschneider@gmail.com>

Install the "git-svn" package to make the Perl SVN libraries available
to the Git SVN tests on Travis-CI Linux build machines.

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
---
 .travis.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.travis.yml b/.travis.yml
index adab5b8..c20ec54 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,6 +18,7 @@ addons:
   apt:
     packages:
     - language-pack-is
+    - git-svn
 
 env:
   global:
-- 
2.5.1

```

## larsxschneider@gmail.com, 2016-05-19 09:10

Subject: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126
Message-ID: <1463649009-56941-3-git-send-email-larsxschneider@gmail.com>
URL: https://gitlist.dev/e/1463649009-56941-3-git-send-email-larsxschneider%40gmail.com
In-Reply-To: <1463649009-56941-1-git-send-email-larsxschneider@gmail.com>

```
From: Lars Schneider <larsxschneider@gmail.com>

Enable t9113 and 9126 by defining the SVNSERVER_PORT. Since both tests
open the same port during execution, they cannot run in parallel. Add
a ".seq.sh" suffix to the test files and teach "prove" to run them
sequentially.

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
---
 .travis.yml                                                            | 3 ++-
 ...t-svn-dcommit-new-file.sh => t9113-git-svn-dcommit-new-file.seq.sh} | 0
 ...ectory.sh => t9126-git-svn-follow-deleted-readded-directory.seq.sh} | 0
 3 files changed, 2 insertions(+), 1 deletion(-)
 rename t/{t9113-git-svn-dcommit-new-file.sh => t9113-git-svn-dcommit-new-file.seq.sh} (100%)
 rename t/{t9126-git-svn-follow-deleted-readded-directory.sh => t9126-git-svn-follow-deleted-readded-directory.seq.sh} (100%)

diff --git a/.travis.yml b/.travis.yml
index c20ec54..605ced1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -29,9 +29,10 @@ env:
     - LINUX_P4_VERSION="16.1"
     - LINUX_GIT_LFS_VERSION="1.2.0"
     - DEFAULT_TEST_TARGET=prove
-    - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
+    - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save --rules='seq=*.seq.*' --rules='par=**'"
     - GIT_TEST_OPTS="--verbose --tee"
     - GIT_TEST_CLONE_2GB=YesPlease
+    - SVNSERVE_PORT=3690
     # t9810 occasionally fails on Travis CI OS X
     # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
     - GIT_SKIP_TESTS="t9810 t9816"
diff --git a/t/t9113-git-svn-dcommit-new-file.sh b/t/t9113-git-svn-dcommit-new-file.seq.sh
similarity index 100%
rename from t/t9113-git-svn-dcommit-new-file.sh
rename to t/t9113-git-svn-dcommit-new-file.seq.sh
diff --git a/t/t9126-git-svn-follow-deleted-readded-directory.sh b/t/t9126-git-svn-follow-deleted-readded-directory.seq.sh
similarity index 100%
rename from t/t9126-git-svn-follow-deleted-readded-directory.sh
rename to t/t9126-git-svn-follow-deleted-readded-directory.seq.sh
-- 
2.5.1

```

## Eric Wong, 2016-05-19 10:06

Subject: Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126
Message-ID: <20160519100658.GA20225@dcvr.yhbt.net>
URL: https://gitlist.dev/e/20160519100658.GA20225%40dcvr.yhbt.net
In-Reply-To: <1463649009-56941-3-git-send-email-larsxschneider@gmail.com>

```
larsxschneider@gmail.com wrote:
> Enable t9113 and 9126 by defining the SVNSERVER_PORT. Since both tests
> open the same port during execution, they cannot run in parallel. Add
> a ".seq.sh" suffix to the test files and teach "prove" to run them
> sequentially.

Interesting, I guess I forgot the problem because had some
rules in config.mak to serialize them for many years, now :x

Anyways, how about making the tests run on separate ports and
not worry about serializing them at all?  Maybe there was a
reason we didn't do this years ago, but I forget...

But probably the best (but I guess more difficult) option is to
get svnserve+apache to do socket activation off a random port
bound by a parent process at startup.

```

## Junio C Hamano, 2016-05-19 17:11

Subject: Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126
Message-ID: <xmqqwpmqj7m1.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqwpmqj7m1.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <20160519100658.GA20225@dcvr.yhbt.net>

```
Eric Wong <e@80x24.org> writes:

> Anyways, how about making the tests run on separate ports and
> not worry about serializing them at all?

Yeah, that does sound like a more sensible approach.

```

## Lars Schneider, 2016-05-22 10:10

Subject: Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126
Message-ID: <7A9DE9C1-4AC7-4FF3-B8B1-26DE84BA625B@gmail.com>
URL: https://gitlist.dev/e/7A9DE9C1-4AC7-4FF3-B8B1-26DE84BA625B%40gmail.com
In-Reply-To: <xmqqwpmqj7m1.fsf@gitster.mtv.corp.google.com>

```

> On 19 May 2016, at 19:11, Junio C Hamano <gitster@pobox.com> wrote:
> 
> Eric Wong <e@80x24.org> writes:
> 
>> Anyways, how about making the tests run on separate ports and
>> not worry about serializing them at all?
> 
> Yeah, that does sound like a more sensible approach.

Makes sense. However, it's not something I will tackle soon.
Would you be willing to pick up $gmane/295048 (the first patch) as is 
and drop $gmane/295050 (the patch discussed here)? Then the majority
of Git SVN tests would run on Travis CI.

Thanks,
Lars

```

## Eric Wong, 2016-05-22 20:26

Subject: Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126
Message-ID: <20160522202617.GA1866@dcvr.yhbt.net>
URL: https://gitlist.dev/e/20160522202617.GA1866%40dcvr.yhbt.net
In-Reply-To: <7A9DE9C1-4AC7-4FF3-B8B1-26DE84BA625B@gmail.com>

```
Lars Schneider <larsxschneider@gmail.com> wrote:
> > On 19 May 2016, at 19:11, Junio C Hamano <gitster@pobox.com> wrote:
> > Eric Wong <e@80x24.org> writes:
> > 
> >> Anyways, how about making the tests run on separate ports and
> >> not worry about serializing them at all?
> > 
> > Yeah, that does sound like a more sensible approach.
> 
> Makes sense. However, it's not something I will tackle soon.
> Would you be willing to pick up $gmane/295048 (the first patch) as is 
> and drop $gmane/295050 (the patch discussed here)? Then the majority
> of Git SVN tests would run on Travis CI.

Sure, patch 1/2 is signed-off and pushed to my repo.  Thanks.

I'll try to take a look at parallelizing the other tests instead
of marking them sequential some other time.

Junio:

The following changes since commit 3916adf9978b020f9a9b165f4c1c109046899560:

  Sync with 2.8.3 (2016-05-18 15:33:57 -0700)

are available in the git repository at:

  git://bogomips.org/git-svn.git svn-travis

for you to fetch changes up to e7e9f5e7a1d39bf210c59428cd2a98f0a6abba0b:

  travis-ci: enable Git SVN tests t91xx on Linux (2016-05-22 20:20:28 +0000)

----------------------------------------------------------------
Lars Schneider (1):
      travis-ci: enable Git SVN tests t91xx on Linux

 .travis.yml | 1 +
 1 file changed, 1 insertion(+)

```

## Junio C Hamano, 2016-05-23 21:22

Subject: Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126
Message-ID: <xmqq60u48o6v.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqq60u48o6v.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <7A9DE9C1-4AC7-4FF3-B8B1-26DE84BA625B@gmail.com>

```
Lars Schneider <larsxschneider@gmail.com> writes:

>> On 19 May 2016, at 19:11, Junio C Hamano <gitster@pobox.com> wrote:
>> 
>> Eric Wong <e@80x24.org> writes:
>> 
>>> Anyways, how about making the tests run on separate ports and
>>> not worry about serializing them at all?
>> 
>> Yeah, that does sound like a more sensible approach.
>
> Makes sense. However, it's not something I will tackle soon.
> Would you be willing to pick up $gmane/295048 (the first patch) as is 
> and drop $gmane/295050 (the patch discussed here)? Then the majority
> of Git SVN tests would run on Travis CI.

I am not sure if adding git-svn alone would be a good change.
Wouldn't it invite false failures from running these conflicting
tests at the same time?

```

## Eric Wong, 2016-05-23 21:32

Subject: Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126
Message-ID: <20160523213254.GA11731@dcvr.yhbt.net>
URL: https://gitlist.dev/e/20160523213254.GA11731%40dcvr.yhbt.net
In-Reply-To: <xmqq60u48o6v.fsf@gitster.mtv.corp.google.com>

```
Junio C Hamano <gitster@pobox.com> wrote:
> Lars Schneider <larsxschneider@gmail.com> writes:
> >> On 19 May 2016, at 19:11, Junio C Hamano <gitster@pobox.com> wrote:
> >> Eric Wong <e@80x24.org> writes:
> >> 
> >>> Anyways, how about making the tests run on separate ports and
> >>> not worry about serializing them at all?
> >> 
> >> Yeah, that does sound like a more sensible approach.
> >
> > Makes sense. However, it's not something I will tackle soon.
> > Would you be willing to pick up $gmane/295048 (the first patch) as is 
> > and drop $gmane/295050 (the patch discussed here)? Then the majority
> > of Git SVN tests would run on Travis CI.
> 
> I am not sure if adding git-svn alone would be a good change.
> Wouldn't it invite false failures from running these conflicting
> tests at the same time?

The problematic tests won't run unless *_PORT variables are set;
which AFAIK they aren't, yet.

```

## Junio C Hamano, 2016-05-23 21:47

Subject: Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126
Message-ID: <xmqqoa7w78g8.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqoa7w78g8.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <20160523213254.GA11731@dcvr.yhbt.net>

```
Eric Wong <e@80x24.org> writes:

> Junio C Hamano <gitster@pobox.com> wrote:
>> Lars Schneider <larsxschneider@gmail.com> writes:
>> >> On 19 May 2016, at 19:11, Junio C Hamano <gitster@pobox.com> wrote:
>> >> Eric Wong <e@80x24.org> writes:
>> >> 
>> >>> Anyways, how about making the tests run on separate ports and
>> >>> not worry about serializing them at all?
>> >> 
>> >> Yeah, that does sound like a more sensible approach.
>> >
>> > Makes sense. However, it's not something I will tackle soon.
>> > Would you be willing to pick up $gmane/295048 (the first patch) as is 
>> > and drop $gmane/295050 (the patch discussed here)? Then the majority
>> > of Git SVN tests would run on Travis CI.
>> 
>> I am not sure if adding git-svn alone would be a good change.
>> Wouldn't it invite false failures from running these conflicting
>> tests at the same time?
>
> The problematic tests won't run unless *_PORT variables are set;
> which AFAIK they aren't, yet.

Ahh, OK that is perfect.

Thanks!

```
