OMPT 5.0 cleanup, bug fixes, and CI maintenance#438
OMPT 5.0 cleanup, bug fixes, and CI maintenance#438
Conversation
upload-pages-artifact@v4 internally pins upload-artifact@v4.6.2, which caused a transient artifact visibility issue with deploy-pages. Replace with explicit tar + upload-artifact@v7 for consistency with the rest of the workflow. Temporarily allow fix-doc-deployment branch to deploy docs for testing.
Revert manual tar + upload-artifact@v7 back to upload-pages-artifact@v4; the original failure was a transient issue, not an action incompatibility. Keep fix-doc-deployment branch in deploy conditions for testing.
Upstream TAU removed TR4/TR6/TR7 differentiation in favor of OMPT 5.0
(commit 5a936a3b, September 2021). Remove the corresponding dead code
paths from TAU Commander: TR4/TR6 source URL rewriting, configure flags,
makefile tags, and runtime environment settings.
Add omp-tools.h to OMPT verification headers. Work around a TAU bug
where its configure script does not propagate the OMPT include path
(-I<ompt_prefix>/include) to generated Makefiles when using
-ompt=<prefix>, causing omp-tools.h to not be found during compilation.
The workaround injects the missing -I flag via TAU's -useropt configure
option. Once TAU's configure is fixed upstream to handle this itself,
the useropts.append('-I%s' % ompt.include_path) block in configure()
can be removed.
Address pylint issues: superfluous-parens, line-too-long, use-implicit-booleaness-not-len, unnecessary-lambda-assignment, unspecified-encoding, logging-fstring-interpolation, unnecessary-comprehension, and a logging-too-few-args bug where LOGGER.warning was missing its format argument (target.py:168).
…lint test compat - Initialize self.srcs and self.srcs_avail in Installation.__init__ else branch so mirror fallback doesn't crash with AttributeError when src is a URL/path or subclass keyword like 'nightly' - Set self.srcs_avail in TauInstallation after resolving 'nightly' to the actual URL so error messages show the resolved download location - Replace broken shutil.rmtree(TemporaryDirectory) with .cleanup() in setup.py Test.run_tests - Update test_pylint.py for pylint >=2.14: accept PYLINTHOME migration warnings in stderr, handle missing Report section in output gracefully
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## unstable #438 +/- ##
============================================
- Coverage 73.34% 72.76% -0.59%
============================================
Files 171 171
Lines 10322 10370 +48
Branches 1642 1653 +11
============================================
- Hits 7571 7546 -25
- Misses 2220 2286 +66
- Partials 531 538 +7
Flags with carried forward coverage won't be shown. Click here to find out more.
|
There was a problem hiding this comment.
Pull request overview
This PR modernizes OMPT handling around OMPT 5.0, fixes a couple of runtime/test cleanup bugs, and refreshes CI/pylint-related maintenance to keep the project building and linting cleanly.
Changes:
- Remove legacy OMPT TR4/TR6 paths and update OMPT/TAU integration (headers + OMPT include-path workaround).
- Fix installation-source bookkeeping (
srcs/srcs_avail) to prevent mirror-fallback crashes for non-downloadsources. - Update test/CI maintenance: fix
TemporaryDirectorycleanup, relax pylint stderr expectations, and update CI badge/docs.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Fixes test sandbox cleanup by using TemporaryDirectory.cleanup() instead of deleting the object via rmtree. |
| packages/taucmdr/tests/test_pylint.py | Makes pylint tests tolerant of newer pylint stderr warnings and missing “Report” sections. |
| packages/taucmdr/model/target.py | Fixes a real logging-too-few-args warning and removes legacy TR4/TR6 options from --ompt help text. |
| packages/taucmdr/cli/arguments.py | Updates CLI parsing to stop treating TR4/TR6 as “truthy” package-source keywords. |
| packages/taucmdr/cf/software/tau_installation.py | Removes TR4/TR6 logic, improves readability, and adds an OMPT include-path workaround for generated Makefiles. |
| packages/taucmdr/cf/software/ompt_installation.py | Adds omp-tools.h verification and rejects TR4/TR6 sources with a clearer error. |
| packages/taucmdr/cf/software/installation.py | Initializes self.srcs/self.srcs_avail for non-download sources to avoid AttributeError during fallback. |
| docs/continuous_integration.rst | Updates CI badge URL/branch reference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…/TR6 at CLI - Use shutil.rmtree(obj.name, ignore_errors=True) instead of obj.cleanup() so cleanup failures in the finally block don't mask test exceptions - Catch download-tr4/download-tr6 at CLI parse time with a clear argparse error pointing users to 'download' instead, rather than letting them fall through to a confusing "valid path or URL required" message
Adopt the approach from PR #390 (by Samuel Khuvis): model attribute definitions can include a 'deprecated' key mapping values to (deprecated_version, removed_version) tuples keyed to upstream TAU versions. Experiment.verify() checks all component attributes against the installed TAU version and raises ConfigurationError for removed values or logs a warning for deprecated ones. Applied to ompt_source: download-tr4 and download-tr6 marked as deprecated in TAU 2.29.1 and removed in TAU 2.32. Also adds TauInstallation.get_tau_version() for reading the upstream TAU version from installed headers, and stores tau_version in experiment records. Bug fixes vs original PR #390: Python 3 .items(), correct variable references, proper error handling in get_tau_version(), returns version tuple for comparison. Co-authored-by: Samuel Khuvis <samuel.khuvis@gmail.com>
When running under pytest, the logging plugin adds handlers to the root logger before any test module is imported. The guard 'if not _ROOT_LOGGER.handlers' then skips the entire initialization block, leaving _STDOUT_HANDLER undefined as a module attribute. Tests that redirect logger output via logger._STDOUT_HANDLER.stream then fail with AttributeError. Fix: hoist _STDOUT_HANDLER creation to unconditional module scope. The handler object is always created; it is still only added to the root logger when no handlers are present.
… logger" This reverts commit 7d8d879.
Adds encoding='utf-8' to the open() call in get_tau_version() for consistency with the other encoding fixes in this branch and to silence the pylint unspecified-encoding warning.
Split version-gated deprecation checking out of verify() into a new verify_post_install(tau_ver) method. verify() is now a pure pre-flight compatibility check that requires no TAU installation. configure() calls verify_post_install() directly with the just-installed version rather than writing it to the DB and reading it back via verify(). Also fixes a missing encoding='utf-8' in get_tau_version().
Pylint OutputReport8865 statements analysed. Statistics by type
21052 lines have been analyzed Raw metrics
Duplication
Messages by category
Messages
Your code has been rated at 9.54/10 Per-file output (click to expand)************* Module taucmdr
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/__init__.py:103:4: C0415: Import outside toplevel (platform) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/__init__.py:104:4: C0415: Import outside toplevel (socket) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/__init__.py:105:4: C0415: Import outside toplevel (datetime.datetime) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/__init__.py:106:4: C0415: Import outside toplevel (taucmdr.logger) (import-outside-toplevel)
************* Module taucmdr.progress
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/progress.py:45:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/progress.py:130:8: C0415: Import outside toplevel (taucmdr.util) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/progress.py:142:8: C0415: Import outside toplevel (taucmdr.util) (import-outside-toplevel)
************* Module taucmdr.error
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/error.py:123:20: R1734: Consider using [] instead of list() (use-list-literal)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/error.py:169:8: C0415: Import outside toplevel (taucmdr.cli.commands.project.create.COMMAND) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/error.py:170:8: C0415: Import outside toplevel (taucmdr.cli.commands.project.select.COMMAND) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/error.py:171:8: C0415: Import outside toplevel (taucmdr.cli.commands.project.list.COMMAND) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/error.py:183:8: C0415: Import outside toplevel (taucmdr.cli.commands.select.COMMAND) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/error.py:184:8: C0415: Import outside toplevel (taucmdr.cli.commands.experiment.create.COMMAND) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/error.py:185:8: C0415: Import outside toplevel (taucmdr.cli.commands.dashboard.COMMAND) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/error.py:186:8: C0415: Import outside toplevel (taucmdr.cli.commands.project.list.COMMAND) (import-outside-toplevel)
************* Module taucmdr.util
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:80:12: W0622: Redefining built-in 'dir' (redefined-builtin)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:82:12: W0612: Unused variable 'src' (unused-variable)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:110:11: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:144:0: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:207:15: C3001: Lambda expression assigned to a variable. Define a function using the "def" keyword instead. (unnecessary-lambda-assignment)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:263:49: W0612: Unused variable 'progress_bar' (unused-variable)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:293:19: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:328:4: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:329:14: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:378:15: C0103: Variable name "v" doesn't conform to '[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:379:12: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:391:12: C0103: Variable name "v" doesn't conform to '[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:497:4: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:507:21: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:507:21: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:561:15: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:633:15: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:683:8: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/util.py:779:11: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
************* Module taucmdr.logger
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/logger.py:112:8: C0415: Import outside toplevel (ctypes.windll, ctypes.create_string_buffer) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/logger.py:120:8: C0415: Import outside toplevel (struct) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/logger.py:138:8: C0415: Import outside toplevel (subprocess) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/logger.py:139:15: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/logger.py:143:15: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/logger.py:167:12: C0415: Import outside toplevel (fcntl) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/logger.py:168:12: C0415: Import outside toplevel (termios) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/logger.py:169:12: C0415: Import outside toplevel (struct) (import-outside-toplevel)
************* Module taucmdr.cf.objects
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/objects.py:66:0: W0613: Unused argument 'args' (unused-argument)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/objects.py:66:0: W0613: Unused argument 'kwargs' (unused-argument)
************* Module taucmdr.cf.platforms
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/platforms.py:77:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/platforms.py:79:20: R1724: Unnecessary "elif" after "continue", remove the leading "el" from "elif" (no-else-continue)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/platforms.py:125:16: C0415: Import outside toplevel (platform) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/platforms.py:179:16: C0415: Import outside toplevel (platform) (import-outside-toplevel)
************* Module taucmdr.cf.compiler.__init__
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/compiler/__init__.py:552:0: C0301: Line too long (127/120) (line-too-long)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/compiler/__init__.py:783:0: W0311: Bad indentation. Found 14 spaces, expected 16 (bad-indentation)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/compiler/__init__.py:784:0: W0311: Bad indentation. Found 18 spaces, expected 20 (bad-indentation)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/compiler/__init__.py:785:0: W0311: Bad indentation. Found 18 spaces, expected 20 (bad-indentation)
************* Module taucmdr.cf.compiler
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/compiler/__init__.py:139:8: C0415: Import outside toplevel (taucmdr.cf.platforms.HOST_TAU_MAGIC) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/compiler/__init__.py:298:8: R1702: Too many nested blocks (6/5) (too-many-nested-blocks)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/compiler/__init__.py:743:13: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/compiler/__init__.py:860:4: W0221: Number of parameters was 1 in 'KeyedRecord.keys' and is now 1 in overriding 'InstalledCompilerSet.keys' method (arguments-differ)
************* Module taucmdr.cf.software.libunwind_installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/libunwind_installation.py:73:4: W0221: Number of parameters was 3 in 'AutotoolsInstallation.configure' and is now 2 in overriding 'LibunwindInstallation.configure' method (arguments-differ)
************* Module taucmdr.cf.software.libdwarf_installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/libdwarf_installation.py:53:4: W0221: Number of parameters was 3 in 'AutotoolsInstallation.configure' and is now 2 in overriding 'LibdwarfInstallation.configure' method (arguments-differ)
************* Module taucmdr.cf.software.tau_installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:590:39: R1719: The if expression can be replaced with 'bool(test)' (simplifiable-if-expression)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:891:16: C0103: Variable name "g" doesn't conform to '[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:895:20: C0103: Variable name "g" doesn't conform to '[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:992:8: W1201: Use lazy % formatting in logging functions (logging-not-lazy)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:1073:27: W0718: Catching too general exception Exception (broad-exception-caught)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:1078:31: R1729: Use a generator instead 'all(os.path.exists(path[1]) for path in err.args[0])' (use-a-generator)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:1028:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:1275:23: C0103: Argument name "x" doesn't conform to '[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:1281:15: R1717: Consider using a dictionary comprehension (consider-using-dict-comprehension)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:1283:4: W0237: Parameter 'opts' has been renamed to 'compiler' in overriding 'TauInstallation.compiletime_config' method (arguments-renamed)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:1283:4: W0237: Parameter 'env' has been renamed to 'opts' in overriding 'TauInstallation.compiletime_config' method (arguments-renamed)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:1811:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:2000:51: C0103: Variable name "fh" doesn't conform to '[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/tau_installation.py:167:0: R0904: Too many public methods (28/25) (too-many-public-methods)
************* Module taucmdr.cf.software.libelf_installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/libelf_installation.py:63:0: C0301: Line too long (148/120) (line-too-long)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/libelf_installation.py:64:0: C0301: Line too long (147/120) (line-too-long)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/libelf_installation.py:61:4: W0221: Number of parameters was 3 in 'AutotoolsInstallation.configure' and is now 2 in overriding 'LibelfInstallation.configure' method (arguments-differ)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/libelf_installation.py:34:0: W0611: Unused import os (unused-import)
************* Module taucmdr.cf.software.gotcha_installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/gotcha_installation.py:62:4: W0246: Useless parent or super() delegation in method 'make' (useless-parent-delegation)
************* Module taucmdr.cf.software.papi_installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/papi_installation.py:73:0: C0303: Trailing whitespace (trailing-whitespace)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/papi_installation.py:81:4: W0221: Number of parameters was 3 in 'AutotoolsInstallation.configure' and is now 2 in overriding 'PapiInstallation.configure' method (arguments-differ)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/papi_installation.py:82:8: C0103: Variable name "cc" doesn't conform to '[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
************* Module taucmdr.cf.software.pdt_installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/pdt_installation.py:224:4: W0221: Number of parameters was 3 in 'AutotoolsInstallation.configure' and is now 2 in overriding 'PdtInstallation.configure' method (arguments-differ)
************* Module taucmdr.cf.software.binutils_installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/binutils_installation.py:67:4: W0221: Number of parameters was 3 in 'AutotoolsInstallation.configure' and is now 2 in overriding 'BinutilsInstallation.configure' method (arguments-differ)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/binutils_installation.py:68:8: C0415: Import outside toplevel (taucmdr.cf.platforms.DARWIN, taucmdr.cf.platforms.IBM_BGP, taucmdr.cf.platforms.IBM_BGQ, taucmdr.cf.platforms.INTEL_KNC) (import-outside-toplevel)
************* Module taucmdr.cf.software.installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/installation.py:239:8: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/installation.py:400:8: C0415: Import outside toplevel (taucmdr.cf.software) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/installation.py:433:12: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise)
************* Module taucmdr.cf.software.scorep_installation
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/software/scorep_installation.py:208:4: W0221: Number of parameters was 3 in 'AutotoolsInstallation.configure' and is now 2 in overriding 'ScorepInstallation.configure' method (arguments-differ)
************* Module taucmdr.cf.storage.levels
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/levels.py:43:0: W0611: Unused import os (unused-import)
************* Module taucmdr.cf.storage.local_file
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/local_file.py:253:0: C0325: Unnecessary parens after '=' keyword (superfluous-parens)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/local_file.py:72:27: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/local_file.py:72:27: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/local_file.py:199:4: W0236: Method 'prefix' was expected to be 'method', found it instead as 'property' (invalid-overridden-method)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/local_file.py:227:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
************* Module taucmdr.cf.storage.sqlite3_project
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_project.py:59:8: C0415: Import outside toplevel (taucmdr.cf.storage.levels.USER_STORAGE) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_project.py:69:12: W0621: Redefining name 'err' from outer scope (line 62) (redefined-outer-name)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_project.py:73:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_project.py:105:8: C0415: Import outside toplevel (taucmdr.cf.storage.levels.USER_STORAGE, taucmdr.cf.storage.levels.SYSTEM_STORAGE) (import-outside-toplevel)
************* Module taucmdr.cf.storage.storage_dispatch
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/storage_dispatch.py:156:4: W0236: Method 'prefix' was expected to be 'method', found it instead as 'property' (invalid-overridden-method)
************* Module taucmdr.cf.storage.sqlite3_file
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_file.py:109:16: W1203: Use lazy % formatting in logging functions (logging-fstring-interpolation)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_file.py:133:12: W1203: Use lazy % formatting in logging functions (logging-fstring-interpolation)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_file.py:480:8: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_file.py:513:8: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_file.py:554:8: R1720: Unnecessary "elif" after "raise", remove the leading "el" from "elif" (no-else-raise)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_file.py:585:8: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/sqlite3_file.py:687:8: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return)
************* Module taucmdr.cf.storage.project
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/project.py:79:8: C0415: Import outside toplevel (taucmdr.cf.storage.levels.USER_STORAGE) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/project.py:89:12: W0621: Redefining name 'err' from outer scope (line 82) (redefined-outer-name)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/project.py:93:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cf/storage/project.py:125:8: C0415: Import outside toplevel (taucmdr.cf.storage.levels.USER_STORAGE, taucmdr.cf.storage.levels.SYSTEM_STORAGE) (import-outside-toplevel)
************* Module taucmdr.model.application
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/application.py:58:4: C0415: Import outside toplevel (taucmdr.model.project.Project) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/application.py:59:4: C0415: Import outside toplevel (taucmdr.model.target.Target) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/application.py:60:4: C0415: Import outside toplevel (taucmdr.model.measurement.Measurement) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/application.py:61:4: C0415: Import outside toplevel (taucmdr.cf.platforms.DARWIN, taucmdr.cf.platforms.HOST_OS, taucmdr.cf.platforms.CRAY_CNL) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/application.py:193:8: C0415: Import outside toplevel (taucmdr.error.ImmutableRecordError) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/application.py:194:8: C0415: Import outside toplevel (taucmdr.model.experiment.Experiment) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/application.py:212:8: C0415: Import outside toplevel (taucmdr.error.ImmutableRecordError) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/application.py:213:8: C0415: Import outside toplevel (taucmdr.model.experiment.Experiment) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/application.py:234:8: C0415: Import outside toplevel (taucmdr.model.project.Project) (import-outside-toplevel)
************* Module taucmdr.model.target
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:172:0: R0914: Too many local variables (24/20) (too-many-locals)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:181:4: C0415: Import outside toplevel (taucmdr.model.project.Project) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:182:4: C0415: Import outside toplevel (taucmdr.cli.arguments.ParsePackagePathAction) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:183:4: C0415: Import outside toplevel (taucmdr.cf.compiler.host.CC, taucmdr.cf.compiler.host.CXX, taucmdr.cf.compiler.host.FC, taucmdr.cf.compiler.host.UPC, taucmdr.cf.compiler.host.INTEL, taucmdr.cf.compiler.host.PGI, taucmdr.cf.compiler.host.NVHPC, taucmdr.cf.compiler.host.GNU) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:184:4: C0415: Import outside toplevel (taucmdr.cf.compiler.mpi.MPI_CC, taucmdr.cf.compiler.mpi.MPI_CXX, taucmdr.cf.compiler.mpi.MPI_FC, taucmdr.cf.compiler.mpi.INTEL) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:185:4: C0415: Import outside toplevel (taucmdr.cf.compiler.shmem.SHMEM_CC, taucmdr.cf.compiler.shmem.SHMEM_CXX, taucmdr.cf.compiler.shmem.SHMEM_FC) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:186:4: C0415: Import outside toplevel (taucmdr.cf.compiler.cuda.CUDA_CXX, taucmdr.cf.compiler.cuda.CUDA_FC) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:187:4: C0415: Import outside toplevel (taucmdr.cf.compiler.caf.CAF_FC) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:188:4: C0415: Import outside toplevel (taucmdr.cf.compiler.python.PY) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:571:8: C0415: Import outside toplevel (taucmdr.error.ImmutableRecordError) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:572:8: C0415: Import outside toplevel (taucmdr.model.experiment.Experiment) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:601:8: C0415: Import outside toplevel (taucmdr.error.ImmutableRecordError) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:602:8: C0415: Import outside toplevel (taucmdr.model.experiment.Experiment) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:616:8: R1702: Too many nested blocks (6/5) (too-many-nested-blocks)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:635:8: C0415: Import outside toplevel (taucmdr.model.project.Project) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/target.py:769:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
************* Module taucmdr.model.measurement
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:53:4: C0415: Import outside toplevel (taucmdr.model.project.Project) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:54:4: C0415: Import outside toplevel (taucmdr.model.target.Target) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:55:4: C0415: Import outside toplevel (taucmdr.model.application.Application) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:56:4: C0415: Import outside toplevel (taucmdr.cf.platforms.HOST_OS, taucmdr.cf.platforms.DARWIN, taucmdr.cf.platforms.IBM_CNK) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:57:4: C0415: Import outside toplevel (taucmdr.cf.compiler.mpi.MPI_CC, taucmdr.cf.compiler.mpi.MPI_CXX, taucmdr.cf.compiler.mpi.MPI_FC) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:58:4: C0415: Import outside toplevel (taucmdr.cf.compiler.cuda.CUDA_CXX) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:59:4: C0415: Import outside toplevel (taucmdr.cf.compiler.shmem.SHMEM_CC, taucmdr.cf.compiler.shmem.SHMEM_CXX, taucmdr.cf.compiler.shmem.SHMEM_FC) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:314:44: C1802: Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty (use-implicit-booleaness-not-len)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:529:8: C0415: Import outside toplevel (taucmdr.error.ImmutableRecordError) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:530:8: C0415: Import outside toplevel (taucmdr.model.experiment.Experiment) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:564:8: W0612: Unused variable 'err' (unused-variable)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:574:8: C0415: Import outside toplevel (taucmdr.error.ImmutableRecordError) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:575:8: C0415: Import outside toplevel (taucmdr.model.experiment.Experiment) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/measurement.py:605:8: C0415: Import outside toplevel (taucmdr.model.project.Project) (import-outside-toplevel)
************* Module taucmdr.model.trial
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/trial.py:58:4: C0415: Import outside toplevel (taucmdr.model.experiment.Experiment) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/trial.py:247:8: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/trial.py:278:24: W3301: Do not use nested call of 'max'; it's possible to do 'max(existing_nums, new_trials)' instead (nested-min-max)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/trial.py:351:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/trial.py:529:4: R0914: Too many local variables (23/20) (too-many-locals)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/trial.py:587:24: W0715: Exception arguments suggest string formatting might be intended (raising-format-tuple)
************* Module taucmdr.model.project
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/project.py:47:4: C0415: Import outside toplevel (taucmdr.model.target.Target) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/project.py:48:4: C0415: Import outside toplevel (taucmdr.model.application.Application) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/project.py:49:4: C0415: Import outside toplevel (taucmdr.model.measurement.Measurement) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/project.py:50:4: C0415: Import outside toplevel (taucmdr.model.experiment.Experiment) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/project.py:97:4: W0221: Number of parameters was 3 in 'Controller.delete' and is now 2 in overriding 'ProjectController.delete' method (arguments-differ)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/project.py:124:8: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/project.py:142:8: C0415: Import outside toplevel (taucmdr.model.experiment.Experiment) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/project.py:143:8: C0415: Import outside toplevel (taucmdr.model.compiler.Compiler) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/project.py:149:8: R1702: Too many nested blocks (8/5) (too-many-nested-blocks)
************* Module taucmdr.model.experiment
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:50:4: C0415: Import outside toplevel (taucmdr.model.target.Target) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:51:4: C0415: Import outside toplevel (taucmdr.model.application.Application) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:52:4: C0415: Import outside toplevel (taucmdr.model.measurement.Measurement) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:112:4: W0237: Parameter 'key' has been renamed to 'keys' in overriding 'ExperimentController.one' method (arguments-renamed)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:120:4: W0221: Number of parameters was 2 in 'Controller.count' and is now 1 in overriding 'ExperimentController.count' method (arguments-differ)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:130:4: W0221: Number of parameters was 3 in 'Controller.exists' and is now 2 in overriding 'ExperimentController.exists' method (arguments-differ)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:137:4: W0246: Useless parent or super() delegation in method 'create' (useless-parent-delegation)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:140:4: W0246: Useless parent or super() delegation in method 'update' (useless-parent-delegation)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:143:4: W0246: Useless parent or super() delegation in method 'unset' (useless-parent-delegation)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:146:4: W0221: Number of parameters was 3 in 'Controller.delete' and is now 2 in overriding 'ExperimentController.delete' method (arguments-differ)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:308:12: W0707: Consider explicitly re-raising using 'except Exception as exc' and 'raise ConfigurationError('Cannot create directory %r' % self.prefix, 'Check that you have `write` access') from exc' (raise-missing-from)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:319:15: R1728: Consider using a generator instead 'sum(int(trial.get('data_size', 0)) for trial in self.populate('trials'))' (consider-using-generator)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:338:8: C0415: Import outside toplevel (taucmdr.cf.software.tau_installation.TauInstallation) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:518:8: C0415: Import outside toplevel (taucmdr.cf.software.tau_installation.TauInstallation) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/model/experiment.py:617:8: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
************* Module taucmdr.cli.cli_view
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/cli_view.py:567:0: C0325: Unnecessary parens after '=' keyword (superfluous-parens)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/cli_view.py:171:12: C0415: Import outside toplevel (taucmdr.cli.commands.project.edit.COMMAND) (import-outside-toplevel)
************* Module taucmdr.cli.arguments
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/arguments.py:306:32: R1728: Consider using a generator instead 'max(len(util.uncolor_text(s)) for s in invocations)' (consider-using-generator)
************* Module taucmdr.cli
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/__init__.py:232:0: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
************* Module taucmdr.cli.commands.select
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/select.py:117:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
************* Module taucmdr.cli.commands.initialize
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/initialize.py:149:8: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise)
************* Module taucmdr.cli.commands.dashboard
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/dashboard.py:60:8: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/dashboard.py:68:16: C0415: Import outside toplevel (taucmdr.cli.commands.project.create.COMMAND) (import-outside-toplevel)
************* Module taucmdr.cli.commands.__main__
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/__main__.py:66:17: C3001: Lambda expression assigned to a variable. Define a function using the "def" keyword instead. (unnecessary-lambda-assignment)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/__main__.py:136:8: C0415: Import outside toplevel (taucmdr.model.project.Project) (import-outside-toplevel)
************* Module taucmdr.cli.commands.project.edit
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/project/edit.py:163:8: C0415: Import outside toplevel (taucmdr.cli.commands.project.list.COMMAND) (import-outside-toplevel)
************* Module taucmdr.cli.commands.trial.delete
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/trial/delete.py:65:30: R1736: Unnecessary list index lookup, use '_' instead (unnecessary-list-index-lookup)
************* Module taucmdr.cli.commands.trial.renumber
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/trial/renumber.py:80:8: W1201: Use lazy % formatting in logging functions (logging-not-lazy)
************* Module taucmdr.cli.commands.trial.list
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/trial/list.py:63:11: R1714: Consider merging these comparisons with 'in' by using 'key in ('environment', 'output')'. Use a set instead if elements are hashable. (consider-using-in)
************* Module taucmdr.cli.commands.target.metrics
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/target/metrics.py:65:21: R1728: Consider using a generator instead 'max(len(row[0]) for row in rows)' (consider-using-generator)
************* Module taucmdr.cli.commands.target.edit
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/target/edit.py:109:8: C0415: Import outside toplevel (taucmdr.cli.commands.target.copy.COMMAND) (import-outside-toplevel)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/target/edit.py:110:8: C0415: Import outside toplevel (taucmdr.cli.commands.experiment.delete.COMMAND) (import-outside-toplevel)
************* Module taucmdr.cli.commands.target.create
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/target/create.py:108:13: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
************* Module taucmdr.cli.commands.experiment.edit
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/cli/commands/experiment/edit.py:38:0: C0115: Missing class docstring (missing-class-docstring)
************* Module taucmdr.mvc.model
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/mvc/model.py:44:40: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/mvc/model.py:173:8: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/mvc/model.py:587:19: C3001: Lambda expression assigned to a variable. Define a function using the "def" keyword instead. (unnecessary-lambda-assignment)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/mvc/model.py:604:8: C0415: Import outside toplevel (taucmdr.cli.arguments.ArgumentsNamespace) (import-outside-toplevel)
************* Module taucmdr.mvc.controller
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/mvc/controller.py:245:12: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/mvc/controller.py:276:19: R1727: Boolean condition ''model' or 'collection' in self.model.attributes[attr]' will always evaluate to ''model'' (condition-evals-to-constant)
/home/runner/work/taucmdr/taucmdr/packages/taucmdr/mvc/controller.py:415:27: C3001: Lambda expression assigned to a variable. Define a function using the "def" keyword instead. (unnecessary-lambda-assignment)
Stderr |
Summary
omp-tools.hinclude workaround forTAU's missing
-Iflag when using-ompt=<prefix>AttributeError: 'TauInstallation' object has no attribute 'srcs'—initialize
self.srcs/self.srcs_availin theInstallation.__init__else branchso the mirror fallback doesn't crash for URL/path sources or subclass keywords like
'nightly'TypeError: lstat ... not TemporaryDirectoryinsetup.pytest cleanup —replace broken
shutil.rmtree(TemporaryDirectory)with.cleanup()PYLINTHOMEmigration warningsin stderr, handle missing Report section in output gracefully
tau_installation.pyandtarget.py, including areal
logging-too-few-argsbug intarget.py:168Test plan
to baseline; zero occurrences of the two fixed bugs)