[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Problems running testsuite on Windows with Python 3

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Wed, 22 Apr 2020 22:53:50 +0200

On Tue, Apr 21, 2020 at 5:14 PM Yasuhito FUTATSUKI <futatuki_at_poem.co.jp>
wrote:

> On 2020/04/21 4:03, Johan Corveleyn wrote:
> > On Mon, Apr 20, 2020 at 2:16 PM Yasuhito FUTATSUKI <futatuki_at_poem.co.jp>
>
> <snip>
>
> >> So I wrote a patch for testing (not for commit. it is need to brush up
> >> even if it can work).
> >>
> >> At least it should work (no regression) on Python 2.7, Python 3 with
> >> and without PYTHONLEGACYWINDOWSSTDIO on Windows.
> >>
> >> (I confirmed on Python 2.7 and Python 3.7 on FreeBSD).
> >>
> >> Thanks,
> >> --
> >> Yasuhito FUTATSUKI <futatuki_at_poem.co.jp>
> >>
> >
> > Perfect! Works well on Windows, with Py 2.7, 3.7 and 3.8.2, with or
> without
> > the envvar defined.
> > Thanks!
>
> Thank you!
>
> Then I update the patch to prepare to commit. However I don't have
> confidence function name, variable names, and comment, etc.
>
> Could anyone please refine it?
>
> Thanks,
> --
> Yasuhito FUTATSUKI <futatuki_at_yf.bsdclub.org>/<futatuki_at_poem.co.jp>
>

Hi Yasuhito,

Whoops, I'm not sure anymore if your console fix is entirely correct (or
perhaps it's missing some extra changes in other parts of the testsuite).

I was experimenting with your latest patches (for
merge_conflict_markers_matching_eol), which failed under Python 3.7.7 (I
only applied your first patch of the latest post, not the second, just to
see what would happen). Anyway, the point is that, with a failing test,
there's something going wrong with the output.

On the console I got:

[[[
C:\research\svn\dev\subversion-1.14.0-rc2>runtest.bat -t merge
Testing Release configuration on local repository.
[1/1]
merge_tests.py....................................................FAILURE
At least one test was SKIPPED, checking R:\test_release-tmerge\tests.log
SKIP: merge_tests.py 81: merge with broken symlinks in target
SKIP: merge_tests.py 116: executable flag is maintained during binary merge
At least one test XFAILED, checking R:\test_release-tmerge\tests.log
XFAIL: merge_tests.py 49: avoid repeated merges for cyclic merging
XFAIL: merge_tests.py 64: merge target with non inheritable mergeinfo
XFAIL: merge_tests.py 114: don't inherit bogus mergeinfo
XFAIL: merge_tests.py 115: don't inherit bogus working mergeinfo
At least one test FAILED, checking R:\test_release-tmerge\tests.log
FAIL: merge_tests.py 34: conflict markers should match the file's eol style
FAIL: merge_tests.py 35: handle eol-style propchange during merge
Summary of test results:
  133 tests PASSED
  2 tests SKIPPED
  4 tests XFAILED
  2 tests FAILED
Python version: 3.7.7.
SUMMARY: Some tests failed

I: CMD: svnadmin.exe create svn-test-work\local_tmp\repos
--compatible-version=1.14 --fs-type=fsfs
I: <TIME = 0.057782>
I: CMD: svn.exe import -m "Log message for revision 1."
svn-test-work\local_tmp\greekfiles
file:///R:/test_release-tmerge/subversion/tests/cmdline/svn-test-work/local_tmp/repos
--config-dir
R:\test_release-tmerge\subversion\tests\cmdline\svn-test-work\local_tmp\config
--password rayjandom --no-auth-cache --username jrandom
I: <TIME = 0.136377>
I: Adding svn-test-work\local_tmp\greekfiles\A
I: Adding svn-test-work\local_tmp\greekfiles\A\B
I: Adding svn-test-work\local_tmp\greekfiles\A\B\E
I: Adding svn-test-work\local_tmp\greekfiles\A\B\E\alpha
I: Adding svn-test-work\local_tmp\greekfiles\A\B\E\beta
I: Adding svn-test-work\local_tmp\greekfiles\A\B\F
I: Adding svn-test-work\local_tmp\greekfiles\A\B\lambda
I: Adding svn-test-work\local_tmp\greekfiles\A\C
I: Adding svn-test-work\local_tmp\greekfiles\A\D
I: Adding svn-test-work\local_tmp\greekfiles\A\D\G
I: Adding svn-test-work\local_tmp\greekfiles\A\D\G\pi
I: Adding svn-test-work\local_tmp\greekfiles\A\D\G\rho
I: Adding svn-test-work\local_tmp\greekfiles\A\D\G\tau
I: Adding svn-test-work\local_tmp\greekfiles\A\D\H
I: Adding svn-test-work\local_tmp\greekfiles\A\D\H\chi
I: Adding svn-test-work\local_tmp\greekfiles\A\D\H\omega
I: Adding svn-test-work\local_tmp\greekfiles\A\D\H\psi
I: Adding svn-test-work\local_tmp\greekfiles\A\D\gamma
I: Adding svn-test-work\local_tmp\greekfiles\A\mu
I: Adding svn-test-work\local_tmp\greekfiles\iota
I: Committing transaction...
I: Committed revision 1.
I: CMD: svnadmin.exe create svn-test-work\local_tmp\trojan
--compatible-version=1.14 --fs-type=fsfs
I: <TIME = 0.041820>
I: CMD: svn.exe import -m "Log message for revision 1."
svn-test-work\local_tmp\trojanfiles
file:///R:/test_release-tmerge/subversion/tests/cmdline/svn-test-work/local_tmp/trojan
--config-dir
R:\test_release-tmerge\subversion\tests\cmdline\svn-test-work\local_tmp\config
--password rayjandom --no-auth-cache --username jrandom
I: <TIME = 0.291379>
I: Adding svn-test-work\local_tmp\trojanfiles\.@
I: Adding svn-test-work\local_tmp\trojanfiles\._at_kappa
I: Adding svn-test-work\local_tmp\trojanfiles\@
I: Adding svn-test-work\local_tmp\trojanfiles\@@
I: Adding svn-test-work\local_tmp\trojanfiles\@omicron@
I: Adding svn-test-work\local_tmp\trojanfiles\@zeta
I: Adding svn-test-work\local_tmp\trojanfiles\A
I: Adding svn-test-work\local_tmp\trojanfiles\A\@@
I: Adding svn-test-work\local_tmp\trojanfiles\A\@omega@
I: Adding svn-test-work\local_tmp\trojanfiles\A\alpha
I: Adding svn-test-work\local_tmp\trojanfiles\B
I: Adding svn-test-work\local_tmp\trojanfiles\B\@
I: Adding svn-test-work\local_tmp\trojanfiles\B\@beta
I: Adding svn-test-work\local_tmp\trojanfiles\B\pi@
I: Adding svn-test-work\local_tmp\trojanfiles\D
I: Adding svn-test-work\local_tmp\trojanfiles\D\.@
I: Adding svn-test-work\local_tmp\trojanfiles\D\._at_delta
I: Adding svn-test-work\local_tmp\trojanfiles\E
I: Adding svn-test-work\local_tmp\trojanfiles\G
I: Adding svn-test-work\local_tmp\trojanfiles\G\_@
I: Adding svn-test-work\local_tmp\trojanfiles\G\__at_gamma
I: Adding svn-test-work\local_tmp\trojanfiles\_@
I: Adding svn-test-work\local_tmp\trojanfiles\__at_theta
I: Adding svn-test-work\local_tmp\trojanfiles\iota
I: Adding svn-test-work\local_tmp\trojanfiles\lambda@
I: Committing transaction...
I: Committed revision 1.
I: CMD: svnadmin.exe create svn-test-work\repositories\merge_tests-1
--compatible-version=1.14 --fs-type=fsfs
I: <TIME = 0.062961>
I: CMD: svnadmin.exe dump svn-test-work\local_tmp\repos | svnadmin.exe load
svn-test-work\repositories\merge_tests-1 --ignore-uuid
I: <TIME = 0.257800>
I: CMD: svnadmin.exe setuuid svn-test-work\repositories\merge_tests-1
I: <TIME = 0.145173>
I: CMD: svn.exe co
file:///R:/test_release-tmerge/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1
svn-test-work\working_copies\merge_tests-1 --config-dir
R:\test_release-tmerge\subversion\tests\cmdline\svn-test-work\local_tmp\config
--password rayjandom --no-auth-cache --username jrandom
I: <TIME = 0.232139>
I: A svn-test-work\working_copies\merge_tests-1\A
I: A svn-test-work\working_copies\merge_tests-1\A\B
I: A svn-test-work\working_copies\merge_tests-1\A\B\E
I: A svn-test-work\working_copies\merge_tests-1\A\B\E\alpha
I: A svn-test-work\working_copies\merge_tests-1\A\B\E\beta
I: A svn-test-work\working_copies\merge_tests-1\A\B\F
I: A svn-test-work\working_copies\merge_tests-1\A\B\lambda
I: A svn-test-work\working_copies\merge_tests-1\A\C
I: A svn-test-work\working_copies\merge_tests-1\A\D
I: A svn-test-work\working_copies\merge_tests-1\A\D\G
I: A svn-test-work\working_copies\merge_tests-1\A\D\G\pi
I: A svn-test-work\working_copies\merge_tests-1\A\D\G\rho
I: A svn-test-work\working_copies\merge_tests-1\A\D\G\tau
I: A svn-test-work\working_copies\merge_tests-1\A\D\H
I: A svn-test-work\working_copies\merge_tests-1\A\D\H\chi
I: A svn-test-work\working_copies\merge_tests-1\A\D\H\omega
I: A svn-test-work\working_copies\merge_tests-1\A\D\H\psi
I: A svn-test-work\working_copies\merge_tests-1\A\D\gamma
I: A svn-test-work\working_copies\merge_tests-1\A\mu
I: A svn-test-work\working_copies\merge_tests-1\iota
I: Checked out revision 1.
I: CMD: svn.exe ci svn-test-work\working_copies\merge_tests-1 -m "log msg"
--config-dir
R:\test_release-tmerge\subversion\tests\cmdline\svn-test-work\local_tmp\config
--password rayjandom --no-auth-cache --username jrandom
I: <TIME = 0.207241>
I: Sending svn-test-work\working_copies\merge_tests-1\A\D\G\rho
I: Sending svn-test-work\working_copies\merge_tests-1\A\mu
I: Transmitting file data ..done
I: Committing transaction...
I: Committed revision 2.
I: CMD: svn.exe status -v -u -q svn-test-work\working_copies\merge_tests-1
--config-dir
R:\test_release-tmerge\subversion\tests\cmdline\svn-test-work\local_tmp\config
--password rayjandom --no-auth-cache --username jrandom
I: <TIME = 0.173737>
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D\G\pi
I: 2 2 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D\G\rho
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D\G\tau
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D\G
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D\gamma
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D\H\chi
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D\H\omega
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D\H\psi
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D\H
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\D
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\B\E
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\B\E\alpha
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\B\E\beta
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\B\F
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\B\lambda
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\B
I: 2 2 jrandom
 svn-test-work\working_copies\merge_tests-1\A\mu
I: 1 1 jrandom
 svn-test-work\working_copies\merge_tests-1\A\C
I: bar
]]]

Where's that "I" output on the console coming from? Log statements should
have been redirected to logfiles.

Then, when I look at fails.log and tests.log, they are full of these
statements:

[[[
  File "C:\research\svn\dev\subversion-1.14.0-rc2\build\run_tests.py", line
899, in _run_py_test
    test_selection=test_nums)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 2584, in execute_tests
    options.srcdir, progress_func)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 2028, in _internal_run_tests
    if run_one_test(testnum, test_list) == 1:
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 2002, in run_one_test
    exit_code = TestRunner(test_list[n], n).run()
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 1931, in run
    rc = self.pred.run(sandbox)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\testcase.py",
line 258, in run
    return self._delegate.run(sandbox)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\testcase.py",
line 178, in run
    result = self.func(sandbox)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\merge_tests.py",
line 3307, in merge_ignore_eolstyle
    '-x', '--ignore-eol-style', wc_dir)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\actions.py",
line 1297, in run_and_verify_merge2
    check_props, keep_eol_style=keep_eol_style, **kw)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\actions.py",
