Add dependency checks for ClearCase.

Review Request #12546 — Created Aug. 18, 2022 and submitted

Information

RBTools
release-4.x

Reviewers

This updates ClearCaseClient to add formal support for dependency
checks. ClearCaseClient.check_dependencies() now determines if
cleartool is installed, and no longer invokes it upon instantiation of
the class.

The ClearCaseClient.host_properties attribute used to be set when the
client was instantiated. Now it's a property that retrieves the
information upon first access, performing a dependency check if needed
(and emitting a warning if one was not already performed).

Unit tests have been updated to include new dependency-related tests.
Since the existing ClearCase tests are designed to use spies to simulate
results, rather than depending on cleartool for test runs, those have
been updated to turn off dependency checks when setting up a client.

Unit tests pass on Python 3.7-3.11.

Summary ID
Add dependency checks for ClearCase.
This updates `ClearCaseClient` to add formal support for dependency checks. `ClearCaseClient.check_dependencies()` now determines if `cleartool` is installed, and no longer invokes it upon instantiation of the class. The `ClearCaseClient.host_properties` attribute used to be set when the client was instantiated. Now it's a property that retrieves the information upon first access, performing a dependency check if needed (and emitting a warning if one was not already performed). Unit tests have been updated to include new dependency-related tests. Since the existing ClearCase tests are designed to use spies to simulate results, rather than depending on `cleartool` for test runs, those have been updated to turn off dependency checks when setting up a client.
202d156df859997e34ed229df16d6d3d90cbc67a
Description From Last Updated

Given that this can raise and we're not catching it here, should we include "Raises" in the method docs?

daviddavid
david
  1. 
      
  2. rbtools/clients/clearcase.py (Diff revision 1)
     
     
    Show all issues

    Given that this can raise and we're not catching it here, should we include "Raises" in the method docs?

  3. 
      
chipx86
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.x (64b2c74)