On 2021/02/26 7:02, Karl Fogel wrote:
> On 25 Feb 2021, Yasuhito FUTATSUKI wrote:
>> Then, I made patches. It also allows pypy to run the test without 'python'.  
>>  (A) Replace the shebang line of svneditor.py from svneditor.py  at running 
>> the configure  script. (fix-svneditor-in-test-patch-a.txt) As @PYTHON@ can 
>> be  basename only, relative path, or absolute path, "/usr/bin/env"  is still 
>> needed. (B) Make a script to launch svneditor.py using @PYTHON@, 
>> svneditor.sh  at running the configure  scriptt. 
>> (fix-svneditor-in-test-patch-b.txt) If @PYTHON@ is always absolute path, we 
>> can use shebang line without '/usr/bin/env' in patch (A). 
> 
> On a Debian GNU/Linux system with only 'python3' (no 'python'), I tried a 
> complete build and 'make check' in each of these three configurations:
> 
>  1. No patch (clean r1886938)
>  2. Your patch A
>  3. Your patch B
> 
> With a clean tree (no patches), there are the expected 4 test failures:
> 
>  FAIL:  commit_tests.py 48: set revision props during remote  property edit 
> FAIL:  prop_tests.py 1: write/read props in wc  only (ps, pl, pdel, pe) FAIL: 
>  prop_tests.py 16: property  operations on a URL FAIL:  update_tests.py 38: 
> update --accept  automatic conflict resolution
> With just Patch A, there are no test failures -- yay!
> 
> With just Patch B, there are the same 4 test failures:
> 
>  FAIL:  commit_tests.py 48: set revision props during remote  property edit 
> FAIL:  prop_tests.py 1: write/read props in wc  only (ps, pl, pdel, pe) FAIL: 
>  prop_tests.py 16: property  operations on a URL FAIL:  update_tests.py 38: 
> update --accept  automatic conflict resolution
> Do you get similar results?

On my environment, FreeBSD 12.2 (/bin/sh is 'ash'), even with Patch B,
all tests passed, except getopt_tests.py due to SVN_EXPERIMENTAL_COMMANDS
environment variable (I use shelf3).

It rely on that /bin/sh expands "$@" with preserving parameter field
separation and that built-in command 'exec' preserves field separation.
I think that the former is OK by POSIX specification [1], but I'm not sure
the later.

How about if apply 's/^exec //' to subversion/tests/cmdline/svneditor.sh
and then "make TESTS=subversion/tests/cmdline/prop_tests.py check" after
failed with patch B?

[1] 2. Shell Command Language - 2.5.2 Special Parameters
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_05_02

Cheers,
-- 
Yasuhito FUTATSUKI <futat...@yf.bsclub.org>

Reply via email to