ParaToolsInc / taucmdr

Performance engineering for the rest of us.
http://www.taucommander.com
Other
29 stars 11 forks source link

Add mirrors #378

Closed zbeekman closed 4 years ago

zbeekman commented 4 years ago

Resolves / Closes #321

Add backup mirrors for when tau.uoregon.edu or, e.g., ftp.gnu.org is down.

Functionality tested by locally pointing the tau.tgz source url to a non-existent url, which resulted in a successful download and install from fs.paratools.com/tau-mirror/ . Then error handling was tested by breaking both the original URL and the mirror URL.

I think I should refactor the sources and mirrors for some of the software packages into constants, since they are used multiple times.

zbeekman commented 4 years ago

I think I should refactor the sources and mirrors for some of the software packages into constants, since they are used multiple times.

Maybe just for PDT.

codecov[bot] commented 4 years ago

Codecov Report

Merging #378 into unstable will increase coverage by 0.01%. The diff coverage is 71.42%.

Impacted file tree graph

@@             Coverage Diff              @@
##           unstable     #378      +/-   ##
============================================
+ Coverage     68.38%   68.39%   +0.01%     
============================================
  Files            92       92              
  Lines          7992     7995       +3     
  Branches       1374     1374              
============================================
+ Hits           5465     5468       +3     
  Misses         2030     2030              
  Partials        497      497              
Flag Coverage Δ
#CI 68.39% <71.42%> (+0.01%) :arrow_up:
#unittests 68.39% <71.42%> (+0.01%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
packages/taucmdr/cf/software/installation.py 62.87% <50.00%> (+0.10%) :arrow_up:
packages/taucmdr/cf/software/ompt_installation.py 63.15% <50.00%> (ø)
...kages/taucmdr/cf/software/binutils_installation.py 55.29% <100.00%> (ø)
...ckages/taucmdr/cf/software/libotf2_installation.py 100.00% <100.00%> (ø)
...ages/taucmdr/cf/software/libunwind_installation.py 58.18% <100.00%> (ø)
packages/taucmdr/cf/software/papi_installation.py 59.40% <100.00%> (ø)
packages/taucmdr/cf/software/pdt_installation.py 60.78% <100.00%> (+1.60%) :arrow_up:
...ackages/taucmdr/cf/software/scorep_installation.py 72.04% <100.00%> (ø)
packages/taucmdr/cf/software/tau_installation.py 55.76% <100.00%> (ø)
github-actions[bot] commented 4 years ago

Pylint Output

Report

8102 statements analysed.

Statistics by type

type number old number difference %documented %badname
module 93 NC NC 100.00 0.00
class 116 NC NC 99.14 0.86
method 591 NC NC 98.82 1.02
function 116 NC NC 94.83 0.86

Raw metrics

type number % previous difference
code 9804 51.63 NC NC
docstring 4817 25.37 NC NC
comment 2841 14.96 NC NC
empty 1526 8.04 NC NC

Duplication

now previous difference
nb duplicated lines 0 NC NC
percent duplicated lines 0.000 NC NC

Messages by category

type number previous difference
convention 20 NC NC
refactor 15 NC NC
warning 20 NC NC
error 0 NC NC

% errors / warnings by module

module error warning refactor convention
taucmdr.model.experiment 0.00 45.00 0.00 5.00
taucmdr.util 0.00 5.00 20.00 5.00
taucmdr.model.trial 0.00 5.00 13.33 0.00
taucmdr.model.project 0.00 5.00 13.33 0.00
taucmdr.model.target 0.00 5.00 6.67 0.00
taucmdr.cf.storage.local_file 0.00 5.00 6.67 0.00
taucmdr.cf.software.papi_installation 0.00 5.00 0.00 10.00
taucmdr.cli.commands.trial.renumber 0.00 5.00 0.00 0.00
taucmdr.cli.commands.target.edit 0.00 5.00 0.00 0.00
taucmdr.cli.commands.target.create 0.00 5.00 0.00 0.00
taucmdr.cli.commands.target.copy 0.00 5.00 0.00 0.00
taucmdr.init 0.00 5.00 0.00 0.00
taucmdr.cf.software.tau_installation 0.00 0.00 20.00 30.00
taucmdr.cf.compiler.init 0.00 0.00 6.67 5.00
taucmdr.cli.commands.select 0.00 0.00 6.67 0.00
taucmdr.cli.init 0.00 0.00 6.67 0.00
taucmdr.mvc.model 0.00 0.00 0.00 10.00
taucmdr.mvc.controller 0.00 0.00 0.00 10.00
taucmdr.progress 0.00 0.00 0.00 5.00
taucmdr.model.application 0.00 0.00 0.00 5.00
taucmdr.error 0.00 0.00 0.00 5.00
taucmdr.cli.commands.experiment.edit 0.00 0.00 0.00 5.00
taucmdr.cf.storage.levels 0.00 0.00 0.00 5.00

Messages

message id occurrences
missing-docstring 14
arguments-differ 12
inconsistent-return-statements 10
invalid-name 4
useless-super-delegation 3
too-many-nested-blocks 2
too-many-locals 2
unused-argument 1
too-many-public-methods 1
redefined-builtin 1
raising-format-tuple 1
logging-not-lazy 1
line-too-long 1
fixme 1
bad-continuation 1

