Skip to content

Conversation

@lams12
Copy link

@lams12 lams12 commented Aug 27, 2025

This updates the check for ctx to be explicit. Ctx is also of type DurableHandleV2Response which has an attribute named timeout rather than durable_timeout.

Before:

root@DTRDUC3599532:~/pike/src [master %] # PIKE_SERVER="10.224.9.239" PIKE_SHARE="ifs" PIKE_CREDS=root%a python3 -m unittest pike.test.durable.DurableHandleTest.test_durable_v2_invalidate
F
======================================================================
FAIL: test_durable_v2_invalidate (pike.test.durable.DurableHandleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/pike/src/pike/test/durable.py", line 331, in test_durable_v2_invalidate
    self.durable_invalidate_test(0)
  File "/root/pike/src/pike/test/durable.py", line 158, in durable_invalidate_test
    handle3 = self.create(chan3, tree3, durable=handle1)
  File "/usr/lib64/python3.6/contextlib.py", line 88, in __exit__
    next(self.gen)
  File "/root/pike/src/pike/test/__init__.py", line 546, in assert_error
    raise self.failureException('No error raised when "%s" expected' % status)
AssertionError: No error raised when "STATUS_OBJECT_NAME_NOT_FOUND" expected

----------------------------------------------------------------------
Ran 1 test in 0.144s

FAILED (failures=1)
root@DTRDUC3599532:~/pike/src [master %] # PIKE_SERVER="10.224.9.239" PIKE_SHARE="ifs" PIKE_CREDS=root%a python3 -m unittest pike.test.durable.DurableHandleTest.test_durable_reconnect_v2_fails_client_guid
F
======================================================================
FAIL: test_durable_reconnect_v2_fails_client_guid (pike.test.durable.DurableHandleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/pike/src/pike/test/durable.py", line 324, in test_durable_reconnect_v2_fails_client_guid
    self.durable_reconnect_fails_client_guid_test(0)
  File "/root/pike/src/pike/test/durable.py", line 117, in durable_reconnect_fails_client_guid_test
    handle2 = self.create(chan2, tree2, durable=handle1)
  File "/usr/lib64/python3.6/contextlib.py", line 88, in __exit__
    next(self.gen)
  File "/root/pike/src/pike/test/__init__.py", line 546, in assert_error
    raise self.failureException('No error raised when "%s" expected' % status)
AssertionError: No error raised when "STATUS_OBJECT_NAME_NOT_FOUND" expected

----------------------------------------------------------------------
Ran 1 test in 0.116s

FAILED (failures=1)
 root@DTRDUC3596981:~ # PIKE_SERVER="10.224.9.239" PIKE_SHARE="ifs" PIKE_CREDS=root%a python3 -m unittest pike.test.persistent
FFFFFFFF
======================================================================
FAIL: test_buffer_too_small (pike.test.persistent.Persistent)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib64/python3.6/site-packages/pike/test/persistent.py", line 233, in test_buffer_too_small
    handle1 = self.create_persistent()
  File "/usr/local/lib64/python3.6/site-packages/pike/test/persistent.py", line 65, in create_persistent
    self.assertEqual(handle.durable_flags, smb2.SMB2_DHANDLE_FLAG_PERSISTENT)
AssertionError: 0 != SMB2_DHANDLE_FLAG_PERSISTENT
....

After:

root@DTRDUC3599532:~/pike/src [BR_SLAM_DH] # PIKE_SERVER="10.224.9.239" PIKE_SHARE="ifs" PIKE_CREDS=root%a python3 -m unittest pike.test.durable.DurableHandleTest.test_durable_v2_invalidate
.
----------------------------------------------------------------------
Ran 1 test in 0.158s

OK
root@DTRDUC3599532:~/pike/src [BR_SLAM_DH] # PIKE_SERVER="10.224.9.239" PIKE_SHARE="ifs" PIKE_CREDS=root%a python3 -m unittest pike.test.durable.DurableHandleTest.test_durable_reconnect_v2_fails_client_guid
.
----------------------------------------------------------------------
Ran 1 test in 0.144s

OK
root@DTRDUC3599532:~/pike/src [BR_SLAM_DH] # PIKE_SERVER="10.224.9.239" PIKE_SHARE="ifs" PIKE_CREDS=root%a python3 -m unittest pike.test.persistent
........
----------------------------------------------------------------------
Ran 8 tests in 130.050s

OK

New test:

root@DTRDUC3599532:~/pike/src [BR_SLAM_DH] # PIKE_SERVER="10.224.9.239" PIKE_SHARE="ifs" PIKE_CREDS=root%a python3 -m unittest pike.test.durable.DurableHandleTest.test_durable_v2_timer
.
----------------------------------------------------------------------
Ran 1 test in 180.231s

OK

@lams12 lams12 force-pushed the BR_SLAM_DH branch 2 times, most recently from e5f3c7e to bed35ec Compare August 28, 2025 00:02
@lams12 lams12 marked this pull request as ready for review August 28, 2025 00:34
Copy link

@marchhare09 marchhare09 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still don't know how this worked before. LGTM.

Add durable handle v2 test case for timer expiration
@lams12
Copy link
Author

lams12 commented Aug 28, 2025

No code changes were made in the latest push. Just squashing the commits.

@lams12
Copy link
Author

lams12 commented Aug 28, 2025

cc: @isi-adas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants