Comparing stevenvdb:main...irods:main · stevenvdb/python-irodsclient

Commits on Oct 3, 2025

  1. Configuration menu

    Browse the repository at this point in the history

Commits on Nov 24, 2025

  1. [irods#697] Github workflows for running PRC tests

    Co-authored-by: d-w-moore <dmoore@renci.org>
    
    Includes a docker compose configuration in which the PRC test suite
    can be run in a way representative of typical operational use, and the
    version of iRODS server and python interpreter that we install are also easily
    reconfigurable.
    
    Additionally, this affords us the opportunity to run the test suite on a client
    node all its own, the iRODS server being reachable only via the network.
    Configuration menu

    Browse the repository at this point in the history

  2. [irods#502] test harness and container-based tests

    A new test harness is introduced in which we construct a new
    container (using either Docker or podman) for each test program
    we run. This allows full customization of the container
    environment for the particular needs of each test.
    
    Accordingly, also included with the Github workflows is a
    full run of the PRC test suite with the iRODS server and
    catalog DB server running in the same container as the client.
    
    In the process of putting old tests through new rigors, faults
    were found and corrected in some of those tests.
    Configuration menu

    Browse the repository at this point in the history

  3. [irods#781] modify access_time test with guaranteed passing assertions

    The test now fetches the modify and access timestamps during the interval
    in which the replica is open, then asserts those timestamps as equal to
    each other, as well as that they are greater than a system-generated
    datetime of about two seconds prior.  (This is due to some timestamps
    including a microseconds count whereas others do not.)
    Configuration menu

    Browse the repository at this point in the history

  4. Configuration menu

    Browse the repository at this point in the history

  5. Configuration menu

    Browse the repository at this point in the history

  6. Configuration menu

    Browse the repository at this point in the history

Commits on Jan 30, 2026

  1. Configuration menu

    Browse the repository at this point in the history

  2. Configuration menu

    Browse the repository at this point in the history

Commits on Feb 4, 2026

  1. [irods#722] fix segfault and hung threads when signals abort a parall…

    …el transfer.
    
    We now provide the abort_parallel_transfers() function, which can be used
    to shut down parallel PUTs and GETs in an orderly way.  For its usage, see
    the README.md.
    
    The segmentation faults were not successfully duplicated.  I believe they are
    likely to have happened when quitting a main process that spawned daemon
    threads.  Note that in 3.9 (the minimum Python interpreter we now support),
    concurrent.futures no longer uses daemon threads, and this futures mechanism
    is what underlies parallel transfers in the Python client.
    
    Note that the use of os._exit, heretofore the simple application's best
    resort for exiting while aborting all unfinished threads (daemonic or not),
    is now best supplanted by the builtin exit function or sys.exit, preceded
    of course by the appropriate call(s) to abort_parallel_transfers.
    Configuration menu

    Browse the repository at this point in the history

Commits on Feb 6, 2026

  1. [irods#709] preserve options when chaining object calls on obj.metadata.

    (These calls are used to alter option values such as admin, timestamps,
    etc.)
    
    The problem in a nutshell: if d_input is the iRODSMetaCollection object
    referenced by obj.metadata, then d_output = d_input(opt1 = val1)(opt2 = val2)
    should not yield an object with opt1 returned to its default value.
    
    With the present fix, we can now expect the d_output object to be the same as
    if we'd computed it using the expression: d_input(opt1=val1, opt2=val2).
    Configuration menu

    Browse the repository at this point in the history

Commits on Feb 24, 2026

  1. Configuration menu

    Browse the repository at this point in the history

Commits on Mar 2, 2026

  1. Configuration menu

    Browse the repository at this point in the history

Commits on Mar 4, 2026

  1. Configuration menu

    Browse the repository at this point in the history

  2. Configuration menu

    Browse the repository at this point in the history

Commits on Mar 16, 2026

  1. Configuration menu

    Browse the repository at this point in the history

  2. Configuration menu

    Browse the repository at this point in the history

Commits on Mar 18, 2026

  1. Configuration menu

    Browse the repository at this point in the history

  2. Configuration menu

    Browse the repository at this point in the history

  3. Configuration menu

    Browse the repository at this point in the history