From 6a2767626f4f7f4d5aa1d60e666af963022ae42f Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 12:13:13 -0600 Subject: [PATCH 01/14] Add Pylint CI job --- .gitlab-ci.yml | 13 + .pylintrc | 813 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 826 insertions(+) create mode 100644 .pylintrc diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e60636..8c97ddf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -80,6 +80,19 @@ Python 3.6 POCL: reports: junit: test/pytest.xml + +Pylint: + script: + - EXTRA_INSTALL="pybind11 numpy mako" + - py_version=3.6 + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-pylint.sh + - ". ./prepare-and-run-pylint.sh boxtree test/test_*.py" + tags: + - python3.6 + except: + - tags + + Documentation: script: - EXTRA_INSTALL="pybind11 numpy mako" diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000..9e94543 --- /dev/null +++ b/.pylintrc @@ -0,0 +1,813 @@ +# Based on: https://gitlab.tiker.net/inducer/ci-support/raw/b58723d89c8597fb529bba92475e821e048eff66/.pylintrc-default + +[MASTER] + +# A comma-separated list of package or module names from where C extensions may +# be loaded. Extensions are loading into the active Python interpreter and may +# run arbitrary code. +extension-pkg-whitelist= + +# Add files or directories to the blacklist. They should be base names, not +# paths. +ignore=CVS + +# Add files or directories matching the regex patterns to the blacklist. The +# regex matches against base names, not paths. +ignore-patterns= + +# Python code to execute, usually for sys.path manipulation such as +# pygtk.require(). +#init-hook= + +# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the +# number of processors available to use. +jobs=1 + +# Control the amount of potential inferred values when inferring a single +# object. This can help the performance when dealing with large functions or +# complex, nested conditions. +limit-inference-results=100 + +# List of plugins (as comma separated values of python modules names) to load, +# usually to register additional checkers. +load-plugins= + +# Pickle collected data for later comparisons. +persistent=no + +# Specify a configuration file. +#rcfile= + +# When enabled, pylint would attempt to guess common misconfiguration and emit +# user-friendly hints instead of false-positive error messages. +suggestion-mode=yes + +# Allow loading of arbitrary C extensions. Extensions are imported into the +# active Python interpreter and may run arbitrary code. +unsafe-load-any-extension=no + + +[MESSAGES CONTROL] + +# Only show warnings with the listed confidence levels. Leave empty to show +# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED. +confidence= + +# Disable the message, report, category or checker with the given id(s). You +# can either give multiple identifiers separated by comma (,) or put this +# option multiple times (only on the command line, not in the configuration +# file where it should appear only once). You can also use "--disable=all" to +# disable everything first and then reenable specific checks. For example, if +# you want to run only the similarities checker, you can use "--disable=all +# --enable=similarities". If you want to run only the classes checker, but have +# no Warning level messages displayed, use "--disable=all --enable=classes +# --disable=W". +disable=blacklisted-name, + invalid-name, + missing-docstring, + empty-docstring, + unneeded-not, + singleton-comparison, + misplaced-comparison-constant, + unidiomatic-typecheck, + consider-using-enumerate, + consider-iterating-dictionary, + bad-classmethod-argument, + bad-mcs-method-argument, + bad-mcs-classmethod-argument, + single-string-used-for-slots, + line-too-long, + too-many-lines, + trailing-whitespace, + missing-final-newline, + trailing-newlines, + multiple-statements, + superfluous-parens, + bad-whitespace, + mixed-line-endings, + unexpected-line-ending-format, + bad-continuation, + wrong-spelling-in-comment, + wrong-spelling-in-docstring, + invalid-characters-in-docstring, + multiple-imports, + wrong-import-order, + ungrouped-imports, + wrong-import-position, + useless-import-alias, + len-as-condition, + print-statement, + parameter-unpacking, + unpacking-in-except, + old-raise-syntax, + backtick, + long-suffix, + old-ne-operator, + old-octal-literal, + import-star-module-level, + non-ascii-bytes-literal, + raw-checker-failed, + bad-inline-option, + locally-disabled, + file-ignored, + suppressed-message, + useless-suppression, + deprecated-pragma, + use-symbolic-message-instead, + c-extension-no-member, + literal-comparison, + comparison-with-itself, + no-self-use, + no-classmethod-decorator, + no-staticmethod-decorator, + useless-object-inheritance, + cyclic-import, + duplicate-code, + too-many-ancestors, + too-many-instance-attributes, + too-few-public-methods, + too-many-public-methods, + too-many-return-statements, + too-many-branches, + too-many-arguments, + too-many-locals, + too-many-statements, + too-many-boolean-expressions, + consider-merging-isinstance, + too-many-nested-blocks, + simplifiable-if-statement, + redefined-argument-from-local, + no-else-return, + consider-using-ternary, + trailing-comma-tuple, + stop-iteration-return, + simplify-boolean-expression, + inconsistent-return-statements, + useless-return, + consider-swap-variables, + consider-using-join, + consider-using-in, + consider-using-get, + chained-comparison, + consider-using-dict-comprehension, + consider-using-set-comprehension, + simplifiable-if-expression, + unreachable, + dangerous-default-value, + pointless-statement, + pointless-string-statement, + expression-not-assigned, + unnecessary-pass, + unnecessary-lambda, + duplicate-key, + assign-to-new-keyword, + useless-else-on-loop, + exec-used, + eval-used, + confusing-with-statement, + using-constant-test, + comparison-with-callable, + lost-exception, + assert-on-tuple, + attribute-defined-outside-init, + bad-staticmethod-argument, + protected-access, + arguments-differ, + signature-differs, + abstract-method, + super-init-not-called, + no-init, + non-parent-init-called, + useless-super-delegation, + unnecessary-semicolon, + bad-indentation, + mixed-indentation, + wildcard-import, + deprecated-module, + relative-import, + reimported, + import-self, + misplaced-future, + fixme, + invalid-encoded-data, + global-variable-undefined, + global-variable-not-assigned, + global-statement, + global-at-module-level, + unused-import, + unused-variable, + unused-argument, + unused-wildcard-import, + redefined-outer-name, + redefined-builtin, + redefine-in-handler, + undefined-loop-variable, + unbalanced-tuple-unpacking, + cell-var-from-loop, + possibly-unused-variable, + self-cls-assignment, + bare-except, + broad-except, + duplicate-except, + try-except-raise, + binary-op-exception, + raising-format-tuple, + keyword-arg-before-vararg, + logging-not-lazy, + logging-format-interpolation, + logging-fstring-interpolation, + bad-format-string-key, + unused-format-string-key, + bad-format-string, + missing-format-argument-key, + unused-format-string-argument, + format-combined-specification, + missing-format-attribute, + invalid-format-index, + duplicate-string-formatting-argument, + anomalous-backslash-in-string, + anomalous-unicode-escape-in-string, + implicit-str-concat-in-sequence, + bad-open-mode, + boolean-datetime, + redundant-unittest-assert, + deprecated-method, + bad-thread-instantiation, + shallow-copy-environ, + invalid-envvar-default, + subprocess-popen-preexec-fn, + apply-builtin, + basestring-builtin, + buffer-builtin, + cmp-builtin, + coerce-builtin, + execfile-builtin, + file-builtin, + long-builtin, + raw_input-builtin, + reduce-builtin, + standarderror-builtin, + unicode-builtin, + xrange-builtin, + coerce-method, + delslice-method, + getslice-method, + setslice-method, + no-absolute-import, + old-division, + dict-iter-method, + dict-view-method, + next-method-called, + metaclass-assignment, + indexing-exception, + raising-string, + reload-builtin, + oct-method, + hex-method, + nonzero-method, + cmp-method, + input-builtin, + round-builtin, + intern-builtin, + unichr-builtin, + map-builtin-not-iterating, + zip-builtin-not-iterating, + range-builtin-not-iterating, + filter-builtin-not-iterating, + using-cmp-argument, + eq-without-hash, + div-method, + idiv-method, + rdiv-method, + exception-message-attribute, + invalid-str-codec, + sys-max-int, + bad-python3-import, + deprecated-string-function, + deprecated-str-translate-call, + deprecated-itertools-function, + deprecated-types-field, + next-method-defined, + dict-items-not-iterating, + dict-keys-not-iterating, + dict-values-not-iterating, + deprecated-operator-function, + deprecated-urllib-function, + xreadlines-attribute, + deprecated-sys-function, + exception-escape, + comprehension-escape + +# Enable the message, report, category or checker with the given id(s). You can +# either give multiple identifier separated by comma (,) or put this option +# multiple time (only on the command line, not in the configuration file where +# it should appear only once). See also the "--disable" option for examples. +enable=syntax-error, + unrecognized-inline-option, + bad-option-value, + init-is-generator, + return-in-init, + function-redefined, + not-in-loop, + return-outside-function, + yield-outside-function, + return-arg-in-generator, + nonexistent-operator, + duplicate-argument-name, + abstract-class-instantiated, + bad-reversed-sequence, + too-many-star-expressions, + invalid-star-assignment-target, + star-needs-assignment-target, + nonlocal-and-global, + continue-in-finally, + nonlocal-without-binding, + used-prior-global-declaration, + misplaced-format-function, + method-hidden, + access-member-before-definition, + no-method-argument, + no-self-argument, + invalid-slots-object, + assigning-non-slot, + invalid-slots, + inherit-non-class, + inconsistent-mro, + duplicate-bases, + non-iterator-returned, + unexpected-special-method-signature, + invalid-length-returned, + import-error, + relative-beyond-top-level, + used-before-assignment, + undefined-variable, + undefined-all-variable, + invalid-all-object, + no-name-in-module, + unpacking-non-sequence, + bad-except-order, + raising-bad-type, + bad-exception-context, + misplaced-bare-raise, + raising-non-exception, + notimplemented-raised, + catching-non-exception, + bad-super-call, + missing-super-argument, + no-member, + not-callable, + assignment-from-no-return, + no-value-for-parameter, + too-many-function-args, + unexpected-keyword-arg, + redundant-keyword-arg, + missing-kwoa, + invalid-sequence-index, + invalid-slice-index, + assignment-from-none, + not-context-manager, + invalid-unary-operand-type, + unsupported-binary-operation, + repeated-keyword, + not-an-iterable, + not-a-mapping, + unsupported-membership-test, + unsubscriptable-object, + unsupported-assignment-operation, + unsupported-delete-operation, + invalid-metaclass, + unhashable-dict-key, + logging-unsupported-format, + logging-format-truncated, + logging-too-many-args, + logging-too-few-args, + bad-format-character, + truncated-format-string, + mixed-format-string, + format-needs-mapping, + missing-format-string-key, + too-many-format-args, + too-few-format-args, + bad-string-format-type, + bad-str-strip-call, + invalid-envvar-value, + yield-inside-async-function, + not-async-context-manager, + fatal, + astroid-error, + parse-error, + method-check-failed + + +[REPORTS] + +# Python expression which should return a note less than 10 (10 is the highest +# note). You have access to the variables errors warning, statement which +# respectively contain the number of errors / warnings messages and the total +# number of statements analyzed. This is used by the global evaluation report +# (RP0004). +evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) + +# Template used to display messages. This is a python new-style format string +# used to format the message information. See doc for all details. +#msg-template= + +# Set the output format. Available formats are text, parseable, colorized, json +# and msvs (visual studio). You can also give a reporter class, e.g. +# mypackage.mymodule.MyReporterClass. +output-format=text + +# Tells whether to display a full report or only the messages. +reports=no + +# Activate the evaluation score. +score=no + + +[REFACTORING] + +# Maximum number of nested blocks for function / method body +max-nested-blocks=5 + +# Complete name of functions that never returns. When checking for +# inconsistent-return-statements if a never returning function is called then +# it will be considered as an explicit return statement and no message will be +# printed. +never-returning-functions=sys.exit + + +[LOGGING] + +# Format style used to check logging format string. `old` means using % +# formatting, while `new` is for `{}` formatting. +logging-format-style=old + +# Logging modules to check that the string format arguments are in logging +# function parameter format. +logging-modules=logging + + +[SPELLING] + +# Limits count of emitted suggestions for spelling mistakes. +max-spelling-suggestions=4 + +# Spelling dictionary name. Available dictionaries: none. To make it working +# install python-enchant package.. +spelling-dict= + +# List of comma separated words that should not be checked. +spelling-ignore-words= + +# A path to a file that contains private dictionary; one word per line. +spelling-private-dict-file= + +# Tells whether to store unknown words to indicated private dictionary in +# --spelling-private-dict-file option instead of raising a message. +spelling-store-unknown-words=no + + +[MISCELLANEOUS] + +# List of note tags to take in consideration, separated by a comma. +notes=FIXME, + XXX, + TODO + + +[TYPECHECK] + +# List of decorators that produce context managers, such as +# contextlib.contextmanager. Add to this list to register other decorators that +# produce valid context managers. +contextmanager-decorators=contextlib.contextmanager + +# List of members which are set dynamically and missed by pylint inference +# system, and so shouldn't trigger E1101 when accessed. Python regular +# expressions are accepted. +generated-members= + +# Tells whether missing members accessed in mixin class should be ignored. A +# mixin class is detected if its name ends with "mixin" (case insensitive). +ignore-mixin-members=yes + +# Tells whether to warn about missing members when the owner of the attribute +# is inferred to be None. +ignore-none=yes + +# This flag controls whether pylint should warn about no-member and similar +# checks whenever an opaque object is returned when inferring. The inference +# can return multiple potential results while evaluating a Python object, but +# some branches might not be evaluated, which results in partial inference. In +# that case, it might be useful to still emit no-member and other checks for +# the rest of the inferred objects. +ignore-on-opaque-inference=yes + +# List of class names for which member attributes should not be checked (useful +# for classes with dynamically set attributes). This supports the use of +# qualified names. +ignored-classes=optparse.Values,thread._local,_thread._local + +# List of module names for which member attributes should not be checked +# (useful for modules/projects where namespaces are manipulated during runtime +# and thus existing member attributes cannot be deduced by static analysis. It +# supports qualified module names, as well as Unix pattern matching. +ignored-modules= + +# Show a hint with possible names when a member name was not found. The aspect +# of finding the hint is based on edit distance. +missing-member-hint=yes + +# The minimum edit distance a name should have in order to be considered a +# similar match for a missing member name. +missing-member-hint-distance=1 + +# The total number of similar names that should be taken in consideration when +# showing a hint for a missing member. +missing-member-max-choices=1 + + +[VARIABLES] + +# List of additional names supposed to be defined in builtins. Remember that +# you should avoid defining new builtins when possible. +additional-builtins= + +# Tells whether unused global variables should be treated as a violation. +allow-global-unused-variables=yes + +# List of strings which can identify a callback function by name. A callback +# name must start or end with one of those strings. +callbacks=cb_, + _cb + +# A regular expression matching the name of dummy variables (i.e. expected to +# not be used). +dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ + +# Argument names that match this expression will be ignored. Default to name +# with leading underscore. +ignored-argument-names=_.*|^ignored_|^unused_ + +# Tells whether we should check for unused import in __init__ files. +init-import=no + +# List of qualified module names which can have objects that can redefine +# builtins. +redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io + + +[FORMAT] + +# Expected format of line ending, e.g. empty (any line ending), LF or CRLF. +expected-line-ending-format= + +# Regexp for a line that is allowed to be longer than the limit. +ignore-long-lines=^\s*(# )??$ + +# Number of spaces of indent required inside a hanging or continued line. +indent-after-paren=4 + +# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 +# tab). +indent-string=' ' + +# Maximum number of characters on a single line. +max-line-length=100 + +# Maximum number of lines in a module. +max-module-lines=1000 + +# List of optional constructs for which whitespace checking is disabled. `dict- +# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}. +# `trailing-comma` allows a space between comma and closing bracket: (a, ). +# `empty-line` allows space-only lines. +no-space-check=trailing-comma, + dict-separator + +# Allow the body of a class to be on the same line as the declaration if body +# contains single statement. +single-line-class-stmt=no + +# Allow the body of an if to be on the same line as the test if there is no +# else. +single-line-if-stmt=no + + +[SIMILARITIES] + +# Ignore comments when computing similarities. +ignore-comments=yes + +# Ignore docstrings when computing similarities. +ignore-docstrings=yes + +# Ignore imports when computing similarities. +ignore-imports=no + +# Minimum lines number of a similarity. +min-similarity-lines=4 + + +[BASIC] + +# Naming style matching correct argument names. +argument-naming-style=snake_case + +# Regular expression matching correct argument names. Overrides argument- +# naming-style. +#argument-rgx= + +# Naming style matching correct attribute names. +attr-naming-style=snake_case + +# Regular expression matching correct attribute names. Overrides attr-naming- +# style. +#attr-rgx= + +# Bad variable names which should always be refused, separated by a comma. +bad-names=foo, + bar, + baz, + toto, + tutu, + tata + +# Naming style matching correct class attribute names. +class-attribute-naming-style=any + +# Regular expression matching correct class attribute names. Overrides class- +# attribute-naming-style. +#class-attribute-rgx= + +# Naming style matching correct class names. +class-naming-style=PascalCase + +# Regular expression matching correct class names. Overrides class-naming- +# style. +#class-rgx= + +# Naming style matching correct constant names. +const-naming-style=UPPER_CASE + +# Regular expression matching correct constant names. Overrides const-naming- +# style. +#const-rgx= + +# Minimum line length for functions/classes that require docstrings, shorter +# ones are exempt. +docstring-min-length=-1 + +# Naming style matching correct function names. +function-naming-style=snake_case + +# Regular expression matching correct function names. Overrides function- +# naming-style. +#function-rgx= + +# Good variable names which should always be accepted, separated by a comma. +good-names=i, + j, + k, + ex, + Run, + _ + +# Include a hint for the correct naming format with invalid-name. +include-naming-hint=no + +# Naming style matching correct inline iteration names. +inlinevar-naming-style=any + +# Regular expression matching correct inline iteration names. Overrides +# inlinevar-naming-style. +#inlinevar-rgx= + +# Naming style matching correct method names. +method-naming-style=snake_case + +# Regular expression matching correct method names. Overrides method-naming- +# style. +#method-rgx= + +# Naming style matching correct module names. +module-naming-style=snake_case + +# Regular expression matching correct module names. Overrides module-naming- +# style. +#module-rgx= + +# Colon-delimited sets of names that determine each other's naming style when +# the name regexes allow several styles. +name-group= + +# Regular expression which should only match function or class names that do +# not require a docstring. +no-docstring-rgx=^_ + +# List of decorators that produce properties, such as abc.abstractproperty. Add +# to this list to register other decorators that produce valid properties. +# These decorators are taken in consideration only for invalid-name. +property-classes=abc.abstractproperty + +# Naming style matching correct variable names. +variable-naming-style=snake_case + +# Regular expression matching correct variable names. Overrides variable- +# naming-style. +#variable-rgx= + + +[IMPORTS] + +# Allow wildcard imports from modules that define __all__. +allow-wildcard-with-all=no + +# Analyse import fallback blocks. This can be used to support both Python 2 and +# 3 compatible code, which means that the block might have code that exists +# only in one or another interpreter, leading to false positives when analysed. +analyse-fallback-blocks=no + +# Deprecated modules which should not be used, separated by a comma. +deprecated-modules=optparse,tkinter.tix + +# Create a graph of external dependencies in the given file (report RP0402 must +# not be disabled). +ext-import-graph= + +# Create a graph of every (i.e. internal and external) dependencies in the +# given file (report RP0402 must not be disabled). +import-graph= + +# Create a graph of internal dependencies in the given file (report RP0402 must +# not be disabled). +int-import-graph= + +# Force import order to recognize a module as part of the standard +# compatibility libraries. +known-standard-library= + +# Force import order to recognize a module as part of a third party library. +known-third-party=enchant + + +[CLASSES] + +# List of method names used to declare (i.e. assign) instance attributes. +defining-attr-methods=__init__, + __new__, + setUp + +# List of member names, which should be excluded from the protected access +# warning. +exclude-protected=_asdict, + _fields, + _replace, + _source, + _make + +# List of valid names for the first argument in a class method. +valid-classmethod-first-arg=cls + +# List of valid names for the first argument in a metaclass class method. +valid-metaclass-classmethod-first-arg=cls + + +[DESIGN] + +# Maximum number of arguments for function / method. +max-args=5 + +# Maximum number of attributes for a class (see R0902). +max-attributes=7 + +# Maximum number of boolean expressions in an if statement. +max-bool-expr=5 + +# Maximum number of branch for function / method body. +max-branches=12 + +# Maximum number of locals for function / method body. +max-locals=15 + +# Maximum number of parents for a class (see R0901). +max-parents=7 + +# Maximum number of public methods for a class (see R0904). +max-public-methods=20 + +# Maximum number of return / yield for function / method body. +max-returns=6 + +# Maximum number of statements in function / method body. +max-statements=50 + +# Minimum number of public methods for a class (see R0903). +min-public-methods=2 + + +[EXCEPTIONS] + +# Exceptions that will emit a warning when being caught. Defaults to +# "Exception". +overgeneral-exceptions=Exception -- GitLab From e052d2bd69b9b8700f4d8b1d448791fd0bf86a71 Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 12:13:59 -0600 Subject: [PATCH 02/14] Temporarily disable most other jobs --- .gitlab-ci.yml | 184 ++++++++++++++++++++++++------------------------- 1 file changed, 92 insertions(+), 92 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8c97ddf..b64ea74 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,84 +1,84 @@ -Python 2.7 POCL: - script: - - export PY_EXE=python2.7 - - export PYOPENCL_TEST=portable - - export EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh - - ". ./build-and-test-py-project.sh" - tags: - - python2.7 - - pocl - except: - - tags - artifacts: - reports: - junit: test/pytest.xml - -Python 3.7 Titan V: - script: - - py_version=3.7 - - export PYOPENCL_TEST=nvi:titan - - EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh - - ". ./build-and-test-py-project.sh" - tags: - - python3.7 - - nvidia-titan-v - allow_failure: true - except: - - tags - artifacts: - reports: - junit: test/pytest.xml - -#Python 3.6 Titan X: -# script: -# - py_version=3.6 -# - export PYOPENCL_TEST=nvi:titan -# - EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# tags: -# - python3.6 -# - nvidia-titan-x -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml - -Python 3.6 K40: - script: - - export PY_EXE=python3.6 - - export PYOPENCL_TEST=nvi:k40 - - export EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh - - ". ./build-and-test-py-project.sh" - allow_failure: true - tags: - - python3.6 - - nvidia-k40 - except: - - tags - artifacts: - reports: - junit: test/pytest.xml - -Python 3.6 POCL: - script: - - export PY_EXE=python3.6 - - export PYOPENCL_TEST=portable - - export EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh - - ". ./build-and-test-py-project.sh" - tags: - - python3.6 - - pocl - except: - - tags - artifacts: - reports: - junit: test/pytest.xml +# Python 2.7 POCL: +# script: +# - export PY_EXE=python2.7 +# - export PYOPENCL_TEST=portable +# - export EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# tags: +# - python2.7 +# - pocl +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml +# +# Python 3.7 Titan V: +# script: +# - py_version=3.7 +# - export PYOPENCL_TEST=nvi:titan +# - EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# tags: +# - python3.7 +# - nvidia-titan-v +# allow_failure: true +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml +# +# #Python 3.6 Titan X: +# # script: +# # - py_version=3.6 +# # - export PYOPENCL_TEST=nvi:titan +# # - EXTRA_INSTALL="pybind11 numpy mako" +# # - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# # - ". ./build-and-test-py-project.sh" +# # tags: +# # - python3.6 +# # - nvidia-titan-x +# # except: +# # - tags +# # artifacts: +# # reports: +# # junit: test/pytest.xml +# +# Python 3.6 K40: +# script: +# - export PY_EXE=python3.6 +# - export PYOPENCL_TEST=nvi:k40 +# - export EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# allow_failure: true +# tags: +# - python3.6 +# - nvidia-k40 +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml +# +# Python 3.6 POCL: +# script: +# - export PY_EXE=python3.6 +# - export PYOPENCL_TEST=portable +# - export EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# tags: +# - python3.6 +# - pocl +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml Pylint: @@ -93,17 +93,17 @@ Pylint: - tags -Documentation: - script: - - EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-docs.sh - - ". ./build-docs.sh" - tags: - - python3.5 - only: - - master - -Flake8: +# Documentation: +# script: +# - EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-docs.sh +# - ". ./build-docs.sh" +# tags: +# - python3.5 +# only: +# - master +# +# Flake8: script: - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh - ". ./prepare-and-run-flake8.sh boxtree test" -- GitLab From 8150ec43cec69975ff4db8d36d64805d43939659 Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 12:14:53 -0600 Subject: [PATCH 03/14] Bump recursion limit --- .pylintrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pylintrc b/.pylintrc index 9e94543..1db01a4 100644 --- a/.pylintrc +++ b/.pylintrc @@ -17,7 +17,7 @@ ignore-patterns= # Python code to execute, usually for sys.path manipulation such as # pygtk.require(). -#init-hook= +init-hook=sys.setrecursionlimit(2000) # Needed for boxtree.tools # Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the # number of processors available to use. -- GitLab From 265abf80b2edb9c93debd2deb0fc6654738d5ec7 Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 12:16:05 -0600 Subject: [PATCH 04/14] Fix CI script --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b64ea74..fa1e25c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -102,8 +102,9 @@ Pylint: # - python3.5 # only: # - master -# -# Flake8: +# + +Flake8: script: - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh - ". ./prepare-and-run-flake8.sh boxtree test" -- GitLab From ca4b170f92657f956f5e2c7090ae2c05e9d4ca98 Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:20:33 -0600 Subject: [PATCH 05/14] Revert "Fix CI script" This reverts commit 265abf80b2edb9c93debd2deb0fc6654738d5ec7. --- .gitlab-ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fa1e25c..b64ea74 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -102,9 +102,8 @@ Pylint: # - python3.5 # only: # - master -# - -Flake8: +# +# Flake8: script: - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh - ". ./prepare-and-run-flake8.sh boxtree test" -- GitLab From 09e88fbe7a1778cce579261739b32c957051b30e Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:20:39 -0600 Subject: [PATCH 06/14] Revert "Temporarily disable most other jobs" This reverts commit e052d2bd69b9b8700f4d8b1d448791fd0bf86a71. --- .gitlab-ci.yml | 184 ++++++++++++++++++++++++------------------------- 1 file changed, 92 insertions(+), 92 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b64ea74..8c97ddf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,84 +1,84 @@ -# Python 2.7 POCL: -# script: -# - export PY_EXE=python2.7 -# - export PYOPENCL_TEST=portable -# - export EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# tags: -# - python2.7 -# - pocl -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml -# -# Python 3.7 Titan V: -# script: -# - py_version=3.7 -# - export PYOPENCL_TEST=nvi:titan -# - EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# tags: -# - python3.7 -# - nvidia-titan-v -# allow_failure: true -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml -# -# #Python 3.6 Titan X: -# # script: -# # - py_version=3.6 -# # - export PYOPENCL_TEST=nvi:titan -# # - EXTRA_INSTALL="pybind11 numpy mako" -# # - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# # - ". ./build-and-test-py-project.sh" -# # tags: -# # - python3.6 -# # - nvidia-titan-x -# # except: -# # - tags -# # artifacts: -# # reports: -# # junit: test/pytest.xml -# -# Python 3.6 K40: -# script: -# - export PY_EXE=python3.6 -# - export PYOPENCL_TEST=nvi:k40 -# - export EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# allow_failure: true -# tags: -# - python3.6 -# - nvidia-k40 -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml -# -# Python 3.6 POCL: -# script: -# - export PY_EXE=python3.6 -# - export PYOPENCL_TEST=portable -# - export EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# tags: -# - python3.6 -# - pocl -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml +Python 2.7 POCL: + script: + - export PY_EXE=python2.7 + - export PYOPENCL_TEST=portable + - export EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh + - ". ./build-and-test-py-project.sh" + tags: + - python2.7 + - pocl + except: + - tags + artifacts: + reports: + junit: test/pytest.xml + +Python 3.7 Titan V: + script: + - py_version=3.7 + - export PYOPENCL_TEST=nvi:titan + - EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh + - ". ./build-and-test-py-project.sh" + tags: + - python3.7 + - nvidia-titan-v + allow_failure: true + except: + - tags + artifacts: + reports: + junit: test/pytest.xml + +#Python 3.6 Titan X: +# script: +# - py_version=3.6 +# - export PYOPENCL_TEST=nvi:titan +# - EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# tags: +# - python3.6 +# - nvidia-titan-x +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml + +Python 3.6 K40: + script: + - export PY_EXE=python3.6 + - export PYOPENCL_TEST=nvi:k40 + - export EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh + - ". ./build-and-test-py-project.sh" + allow_failure: true + tags: + - python3.6 + - nvidia-k40 + except: + - tags + artifacts: + reports: + junit: test/pytest.xml + +Python 3.6 POCL: + script: + - export PY_EXE=python3.6 + - export PYOPENCL_TEST=portable + - export EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh + - ". ./build-and-test-py-project.sh" + tags: + - python3.6 + - pocl + except: + - tags + artifacts: + reports: + junit: test/pytest.xml Pylint: @@ -93,17 +93,17 @@ Pylint: - tags -# Documentation: -# script: -# - EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-docs.sh -# - ". ./build-docs.sh" -# tags: -# - python3.5 -# only: -# - master -# -# Flake8: +Documentation: + script: + - EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-docs.sh + - ". ./build-docs.sh" + tags: + - python3.5 + only: + - master + +Flake8: script: - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh - ". ./prepare-and-run-flake8.sh boxtree test" -- GitLab From 79b7b799848a1599de00f2d7bdd0e0cb41ed344c Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:21:24 -0600 Subject: [PATCH 07/14] Fix Pylint job --- .gitlab-ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 16ecf01..f44e262 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -80,19 +80,17 @@ Python 3 POCL: reports: junit: test/pytest.xml - Pylint: script: + - export PY_EXE=python3 - EXTRA_INSTALL="pybind11 numpy mako" - - py_version=3.6 - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-pylint.sh - ". ./prepare-and-run-pylint.sh boxtree test/test_*.py" tags: - - python3.6 + - python3 except: - tags - Documentation: script: - EXTRA_INSTALL="pybind11 numpy mako" -- GitLab From 1bc747d8cc12714b779ef915f1c1e357a366ec45 Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:21:56 -0600 Subject: [PATCH 08/14] Temporarily disable other jobs --- .gitlab-ci.yml | 199 +++++++++++++++++++++++++------------------------ 1 file changed, 100 insertions(+), 99 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f44e262..daf45e0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,84 +1,84 @@ -Python 2.7 POCL: - script: - - export PY_EXE=python2.7 - - export PYOPENCL_TEST=portable - - export EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh - - ". ./build-and-test-py-project.sh" - tags: - - python2.7 - - pocl - except: - - tags - artifacts: - reports: - junit: test/pytest.xml - -Python 3 Titan V: - script: - - export PY_EXE=python3 - - export PYOPENCL_TEST=nvi:titan - - EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh - - ". ./build-and-test-py-project.sh" - tags: - - python3 - - nvidia-titan-v - allow_failure: true - except: - - tags - artifacts: - reports: - junit: test/pytest.xml - -#Python 3 Titan X: -# script: -# - export PY_EXE=python3 -# - export PYOPENCL_TEST=nvi:titan -# - EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# tags: -# - python3 -# - nvidia-titan-x -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml - -Python 3 K40: - script: - - export PY_EXE=python3 - - export PYOPENCL_TEST=nvi:k40 - - export EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh - - ". ./build-and-test-py-project.sh" - allow_failure: true - tags: - - python3 - - nvidia-k40 - except: - - tags - artifacts: - reports: - junit: test/pytest.xml - -Python 3 POCL: - script: - - export PY_EXE=python3 - - export PYOPENCL_TEST=portable - - export EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh - - ". ./build-and-test-py-project.sh" - tags: - - python3 - - pocl - except: - - tags - artifacts: - reports: - junit: test/pytest.xml +# Python 2.7 POCL: +# script: +# - export PY_EXE=python2.7 +# - export PYOPENCL_TEST=portable +# - export EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# tags: +# - python2.7 +# - pocl +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml +# +# Python 3 Titan V: +# script: +# - export PY_EXE=python3 +# - export PYOPENCL_TEST=nvi:titan +# - EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# tags: +# - python3 +# - nvidia-titan-v +# allow_failure: true +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml +# +# #Python 3 Titan X: +# # script: +# # - export PY_EXE=python3 +# # - export PYOPENCL_TEST=nvi:titan +# # - EXTRA_INSTALL="pybind11 numpy mako" +# # - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# # - ". ./build-and-test-py-project.sh" +# # tags: +# # - python3 +# # - nvidia-titan-x +# # except: +# # - tags +# # artifacts: +# # reports: +# # junit: test/pytest.xml +# +# Python 3 K40: +# script: +# - export PY_EXE=python3 +# - export PYOPENCL_TEST=nvi:k40 +# - export EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# allow_failure: true +# tags: +# - python3 +# - nvidia-k40 +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml +# +# Python 3 POCL: +# script: +# - export PY_EXE=python3 +# - export PYOPENCL_TEST=portable +# - export EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# tags: +# - python3 +# - pocl +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml Pylint: script: @@ -91,21 +91,22 @@ Pylint: except: - tags -Documentation: - script: - - EXTRA_INSTALL="pybind11 numpy mako" - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-docs.sh - - ". ./build-docs.sh" - tags: - - python3 - only: - - master - -Flake8: - script: - - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh - - ". ./prepare-and-run-flake8.sh boxtree test" - tags: - - python3 - except: - - tags +# Documentation: +# script: +# - EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-docs.sh +# - ". ./build-docs.sh" +# tags: +# - python3 +# only: +# - master +# +# Flake8: +# script: +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh +# - ". ./prepare-and-run-flake8.sh boxtree test" +# tags: +# - python3 +# except: +# - tags +# -- GitLab From 026b1d68aa7fb19db5a82531cbb0a360a658e158 Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:27:44 -0600 Subject: [PATCH 09/14] Some fixes --- .gitlab-ci.yml | 2 +- .pylintrc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index daf45e0..60b400a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -83,7 +83,7 @@ Pylint: script: - export PY_EXE=python3 - - EXTRA_INSTALL="pybind11 numpy mako" + - EXTRA_INSTALL="pybind11 numpy mako matplotlib" - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-pylint.sh - ". ./prepare-and-run-pylint.sh boxtree test/test_*.py" tags: diff --git a/.pylintrc b/.pylintrc index 1db01a4..35e255f 100644 --- a/.pylintrc +++ b/.pylintrc @@ -5,7 +5,7 @@ # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may # run arbitrary code. -extension-pkg-whitelist= +extension-pkg-whitelist=numpy,pyfmmlib # Add files or directories to the blacklist. They should be base names, not # paths. -- GitLab From 906f118138bafaaee6aafe29f9cd435f50a0564b Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:29:23 -0600 Subject: [PATCH 10/14] test_fmm fixes --- test/test_fmm.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/test_fmm.py b/test/test_fmm.py index 53892d5..dd551ab 100644 --- a/test/test_fmm.py +++ b/test/test_fmm.py @@ -160,7 +160,7 @@ def test_fmm_completeness(ctx_factory, dims, nsources_req, ntargets_req, source_radii=source_radii, target_radii=target_radii, debug=True, stick_out_factor=0.25, extent_norm=extent_norm) if 0: - tree.get().plot() + tree.get(queue).plot() import matplotlib.pyplot as pt pt.show() @@ -433,7 +433,9 @@ def test_pyfmmlib_fmm(ctx_factory, dims, use_dipoles, helmholtz_k): if use_dipoles: if helmholtz_k == 0 and dims == 2: - kwargs["dipstr"] = -weights * (dipole_vec[0] + 1j * dipole_vec[1]) + kwargs["dipstr"] = ( + -weights # pylint:disable=invalid-unary-operand-type + * (dipole_vec[0] + 1j * dipole_vec[1])) else: kwargs["dipstr"] = weights kwargs["dipvec"] = dipole_vec -- GitLab From c8396d8d22e1a238c2f391059e2b1c9d4fc92946 Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:30:28 -0600 Subject: [PATCH 11/14] pyfmmlib_integration fixes --- boxtree/pyfmmlib_integration.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/boxtree/pyfmmlib_integration.py b/boxtree/pyfmmlib_integration.py index dfff104..1be91f9 100644 --- a/boxtree/pyfmmlib_integration.py +++ b/boxtree/pyfmmlib_integration.py @@ -66,8 +66,7 @@ class FMMLibExpansionWrangler(object): warn("Passing nterms is deprecated. Pass fmm_level_to_nterms instead.", DeprecationWarning, stacklevel=2) - def fmm_level_to_nterms(tree, level): - return nterms + fmm_level_to_nterms = lambda _, _: nterms self.tree = tree @@ -348,7 +347,7 @@ class FMMLibExpansionWrangler(object): def output_zeros(self): if self.ifgrad: - from pytools import make_obj_array + from pytools.obj_array import make_obj_array return make_obj_array([ np.zeros(self.tree.ntargets, self.dtype) for i in range(1 + self.dim)]) -- GitLab From a0eec0a261bd93afdc1455454a76daf41e76192e Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:30:46 -0600 Subject: [PATCH 12/14] Revert "Temporarily disable other jobs" This reverts commit 1bc747d8cc12714b779ef915f1c1e357a366ec45. --- .gitlab-ci.yml | 199 ++++++++++++++++++++++++------------------------- 1 file changed, 99 insertions(+), 100 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 60b400a..39a38ed 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,84 +1,84 @@ -# Python 2.7 POCL: -# script: -# - export PY_EXE=python2.7 -# - export PYOPENCL_TEST=portable -# - export EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# tags: -# - python2.7 -# - pocl -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml -# -# Python 3 Titan V: -# script: -# - export PY_EXE=python3 -# - export PYOPENCL_TEST=nvi:titan -# - EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# tags: -# - python3 -# - nvidia-titan-v -# allow_failure: true -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml -# -# #Python 3 Titan X: -# # script: -# # - export PY_EXE=python3 -# # - export PYOPENCL_TEST=nvi:titan -# # - EXTRA_INSTALL="pybind11 numpy mako" -# # - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# # - ". ./build-and-test-py-project.sh" -# # tags: -# # - python3 -# # - nvidia-titan-x -# # except: -# # - tags -# # artifacts: -# # reports: -# # junit: test/pytest.xml -# -# Python 3 K40: -# script: -# - export PY_EXE=python3 -# - export PYOPENCL_TEST=nvi:k40 -# - export EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# allow_failure: true -# tags: -# - python3 -# - nvidia-k40 -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml -# -# Python 3 POCL: -# script: -# - export PY_EXE=python3 -# - export PYOPENCL_TEST=portable -# - export EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh -# - ". ./build-and-test-py-project.sh" -# tags: -# - python3 -# - pocl -# except: -# - tags -# artifacts: -# reports: -# junit: test/pytest.xml +Python 2.7 POCL: + script: + - export PY_EXE=python2.7 + - export PYOPENCL_TEST=portable + - export EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh + - ". ./build-and-test-py-project.sh" + tags: + - python2.7 + - pocl + except: + - tags + artifacts: + reports: + junit: test/pytest.xml + +Python 3 Titan V: + script: + - export PY_EXE=python3 + - export PYOPENCL_TEST=nvi:titan + - EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh + - ". ./build-and-test-py-project.sh" + tags: + - python3 + - nvidia-titan-v + allow_failure: true + except: + - tags + artifacts: + reports: + junit: test/pytest.xml + +#Python 3 Titan X: +# script: +# - export PY_EXE=python3 +# - export PYOPENCL_TEST=nvi:titan +# - EXTRA_INSTALL="pybind11 numpy mako" +# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh +# - ". ./build-and-test-py-project.sh" +# tags: +# - python3 +# - nvidia-titan-x +# except: +# - tags +# artifacts: +# reports: +# junit: test/pytest.xml + +Python 3 K40: + script: + - export PY_EXE=python3 + - export PYOPENCL_TEST=nvi:k40 + - export EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh + - ". ./build-and-test-py-project.sh" + allow_failure: true + tags: + - python3 + - nvidia-k40 + except: + - tags + artifacts: + reports: + junit: test/pytest.xml + +Python 3 POCL: + script: + - export PY_EXE=python3 + - export PYOPENCL_TEST=portable + - export EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh + - ". ./build-and-test-py-project.sh" + tags: + - python3 + - pocl + except: + - tags + artifacts: + reports: + junit: test/pytest.xml Pylint: script: @@ -91,22 +91,21 @@ Pylint: except: - tags -# Documentation: -# script: -# - EXTRA_INSTALL="pybind11 numpy mako" -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-docs.sh -# - ". ./build-docs.sh" -# tags: -# - python3 -# only: -# - master -# -# Flake8: -# script: -# - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh -# - ". ./prepare-and-run-flake8.sh boxtree test" -# tags: -# - python3 -# except: -# - tags -# +Documentation: + script: + - EXTRA_INSTALL="pybind11 numpy mako" + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-docs.sh + - ". ./build-docs.sh" + tags: + - python3 + only: + - master + +Flake8: + script: + - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh + - ". ./prepare-and-run-flake8.sh boxtree test" + tags: + - python3 + except: + - tags -- GitLab From 06949f6eabc7471e8f713e3362c79314d4189d1f Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:35:38 -0600 Subject: [PATCH 13/14] Fix use of lambda --- boxtree/pyfmmlib_integration.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/boxtree/pyfmmlib_integration.py b/boxtree/pyfmmlib_integration.py index 1be91f9..a32d1e6 100644 --- a/boxtree/pyfmmlib_integration.py +++ b/boxtree/pyfmmlib_integration.py @@ -66,7 +66,8 @@ class FMMLibExpansionWrangler(object): warn("Passing nterms is deprecated. Pass fmm_level_to_nterms instead.", DeprecationWarning, stacklevel=2) - fmm_level_to_nterms = lambda _, _: nterms + def fmm_level_to_nterms(tree, level): # noqa pylint:disable=function-redefined + return nterms self.tree = tree -- GitLab From 91d60aa44ed61c9809dc50fb26cd897c407a9aed Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Thu, 31 Jan 2019 18:38:57 -0600 Subject: [PATCH 14/14] Ignore sumpy import error --- test/test_fmm.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_fmm.py b/test/test_fmm.py index dd551ab..fbd5564 100644 --- a/test/test_fmm.py +++ b/test/test_fmm.py @@ -469,9 +469,9 @@ def test_pyfmmlib_fmm(ctx_factory, dims, use_dipoles, helmholtz_k): have_sumpy = True if have_sumpy: - from sumpy.kernel import ( + from sumpy.kernel import ( # pylint:disable=import-error LaplaceKernel, HelmholtzKernel, DirectionalSourceDerivative) - from sumpy.p2p import P2P + from sumpy.p2p import P2P # pylint:disable=import-error sumpy_extra_kwargs = {} if helmholtz_k: -- GitLab