Edgewall Software
Modify

Opened 8 years ago

Closed 4 years ago

#12450 closed defect (wontfix)

Test failures on Windows in tracopt.versioncontrol.git.tests

Reported by: Ryan J Ollos Owned by:
Priority: normal Milestone:
Component: plugin/git Version:
Severity: normal Keywords: tests
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description (last modified by Ryan J Ollos)

On both 1.0-stable and trunk:

======================================================================
ERROR: test_sync_too_many_merges (tracopt.versioncontrol.git.tests.git_fs.GitCac
hedRepositoryTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\tests\git_fs.py", line 581, in test_sync_too_many_merges
    repos.sync()
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\git_fs.py", line 138, in sync
    cset = repos.get_changeset(rev)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\git_fs.py", line 560, in get_changeset
    return GitChangeset(self, rev)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\git_fs.py", line 782, in __init__
    msg, props = repos.git.read_commit(sha)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\PyGIT.py", line 831, in read_commit
    raw = unicode(raw, self.get_commit_encoding(), 'replace')
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\PyGIT.py", line 648, in get_commit_encoding
    self.repo.config('--get', 'i18n.commitEncoding').strip() or \
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\PyGIT.py", line 141, in __execute
    stdout_data, stderr_data = p.communicate()
  File "c:\python27-x64\Lib\subprocess.py", line 799, in communicate
    return self._communicate(input)
  File "c:\python27-x64\Lib\subprocess.py", line 1023, in _communicate
    args=(self.stdout, stdout))
  File "c:\python27-x64\Lib\threading.py", line 680, in __init__
    self.__started = Event()
  File "c:\python27-x64\Lib\threading.py", line 550, in Event
    return _Event(*args, **kwargs)
  File "c:\python27-x64\Lib\threading.py", line 563, in __init__
    self.__cond = Condition(Lock())
  File "c:\python27-x64\Lib\threading.py", line 253, in Condition
    return _Condition(*args, **kwargs)
  File "c:\python27-x64\Lib\threading.py", line 261, in __init__
    _Verbose.__init__(self, verbose)
RuntimeError: maximum recursion depth exceeded in __instancecheck__

======================================================================
ERROR: test_sync_too_many_merges (tracopt.versioncontrol.git.tests.git_fs.GitCac
hedRepositoryTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\tests\git_fs.py", line 111, in tearDown
    rmtree(self.repos_path)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 109, in rmtree
    shutil.rmtree(path, onerror=onerror)
  File "c:\python27-x64\Lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\python27-x64\Lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\python27-x64\Lib\shutil.py", line 252, in rmtree
    onerror(os.remove, fullname, sys.exc_info())
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 96, in onerror
    function(path)
WindowsError: [Error 5] Access is denied: u'c:\\users\\ryanol~1\\appdata\\local\
\temp\\trac-gitrepos-osxhpv\\objects\\pack\\pack-a7f586d90bd005eeaba49e459c29777
f62fcf408.idx'

----------------------------------------------------------------------
Ran 1531 tests in 42.814s

FAILED (errors=2)

This issue was also reported in #12312.

Attachments (0)

Change History (11)

comment:1 by Ryan J Ollos, 8 years ago

Keywords: tests added

Additionally, I see these failures only on the trunk:

======================================================================
ERROR: test_from_author (trac.ticket.tests.notification.NotificationTestCase)
Using the reporter or change author as the notification sender
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\ticket\test
s\notification.py", line 531, in test_from_author
    ticket.save_changes('Test User <test@example.com>', 'Some changes')
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\ticket\mode
l.py", line 380, in save_changes
    old_db_values.get(name), db_values.get(name)))
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\util.py"
, line 128, in execute
    cursor.execute(query, params if params is not None else [])
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\util.py"
, line 61, in execute
    r = self.cursor.execute(sql_escape_percent(sql), args)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 87, in execute
    result = PyFormatCursor.execute(self, *args)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 63, in execute
    args or [])
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 54, in _rollback_on_error
    return function(self, *args, **kwargs)
IntegrityError: columns ticket, time, field are not unique

======================================================================
ERROR: test_template_data_changes_for_time_field (trac.ticket.tests.web_ui.Ticke
tModuleTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\ticket\test
s\web_ui.py", line 336, in test_template_data_changes_for_time_field
    t.save_changes('anonymous')
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\ticket\mode
l.py", line 380, in save_changes
    old_db_values.get(name), db_values.get(name)))
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\util.py"
, line 128, in execute
    cursor.execute(query, params if params is not None else [])
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\util.py"
, line 61, in execute
    r = self.cursor.execute(sql_escape_percent(sql), args)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 87, in execute
    result = PyFormatCursor.execute(self, *args)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 63, in execute
    args or [])
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 54, in _rollback_on_error
    return function(self, *args, **kwargs)
IntegrityError: columns ticket, time, field are not unique

This was seen in an environment an in-memory SQLite database and no optional dependencies installed (virtual environment with Trac and Genshi only).

Last edited 8 years ago by Ryan J Ollos (previous) (diff)

in reply to:  1 ; comment:2 by Jun Omae, 8 years ago

Replying to Ryan J Ollos:

IntegrityError: columns ticket, time, field are not unique

Are you using Windows 7? Windows 7 has still has low-resolution system time issue. GetSystemTimePreciseAsFileTime() is available since Windows 8 and Windows Server 2012. See comment:2:ticket:12311.

in reply to:  2 comment:3 by Ryan J Ollos, 8 years ago

Replying to Jun Omae:

Are you using Windows 7? Windows 7 has still has low-resolution system time issue. GetSystemTimePreciseAsFileTime() is available since Windows 8 and Windows Server 2012. See comment:2:ticket:12311.

Yeah, it's Windows 7. That explains why I didn't see the error on every execution. I guess we can ignore the comment:1 errors in that case.

I plan to move to Windows 10 soon, but my company is lagging so I have to do development in a Windows 7 VM still. I don't have enough room on the SSD of my Mac Pro to also store a Windows 10 VM. Maybe I'll try running a Windows 10 VM off an external disk.

comment:4 by Ryan J Ollos, 8 years ago

Milestone: 1.0.111.0.12

comment:5 by Ryan J Ollos, 8 years ago

Owner: set to Ryan J Ollos
Status: newassigned

comment:6 by Ryan J Ollos, 8 years ago

Description: modified (diff)

comment:7 by Ryan J Ollos, 8 years ago

Milestone: 1.0.12next-stable-1.0.x

python setup.py test and python setup.py test -s trac.test.suite show the failure, however the following do not show the failure:

  • python trac\test.py
  • python -m trac.test
  • python tracopt\versioncontrol\git\tests\git_fs.py
  • python -m tracopt.versioncontrol.git.tests.git_fs
  • python setup.py test -s tracopt.versioncontrol.git.tests.git_fs.suite

comment:8 by Ryan J Ollos, 8 years ago

Owner: Ryan J Ollos removed
Status: assignednew

comment:9 by Ryan J Ollos, 7 years ago

Milestone: next-stable-1.0.xnext-stable-1.2.x

Moved ticket assigned to next-stable-1.0.x since maintenance of 1.0.x is coming to a close. Please move the ticket back if it's critical to fix on 1.0.x.

comment:10 by Ryan J Ollos, 4 years ago

Milestone: next-stable-1.2.xnext-stable-1.4.x

comment:11 by Ryan J Ollos, 4 years ago

Milestone: next-stable-1.4.x
Resolution: wontfix
Status: newclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.