threads / patch / 42383

patch, 2 partstravis-ci: enable Git SVN tests t91xx on Linux

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

## tl;dr

10 messages between May 19, 2016 and May 23, 2016. Diffs are folded; open one to read it.

replies: 9people: 3as markdown or json

larsxschneider@gmail.com· May 19, 2016, 09:10 UTC · lore

[PATCH v1 0/2] travis-ci: enable Git SVN tests

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· May 19, 2016, 09:10 UTC · re: larsxschneider@gmail.com · lore
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(+)
Show changes to .travis.yml +1 −0
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· May 19, 2016, 09:10 UTC · re: larsxschneider@gmail.com · lore

[PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126

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%)
Show changes to 3 files +2 −1

.travis.yml, t/t9113-git-svn-dcommit-new-file.sh, t/t9126-git-svn-follow-deleted-readded-directory.sh

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· May 19, 2016, 10:06 UTC · re: larsxschneider@gmail.com · lore

Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126

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· May 19, 2016, 17:11 UTC · re: Eric Wong · lore

Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126

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· May 22, 2016, 10:10 UTC · re: Junio C Hamano · lore

Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126

Show 8 quoted lines
> 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· May 22, 2016, 20:26 UTC · re: Lars Schneider · lore

Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126

Lars Schneider <larsxschneider@gmail.com> wrote:
Show 12 quoted lines
> > 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· May 23, 2016, 21:22 UTC · re: Lars Schneider · lore

Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126

Lars Schneider <larsxschneider@gmail.com> writes:
Show 13 quoted lines
>> 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· May 23, 2016, 21:32 UTC · re: Junio C Hamano · lore

Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126

Junio C Hamano <gitster@pobox.com> wrote:
Show 17 quoted lines
> 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· May 23, 2016, 21:47 UTC · re: Eric Wong · lore

Re: [PATCH v1 2/2] travis-ci: enable sequential test execution for t9113 and 9126

Eric Wong <e@80x24.org> writes:
Show 21 quoted lines
> 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!

← back to recent threads