line 910, in verify_update
    run_and_verify_status(wc_dir_name, status_tree)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\actions.py",
line 1588, in run_and_verify_status
    wc_dir_name)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 818, in run_svn
    *(_with_auth(_with_config_dir(varargs))))
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 445, in run_command
    None, *varargs)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 653, in run_command_stdin
    logger.info(x.rstrip())
Message: 'Status against revision: 3'
Arguments: ()
--- Logging error ---
Traceback (most recent call last):
  File "C:\Python37\lib\logging\__init__.py", line 1028, in emit
    stream.write(msg + self.terminator)
OSError: [WinError 6] De ingang is ongeldig
Call stack:
  File "win-tests.py", line 1126, in <module>
    failed = th.run(tests_to_run)
  File "C:\research\svn\dev\subversion-1.14.0-rc2\build\run_tests.py", line
591, in run
    failed = self._run_local_schedulers(testlist)
  File "C:\research\svn\dev\subversion-1.14.0-rc2\build\run_tests.py", line
537, in _run_local_schedulers
    failed = self._run_test(testcase, count, testcount) or failed
  File "C:\research\svn\dev\subversion-1.14.0-rc2\build\run_tests.py", line
965, in _run_test
    failed = testcase(progabs, progdir, progbase, test_nums, dots_needed)
  File "C:\research\svn\dev\subversion-1.14.0-rc2\build\run_tests.py", line