Your code has been rated at 9.83/10

Per-file output (click to expand)
************* Module taucmdr
W: 42, 4: Redefining built-in 'basestring' (redefined-builtin)
************* Module taucmdr.error
C: 76, 4: Missing method docstring (missing-docstring)
************* Module taucmdr.progress
C:178, 4: Missing method docstring (missing-docstring)
************* Module taucmdr.cf.software.papi_installation
C: 49, 0: Wrong continued indentation (add 7 spaces).
         'http://fs.paratools.com/tau-mirror/papi-5.5.1.tar.gz']}
         ^      | (bad-continuation)
W: 69, 4: Parameters differ from overridden '_prepare_src' method (arguments-differ)
C: 77, 8: Variable name "cc" doesn't conform to u'[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
************* Module taucmdr.util
R:143, 0: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
R:423, 0: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
W:465,18: Unused argument 'label' (unused-argument)
R:714, 4: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
C:734, 4: Missing function docstring (missing-docstring)
************* Module taucmdr.cf.storage.levels
C: 64, 0: Missing function docstring (missing-docstring)
************* Module taucmdr.cf.storage.local_file
W: 80, 4: Parameters differ from overridden 'write' method (arguments-differ)
R:218, 4: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
************* Module taucmdr.cf.compiler
R:300, 8: Too many nested blocks (6/5) (too-many-nested-blocks)
C:662, 4: Missing method docstring (missing-docstring)
************* Module taucmdr.mvc.controller
C: 54, 0: Missing function docstring (missing-docstring)
C: 55, 4: Missing function docstring (missing-docstring)
************* Module taucmdr.mvc.model
C: 75, 4: Missing method docstring (missing-docstring)
C:349,16: Missing function docstring (missing-docstring)
************* Module taucmdr.cli
R:230, 0: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
************* Module taucmdr.cf.software.tau_installation
C:903, 0: Line too long (123/120) (line-too-long)
C:800,45: Variable name "f" doesn't conform to u'[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
C:900, 4: Missing method docstring (missing-docstring)
R:925, 4: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
R:1677, 4: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
C:1826, 4: Missing method docstring (missing-docstring)
C:1851, 8: Variable name "p" doesn't conform to u'[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
C:1852, 8: Variable name "m" doesn't conform to u'[a-z_][a-z0-9_]{2,30}$' pattern (invalid-name)
R:169, 0: Too many public methods (26/25) (too-many-public-methods)
************* Module taucmdr.cli.commands.select
R:118, 4: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
************* Module taucmdr.cli.commands.trial.renumber
W: 84, 8: Specify string format arguments as logging function parameters (logging-not-lazy)
************* Module taucmdr.cli.commands.experiment.edit
C: 39, 0: Missing class docstring (missing-docstring)
************* Module taucmdr.cli.commands.target.edit
W: 61,12: Parameters differ from overridden '__call__' method (arguments-differ)
************* Module taucmdr.cli.commands.target.copy
W: 59,12: Parameters differ from overridden '__call__' method (arguments-differ)
************* Module taucmdr.cli.commands.target.create
W: 68,12: Parameters differ from overridden '__call__' method (arguments-differ)
************* Module taucmdr.model.application
C: 50, 0: Missing function docstring (missing-docstring)
************* Module taucmdr.model.project
W: 98, 4: Parameters differ from overridden 'delete' method (arguments-differ)
R:142, 4: Too many local variables (21/20) (too-many-locals)
R:150, 8: Too many nested blocks (8/5) (too-many-nested-blocks)
************* Module taucmdr.model.target
W:673, 0: FIXME: not implemented (fixme)
R:670, 4: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
************* Module taucmdr.model.trial
R:353, 4: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
R:529, 4: Too many local variables (24/20) (too-many-locals)
W:587,24: Exception arguments suggest string formatting might be intended (raising-format-tuple)
************* Module taucmdr.model.experiment
W:109, 4: Parameters differ from overridden 'one' method (arguments-differ)
W:113, 4: Parameters differ from overridden 'all' method (arguments-differ)
W:117, 4: Parameters differ from overridden 'count' method (arguments-differ)
W:123, 4: Parameters differ from overridden 'search' method (arguments-differ)
W:127, 4: Parameters differ from overridden 'exists' method (arguments-differ)
W:134, 4: Useless super delegation in method 'create' (useless-super-delegation)
W:137, 4: Useless super delegation in method 'update' (useless-super-delegation)
W:140, 4: Useless super delegation in method 'unset' (useless-super-delegation)
W:143, 4: Parameters differ from overridden 'delete' method (arguments-differ)
C:432, 4: Missing method docstring (missing-docstring)
Stderror
Using config file /home/runner/work/taucmdr/taucmdr/pylintrc
zbeekman commented 4 years ago

Refactored PDT and added Makefile target to simplify testing with Docker

zbeekman commented 4 years ago

It would be good to have a test that validates that the fallback works but I don’t think that needs to be done in advance of merging this to unstable.

Yes, I agree.