899, in _run_py_test
    test_selection=test_nums)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 2584, in execute_tests
    options.srcdir, progress_func)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 2028, in _internal_run_tests
    if run_one_test(testnum, test_list) == 1:
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 2002, in run_one_test
    exit_code = TestRunner(test_list[n], n).run()
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 1931, in run
    rc = self.pred.run(sandbox)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\testcase.py",
line 258, in run
    return self._delegate.run(sandbox)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\testcase.py",
line 178, in run
    result = self.func(sandbox)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\merge_tests.py",
line 3307, in merge_ignore_eolstyle
    '-x', '--ignore-eol-style', wc_dir)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\actions.py",
line 1297, in run_and_verify_merge2
    check_props, keep_eol_style=keep_eol_style, **kw)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\actions.py",
line 910, in verify_update
    run_and_verify_status(wc_dir_name, status_tree)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\actions.py",
line 1605, in run_and_verify_status
    actual_entries = wc.State.from_entries(wc_dir_name)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\wc.py",
line 736, in from_entries
    dump_data = svntest.main.run_entriesdump_tree(base)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 925, in run_entriesdump_tree
    '--tree-dump', path)
  File
"C:\research\svn\dev\subversion-1.14.0-rc2\subversion\tests\cmdline\svntest\main.py",
line 583, in spawn_process
    ' '.join([_quote_arg(x) for x in varargs])))
Message: 'CMD: entries-dump.exe --tree-dump
svn-test-work\\working_copies\\merge_tests-33'
Arguments: ()
]]]

Any idea?

-- 
Johan
Received on 2020-04-22 22:54:09 CEST

This is an archived mail posted to the Subversion Dev mailing list.