Nice but dangerous workaround !


@thkukuk Won't this migration mechanism break on transactional systems?


multiple_hvac_fractions (nmerket) - x86_64-Linux-Ubuntu-18.04-gcc-7.3-UnitTestsCoverage-Debug: OK (1809 of 1809 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.png) ![Coverage Badge](http://img.shields.io/badge/coverage%20status-41.6%25-green.png)


pls delete extra bank line


Werkt het nu?


@JuveVR Грубо говоря: ты ж не можешь зайти на сервер и там резолвить merge conflict, ты всегда его должен резолвить на локальной машине


this, not htis


these are not real keys, just placeholders with the expected length


Lost a chaining arrow here: ::service -> ::end. (Unless that was on purpose for some reason?)


Lost a chaining arrow here: ::package -> ::end. (Unless that was on purpose for some reason?)


May I ask why https://github.com/dgrijalva/jwt-go was removed? It's a very solid library for dealing with JSON web Tokens


@bennuttall I suspect you meant to use `leds.source` in the first 2 examples rather than `led.source`?

@waveform80 Regarding the py3 vs. py2 warnings - can this zip_values be made to work in both Python 2 and Python 3? Or does it do so already?


✨ LGTM ✨


No need to provide a constructor if it's no different to the superclass constructor. Indeed, do we need this at all?


test


Waarom niet 2019???? GVVDDD


fixed


Ok cool. Thank you. I do have the button set up you mention in this code:

```
return (
    <li className="timeline-item timeline-item-detailed right">
      <div className="timeline-content timeline-type file">
        <div className="timeline-icon">{launchIcon}</div>

        <div className="timeline-header">
          <span className="timeline-autor">
            #{launch.id}: {launch.mission_name}
          </span>{' '}
          <p className="timeline-activity">
            {launch.rocket.rocket_name} — {launch.launch_site.site_name}
          </p>
          <span className="timeline-time">{launch.launch_date_utc.slice(0, 10)}</span>
        </div>
        <div className="timeline-summary">
          <p>{launch.details}</p>
        </div>
        <div className="timeline-video">
          <iframe
          title={launch.mission_name}
          src={"https://www.youtube.com/embed/" + videoId}>
          </iframe>
        </div>
        <button onClick={getCommentsIndex}>Comments</button>
      </div>
    </li>
  );
}
```

And I was on my way with authorization (I got the BEARER part from the GraphQL docs):

```
const comments = useSpaceXCommentsGraphQL(commentsQuery, {
    headers: {
      authorization: 'BEARER da2-tadwcysgfbgzrjsfmuf7t4huui'
    }
  })
```

Ok. Great to know I was inching closer to a solution. I'll try to strike the right balance behind putting it down and obsessing over finishing it. Thanks and happy boarding meeting!


NU DAN WEL????


study


commented


ah, for this API it's not bearer auth, just ```
const useSpaceXCommentsGraphQL = setupGraphQL(
  'https://pb3c6uzk5zhrzbcuhssogcpq74.appsync-api.us-east-1.amazonaws.com/graphql',
  {
    headers: {
      'x-api-key': X
    }
  }
);
```


Well someone's gotta keep you two honest!


Maybe later. I am just merging ready-to-merge branches :)


Je regrette que tu aies retiré le "et par ses associations" ... :(


@anudeepND this is a great idea! This is an issue I noticed and didn't know the solution for. I just recently updated my hosting link to github hosting - which includes a 'last-modified' header in hopes that it would fix it. It doesn't look like its had any effect, my lists are currently 3 days old. I'll get this added. BTW, I created a chat room for this project: https://gitter.im/lightswitch05/hosts

While I hope it doesn't get used for feature requests or bug tickets, its a great place for a discussion like this


Wie genau meinst du das? Der Block nimmt den typen an, der darin zurückgegeben wird.


@AngelFQC can you change it, please?


Ja, wird noch benutzt.


First update


Hi, Vladimir!

Hmm, I see. I was asking it because I was not able to build the current stack-rtl-mjit branch (it raised this exception: `don't know how to generate ../tool/ruby_vm/views/_insn_leaf_flag.erb (RuntimeError)`) and failed to figure out how you're generating `insn_leaf_flag` function. Is the definition gitignored?

I tried to define that by myself like

```c
static int
insn_leaf_flag(VALUE i, VALUE *ops) {
    switch (i) {
% RubyVM::Instructions.each_with_index do |insn, index|
%   insn = (insn.respond_to?(:opes) ? insn : insn.instance_variable_get(:@orig))
      case <%= index %>:
        return attr_leaf_<%= insn.name %>(<%= insn.opes.map.with_index { |_, i| "ops[#{i}]" }.join(', ') %>);
% end
    }
    return 0;
}
```
as `tool/ruby_vm/views/_insn_leaf_flag.erb`, but this seems not sufficient as `insn_leaf_flag`. Can the latest revision https://github.com/vnmakarov/ruby/commit/2c24f0cda82db228b451cd1147c3cf910da5e54e be built without any gitignored files on your environment?


En gros ça ressemble a une limitation de l'appli qui était censée être un mixte a qqchose qui s'éloigne des assos et se rapproche de l'utc...


Fixed both issues in 1f5614f774efc2251f9b9aefce9b6d24b3b98107

`zip_values` will work in both because it uses `zip` which is made compatible in `tools.py`.


@fhnwba Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.iterate/88/violations
```
plone/app/iterate/__init__.py:48:78: C812 missing trailing comma
plone/app/iterate/containers.py:72:50: C812 missing trailing comma
plone/app/iterate/containers.py:73:14: C812 missing trailing comma
plone/app/iterate/copier.py:40:1: F401 'zope.interface' imported but unused
plone/app/iterate/interfaces.py:321:23: C812 missing trailing comma
plone/app/iterate/interfaces.py:328:22: C812 missing trailing comma
plone/app/iterate/policy.py:57:45: C812 missing trailing comma
plone/app/iterate/policy.py:66:11: T000 Todo note found.
plone/app/iterate/policy.py:82:80: E501 line too long (103 > 79 characters)
plone/app/iterate/policy.py:87:80: E501 line too long (101 > 79 characters)
plone/app/iterate/policy.py:89:80: E501 line too long (84 > 79 characters)
plone/app/iterate/policy.py:93:5: E303 too many blank lines (2)
plone/app/iterate/setuphandlers.py:11:27: C812 missing trailing comma
plone/app/iterate/browser/checkout.py:70:33: C812 missing trailing comma
plone/app/iterate/browser/control.py:47:5: E303 too many blank lines (2)
plone/app/iterate/dexterity/copier.py:6:1: I001 isort found an import in the wrong position
plone/app/iterate/dexterity/copier.py:26:80: E501 line too long (80 > 79 characters)
plone/app/iterate/dexterity/copier.py:32:80: E501 line too long (92 > 79 characters)
plone/app/iterate/dexterity/copier.py:64:80: E501 line too long (97 > 79 characters)
plone/app/iterate/dexterity/copier.py:72:5: C901 'ContentCopier._copy_attributes' is too complex (14)
plone/app/iterate/dexterity/copier.py:72:80: E501 line too long (100 > 79 characters)
plone/app/iterate/dexterity/copier.py:73:80: E501 line too long (88 > 79 characters)
plone/app/iterate/dexterity/copier.py:87:19: T000 Todo note found.
plone/app/iterate/dexterity/copier.py:104:80: E501 line too long (82 > 79 characters)
plone/app/iterate/dexterity/copier.py:152:80: E501 line too long (112 > 79 characters)
plone/app/iterate/dexterity/copier.py:154:80: E501 line too long (95 > 79 characters)
plone/app/iterate/dexterity/copier.py:164:80: E501 line too long (112 > 79 characters)
plone/app/iterate/dexterity/copier.py:177:50: C812 missing trailing comma
plone/app/iterate/dexterity/copier.py:189:80: E501 line too long (113 > 79 characters)
plone/app/iterate/dexterity/copier.py:206:14: E111 indentation is not a multiple of four
plone/app/iterate/dexterity/policy.py:52:80: E501 line too long (101 > 79 characters)
plone/app/iterate/tests/test_doctests.py:19:50: C812 missing trailing comma
plone/app/iterate/tests/test_doctests.py:27:53: C812 missing trailing comma
plone/app/iterate/tests/test_iterate.py:36:1: I001 isort found an import in the wrong position
plone/app/iterate/tests/test_iterate.py:323:1: F811 redefinition of unused 'TestIterations' from line 41
plone/app/iterate/tests/test_iterate.py:373:9: E265 block comment should start with '# '
plone/app/iterate/tests/test_iterate.py:376:29: E231 missing whitespace after ','
plone/app/iterate/tests/test_iterate.py:379:9: E265 block comment should start with '# '
plone/app/iterate/tests/test_iterate.py:384:29: E231 missing whitespace after ','
plone/app/iterate/tests/test_iterate.py:388:80: E501 line too long (90 > 79 characters)
plone/app/iterate/tests/test_iterate.py:394:1: W391 blank line at end of file
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@esteele Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.iterate/87/violations
```
plone/app/iterate/__init__.py:48:78: C812 missing trailing comma
plone/app/iterate/containers.py:72:50: C812 missing trailing comma
plone/app/iterate/containers.py:73:14: C812 missing trailing comma
plone/app/iterate/interfaces.py:310:23: C812 missing trailing comma
plone/app/iterate/interfaces.py:317:22: C812 missing trailing comma
plone/app/iterate/policy.py:93:11: T000 Todo note found.
plone/app/iterate/setuphandlers.py:11:27: C812 missing trailing comma
plone/app/iterate/browser/checkout.py:70:33: C812 missing trailing comma
plone/app/iterate/dexterity/copier.py:80:19: T000 Todo note found.
plone/app/iterate/dexterity/copier.py:170:50: C812 missing trailing comma
plone/app/iterate/dexterity/policy.py:15:48: C812 missing trailing comma
plone/app/iterate/tests/test_doctests.py:19:50: C812 missing trailing comma
plone/app/iterate/tests/test_doctests.py:27:53: C812 missing trailing comma
plone/app/iterate/tests/test_iterate.py:153:11: T000 Todo note found.
plone/app/iterate/tests/test_iterate.py:288:34: S001 found module formatter
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@gforcada Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.iterate/90/violations
```
plone/app/iterate/copier.py:37:1: I001 isort found an import in the wrong position
plone/app/iterate/policy.py:57:45: C812 missing trailing comma
plone/app/iterate/policy.py:66:11: T000 Todo note found.
plone/app/iterate/permissions.py:26:1: I003 isort expected 1 blank line in imports, found 0
plone/app/iterate/base.py:160:22: W292 no newline at end of file
plone/app/iterate/testing.py:151:80: E501 line too long (83 > 79 characters)
plone/app/iterate/interfaces.py:321:23: C812 missing trailing comma
plone/app/iterate/interfaces.py:328:22: C812 missing trailing comma
plone/app/iterate/__init__.py:48:78: C812 missing trailing comma
plone/app/iterate/setuphandlers.py:11:27: C812 missing trailing comma
plone/app/iterate/event.py:28:1: I004 isort found an unexpected blank line in imports
plone/app/iterate/event.py:29:1: I001 isort found an import in the wrong position
plone/app/iterate/containers.py:72:50: C812 missing trailing comma
plone/app/iterate/containers.py:73:14: C812 missing trailing comma
plone/app/iterate/archiver.py:26:1: I004 isort found an unexpected blank line in imports
plone/app/iterate/archiver.py:27:1: I001 isort found an import in the wrong position
plone/app/iterate/browser/checkout.py:70:33: C812 missing trailing comma
plone/app/iterate/dexterity/copier.py:5:1: I001 isort found an import in the wrong position
plone/app/iterate/dexterity/copier.py:67:19: T000 Todo note found.
plone/app/iterate/dexterity/copier.py:157:50: C812 missing trailing comma
plone/app/iterate/dexterity/utils.py:25:18: C812 missing trailing comma
plone/app/iterate/tests/test_iterate.py:171:80: E501 line too long (97 > 79 characters)
plone/app/iterate/tests/test_iterate_at.py:35:1: I003 isort expected 1 blank line in imports, found 0
plone/app/iterate/tests/test_iterate_at.py:42:5: E301 expected 1 blank line, found 0
plone/app/iterate/tests/test_iterate_at.py:52:80: E501 line too long (85 > 79 characters)
plone/app/iterate/tests/test_iterate_at.py:154:11: T000 Todo note found.
plone/app/iterate/tests/test_iterate_at.py:302:80: E501 line too long (97 > 79 characters)
plone/app/iterate/tests/test_doctests.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/iterate/tests/test_doctests.py:7:1: I003 isort expected 1 blank line in imports, found 0
plone/app/iterate/tests/test_doctests.py:9:5: F401 'Products.ATContentTypes' imported but unused
plone/app/iterate/tests/test_doctests.py:26:54: C812 missing trailing comma
plone/app/iterate/tests/test_doctests.py:34:53: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@huetremy je trouve que c'est plutôt une reformulation:
> Elle est destinée aux associations, étudiants, personnels et enseignants de l'UTC


Hello!

I think I found a problem with this vector checking code.

The resizer uses nHeightP to clamp the vertical vectors (VYFull), but nHeightP is bigger than the height of the video frame.

For example, given a 720x576 video, blksize=64, overlapv=8, and pel=4, nHeightP will be 624. The resizer will use 624 * 4 - 1 as the limit, but the frame on which the vectors will be used is only 576 * 4 pixels high.

Could it be that VXFull/VYFull should only be nHeight pixels tall? At least in FlowInterExtra you only access the first nHeight rows.


Crystal clear.


Probably not. In which case, below would become:
```python
class DPC0(finite_element.CiarletElement):
    def __init__(self, ref_el):
        poly_set = polynomial_set.ONPolynomialSet(hypercube_simplex_map[ref_el], 0)
        dual = P0Dual(ref_el)
        ...
```


Oops, looks like this commit breaks the game saving (tested with the build from your repo), any attempt to save the game will crash with error message if Enable=1 in [Speed]:
```
The instruction at 6908ec83 referenced memory at 6908ec83
The memory could not be read from
```


@gotcha Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.testing/96/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/testing/tests.py:0:1: C101 Coding magic comment not found
plone/app/testing/tests.py:2:1: I001 isort found an import in the wrong position
plone/app/testing/tests.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/layers.py:0:1: C101 Coding magic comment not found
plone/app/testing/layers.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:7:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:9:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:10:1: I004 isort found an unexpected blank line in imports
plone/app/testing/layers.py:11:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:12:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:14:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:15:1: I004 isort found an unexpected blank line in imports
plone/app/testing/layers.py:16:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:17:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:17:28: C812 missing trailing comma
plone/app/testing/layers.py:18:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:20:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:34:52: E203 whitespace before ','
plone/app/testing/layers.py:35:52: E203 whitespace before ','
plone/app/testing/layers.py:36:52: E203 whitespace before ','
plone/app/testing/layers.py:37:52: E203 whitespace before ','
plone/app/testing/layers.py:39:52: E203 whitespace before ','
plone/app/testing/layers.py:40:52: E203 whitespace before ','
plone/app/testing/layers.py:41:52: E203 whitespace before ','
plone/app/testing/layers.py:43:52: E203 whitespace before ','
plone/app/testing/layers.py:44:52: E203 whitespace before ','
plone/app/testing/layers.py:46:52: E203 whitespace before ','
plone/app/testing/layers.py:47:52: E203 whitespace before ','
plone/app/testing/layers.py:48:52: E203 whitespace before ','
plone/app/testing/layers.py:50:52: E203 whitespace before ','
plone/app/testing/layers.py:51:52: E203 whitespace before ','
plone/app/testing/layers.py:52:52: E203 whitespace before ','
plone/app/testing/layers.py:54:52: E203 whitespace before ','
plone/app/testing/layers.py:55:52: E203 whitespace before ','
plone/app/testing/layers.py:56:52: E203 whitespace before ','
plone/app/testing/layers.py:58:52: E203 whitespace before ','
plone/app/testing/layers.py:59:52: E203 whitespace before ','
plone/app/testing/layers.py:61:52: E203 whitespace before ','
plone/app/testing/layers.py:62:52: E203 whitespace before ','
plone/app/testing/layers.py:63:52: E203 whitespace before ','
plone/app/testing/layers.py:64:52: E203 whitespace before ','
plone/app/testing/layers.py:66:52: E203 whitespace before ','
plone/app/testing/layers.py:68:52: E203 whitespace before ','
plone/app/testing/layers.py:69:52: E203 whitespace before ','
plone/app/testing/layers.py:71:52: E203 whitespace before ','
plone/app/testing/layers.py:72:52: E203 whitespace before ','
plone/app/testing/layers.py:74:52: E203 whitespace before ','
plone/app/testing/layers.py:75:52: E203 whitespace before ','
plone/app/testing/layers.py:77:52: E203 whitespace before ','
plone/app/testing/layers.py:78:52: E203 whitespace before ','
plone/app/testing/layers.py:91:80: E501 line too long (87 > 79 characters)
plone/app/testing/layers.py:130:80: E501 line too long (112 > 79 characters)
plone/app/testing/layers.py:135:80: E501 line too long (96 > 79 characters)
plone/app/testing/layers.py:154:21: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/testing/layers.py:188:11: T000 Todo note found.
plone/app/testing/layers.py:212:19: C812 missing trailing comma
plone/app/testing/layers.py:220:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:221:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:222:13: E124 closing bracket does not match visual indentation
plone/app/testing/layers.py:244:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/layers.py:246:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:314:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:324:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/layers.py:324:80: E501 line too long (96 > 79 characters)
plone/app/testing/layers.py:325:25: E221 multiple spaces before operator
plone/app/testing/layers.py:325:80: E501 line too long (94 > 79 characters)
plone/app/testing/layers.py:327:14: E221 multiple spaces before operator
plone/app/testing/layers.py:327:80: E501 line too long (110 > 79 characters)
plone/app/testing/layers.py:328:17: E221 multiple spaces before operator
plone/app/testing/layers.py:328:80: E501 line too long (115 > 79 characters)
plone/app/testing/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/testing/interfaces.py:5:20: Q000 Remove bad quotes.
plone/app/testing/interfaces.py:11:28: E231 missing whitespace after ','
plone/app/testing/__init__.py:0:1: C101 Coding magic comment not found
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_ZSERVER' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_FIXTURE' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_FTP_SERVER' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PloneTestLifecycle' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_INTEGRATION_TESTING' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.FunctionalTesting' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.IntegrationTesting' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PloneFixture' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_FUNCTIONAL_TESTING' imported but unused
plone/app/testing/__init__.py:2:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:3:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:4:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:7:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:7:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:9:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:10:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:11:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:12:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:12:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:14:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:15:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:17:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.quickInstallProduct' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.tearDownMultiPluginRegistration' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.PloneWithPackageLayer' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.applyProfile' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.popGlobalRegistry' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.setRoles' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.ploneSite' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.logout' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.pushGlobalRegistry' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.PloneSandboxLayer' imported but unused
plone/app/testing/__init__.py:18:1: F401 'plone.app.testing.helpers.login' imported but unused
plone/app/testing/__init__.py:18:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:19:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:20:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:21:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:22:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:22:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:23:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:24:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:25:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:25:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:26:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:27:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:28:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:28:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:29:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:30:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:30:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:31:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:32:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:32:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:33:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:34:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:34:30: C812 missing trailing comma
plone/app/testing/__init__.py:35:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:36:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:37:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:38:1: F401 'plone.app.testing.interfaces.PLONE_SITE_ID' imported but unused
plone/app/testing/__init__.py:38:1: F401 'plone.app.testing.interfaces.SITE_OWNER_PASSWORD' imported but unused
plone/app/testing/__init__.py:38:1: F401 'plone.app.testing.interfaces.TEST_USER_ID' imported but unused
plone/app/testing/__init__.py:38:1: F401 'plone.app.testing.interfaces.DEFAULT_LANGUAGE' imported but unused
plone/app/testing/__init__.py:38:1: F401 'plone.app.testing.interfaces.PLONE_SITE_TITLE' imported but unused
plone/app/testing/__init__.py:38:1: F401 'plone.app.testing.interfaces.TEST_USER_PASSWORD' imported but unused
plone/app/testing/__init__.py:38:1: F401 'plone.app.testing.interfaces.TEST_USER_ROLES' imported but unused
plone/app/testing/__init__.py:38:1: F401 'plone.app.testing.interfaces.SITE_OWNER_NAME' imported but unused
plone/app/testing/__init__.py:38:1: F401 'plone.app.testing.interfaces.TEST_USER_NAME' imported but unused
plone/app/testing/__init__.py:38:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:39:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:40:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:41:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:42:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:42:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:43:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:44:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:45:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:46:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:47:1: W293 blank line contains whitespace
plone/app/testing/__init__.py:47:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:48:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:49:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:49:28: C812 missing trailing comma
plone/app/testing/__init__.py:50:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:51:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:52:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:53:1: F401 'plone.app.testing.cleanup.cleanUpMultiPlugins' imported but unused
plone/app/testing/__init__.py:53:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:54:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:55:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:56:1: I004 isort found an unexpected blank line in imports
plone/app/testing/cleanup.py:0:1: C101 Coding magic comment not found
plone/app/testing/cleanup.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/cleanup.py:14:5: F401 'Products.PluggableAuthService.zcml' imported but unused
plone/app/testing/cleanup.py:21:80: E501 line too long (83 > 79 characters)
plone/app/testing/cleanup.py:37:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/selenium_layers.py:0:1: C101 Coding magic comment not found
plone/app/testing/selenium_layers.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/selenium_layers.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/testing/selenium_layers.py:4:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:7:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:18:13: S001 found module formatter
plone/app/testing/selenium_layers.py:18:80: E501 line too long (91 > 79 characters)
plone/app/testing/selenium_layers.py:28:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/selenium_layers.py:31:10: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:34:10: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:60:20: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:61:28: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:63:22: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:66:31: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:79:5: Q001 Remove bad quotes from multiline string.
plone/app/testing/selenium_layers.py:80:80: E501 line too long (82 > 79 characters)
plone/app/testing/selenium_layers.py:81:80: E501 line too long (86 > 79 characters)
plone/app/testing/selenium_layers.py:82:80: E501 line too long (80 > 79 characters)
plone/app/testing/selenium_layers.py:83:80: E501 line too long (81 > 79 characters)
plone/app/testing/selenium_layers.py:87:30: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:88:42: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:100:17: S001 found module formatter
plone/app/testing/selenium_layers.py:100:27: E228 missing whitespace around modulo operator
plone/app/testing/selenium_layers.py:112:21: Q000 Remove bad quotes.
plone/app/testing/helpers.py:0:1: C101 Coding magic comment not found
plone/app/testing/helpers.py:4:1: E265 block comment should start with '# '
plone/app/testing/helpers.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/testing/helpers.py:10:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:11:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:12:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:14:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:15:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:112:21: S001 found module formatter
plone/app/testing/helpers.py:200:1: E265 block comment should start with '# '
plone/app/testing/helpers.py:201:1: E302 expected 2 blank lines, found 1
plone/app/testing/helpers.py:230:9: E303 too many blank lines (2)
plone/app/testing/helpers.py:234:9: B901 blind except: statement
plone/app/testing/helpers.py:314:80: E501 line too long (86 > 79 characters)
plone/app/testing/helpers.py:322:23: Q000 Remove bad quotes.
plone/app/testing/helpers.py:322:23: S001 found module formatter
plone/app/testing/helpers.py:325:13: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:343:80: E501 line too long (87 > 79 characters)
plone/app/testing/helpers.py:402:16: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/testing/helpers.py:411:80: E501 line too long (83 > 79 characters)
plone/app/testing/helpers.py:429:5: E125 continuation line with same indent as next logical line
plone/app/testing/helpers.py:429:9: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:448:30: Q000 Remove bad quotes.
plone/app/testing/helpers.py:450:30: Q000 Remove bad quotes.
plone/app/testing/helpers.py:451:17: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:451:17: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@rpatterson Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.testing/98/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/testing/__init__.py:0:1: C101 Coding magic comment not found
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_ZSERVER' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_FIXTURE' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_FTP_SERVER' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PloneTestLifecycle' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_INTEGRATION_TESTING' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.FunctionalTesting' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.IntegrationTesting' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PloneFixture' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_FUNCTIONAL_TESTING' imported but unused
plone/app/testing/__init__.py:2:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:3:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:4:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:7:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:9:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:10:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:11:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:12:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:14:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:15:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:16:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.quickInstallProduct' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.tearDownMultiPluginRegistration' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.PloneWithPackageLayer' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.applyProfile' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.popGlobalRegistry' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.setRoles' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.ploneSite' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.logout' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.pushGlobalRegistry' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.PloneSandboxLayer' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.login' imported but unused
plone/app/testing/__init__.py:17:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:18:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:19:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:20:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:21:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:22:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:23:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:24:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:25:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:26:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:27:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:28:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:29:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:30:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:31:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:32:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:33:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:33:30: C812 missing trailing comma
plone/app/testing/__init__.py:34:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:35:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:36:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.PLONE_SITE_ID' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.SITE_OWNER_PASSWORD' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.TEST_USER_ID' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.DEFAULT_LANGUAGE' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.PLONE_SITE_TITLE' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.TEST_USER_PASSWORD' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.TEST_USER_ROLES' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.SITE_OWNER_NAME' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.TEST_USER_NAME' imported but unused
plone/app/testing/__init__.py:37:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:38:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:39:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:40:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:41:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:42:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:43:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:44:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:45:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:46:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:47:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:48:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:48:28: C812 missing trailing comma
plone/app/testing/__init__.py:49:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:50:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:51:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:52:1: F401 'plone.app.testing.cleanup.cleanUpMultiPlugins' imported but unused
plone/app/testing/__init__.py:52:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:53:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:54:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:55:1: I004 isort found an unexpected blank line in imports
plone/app/testing/api.py:0:1: C101 Coding magic comment not found
plone/app/testing/api.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/api.py:2:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:4:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/testing/api.py:10:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:11:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:12:1: I004 isort found an unexpected blank line in imports
plone/app/testing/api.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:14:1: I004 isort found an unexpected blank line in imports
plone/app/testing/api.py:15:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:16:1: I004 isort found an unexpected blank line in imports
plone/app/testing/api.py:17:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:18:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:19:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:20:1: I004 isort found an unexpected blank line in imports
plone/app/testing/api.py:21:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:22:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:23:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:23:30: E271 multiple spaces after keyword
plone/app/testing/api.py:24:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:25:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:26:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:27:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:28:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:29:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:30:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:31:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:32:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:32:28: C812 missing trailing comma
plone/app/testing/api.py:33:1: I001 isort found an import in the wrong position
plone/app/testing/api.py:125:20: E127 continuation line over-indented for visual indent
plone/app/testing/api.py:188:16: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/testing/api.py:212:35: T000 Todo note found.
plone/app/testing/api.py:217:34: T000 Todo note found.
plone/app/testing/api.py:222:38: T000 Todo note found.
plone/app/testing/api.py:227:37: T000 Todo note found.
plone/app/testing/api.py:281:12: P002 found "hasattr", consider replacing it
plone/app/testing/api.py:284:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/api.py:303:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/api.py:364:30: Q000 Remove bad quotes.
plone/app/testing/api.py:394:1: C901 'DocFileSuite' is too complex (12)
plone/app/testing/api.py:401:7: T000 Todo note found.
plone/app/testing/api.py:405:9: E129 visually indented line with same indent as next logical line
plone/app/testing/api.py:405:9: P002 found "hasattr", consider replacing it
plone/app/testing/cleanup.py:0:1: C101 Coding magic comment not found
plone/app/testing/cleanup.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/cleanup.py:14:5: F401 'Products.PluggableAuthService.zcml' imported but unused
plone/app/testing/cleanup.py:21:80: E501 line too long (83 > 79 characters)
plone/app/testing/cleanup.py:37:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/helpers.py:0:1: C101 Coding magic comment not found
plone/app/testing/helpers.py:4:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/helpers.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:7:1: I004 isort found an unexpected blank line in imports
plone/app/testing/helpers.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/testing/helpers.py:10:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:11:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:12:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:14:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:15:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:112:21: S001 found module formatter
plone/app/testing/helpers.py:306:17: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:311:23: Q000 Remove bad quotes.
plone/app/testing/helpers.py:311:23: S001 found module formatter
plone/app/testing/helpers.py:314:13: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:394:16: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/testing/helpers.py:422:5: E125 continuation line with same indent as next logical line
plone/app/testing/helpers.py:422:9: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:444:30: Q000 Remove bad quotes.
plone/app/testing/helpers.py:446:30: Q000 Remove bad quotes.
plone/app/testing/helpers.py:447:17: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:447:17: Q000 Remove bad quotes.
plone/app/testing/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/testing/interfaces.py:5:20: Q000 Remove bad quotes.
plone/app/testing/interfaces.py:11:28: E231 missing whitespace after ','
plone/app/testing/layers.py:0:1: C101 Coding magic comment not found
plone/app/testing/layers.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:7:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:9:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:10:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:11:1: I004 isort found an unexpected blank line in imports
plone/app/testing/layers.py:12:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:14:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:15:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:16:1: I004 isort found an unexpected blank line in imports
plone/app/testing/layers.py:17:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:18:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:18:28: C812 missing trailing comma
plone/app/testing/layers.py:19:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:21:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:35:52: E203 whitespace before ','
plone/app/testing/layers.py:36:52: E203 whitespace before ','
plone/app/testing/layers.py:37:52: E203 whitespace before ','
plone/app/testing/layers.py:39:52: E203 whitespace before ','
plone/app/testing/layers.py:40:52: E203 whitespace before ','
plone/app/testing/layers.py:41:52: E203 whitespace before ','
plone/app/testing/layers.py:43:52: E203 whitespace before ','
plone/app/testing/layers.py:44:52: E203 whitespace before ','
plone/app/testing/layers.py:46:52: E203 whitespace before ','
plone/app/testing/layers.py:47:52: E203 whitespace before ','
plone/app/testing/layers.py:48:52: E203 whitespace before ','
plone/app/testing/layers.py:50:52: E203 whitespace before ','
plone/app/testing/layers.py:51:52: E203 whitespace before ','
plone/app/testing/layers.py:52:52: E203 whitespace before ','
plone/app/testing/layers.py:54:52: E203 whitespace before ','
plone/app/testing/layers.py:55:52: E203 whitespace before ','
plone/app/testing/layers.py:56:52: E203 whitespace before ','
plone/app/testing/layers.py:58:52: E203 whitespace before ','
plone/app/testing/layers.py:59:52: E203 whitespace before ','
plone/app/testing/layers.py:61:52: E203 whitespace before ','
plone/app/testing/layers.py:62:52: E203 whitespace before ','
plone/app/testing/layers.py:63:52: E203 whitespace before ','
plone/app/testing/layers.py:64:52: E203 whitespace before ','
plone/app/testing/layers.py:66:52: E203 whitespace before ','
plone/app/testing/layers.py:68:52: E203 whitespace before ','
plone/app/testing/layers.py:70:52: E203 whitespace before ','
plone/app/testing/layers.py:71:52: E203 whitespace before ','
plone/app/testing/layers.py:73:52: E203 whitespace before ','
plone/app/testing/layers.py:74:52: E203 whitespace before ','
plone/app/testing/layers.py:76:52: E203 whitespace before ','
plone/app/testing/layers.py:77:52: E203 whitespace before ','
plone/app/testing/layers.py:79:52: E203 whitespace before ','
plone/app/testing/layers.py:80:52: E203 whitespace before ','
plone/app/testing/layers.py:81:52: E203 whitespace before ','
plone/app/testing/layers.py:83:52: E203 whitespace before ','
plone/app/testing/layers.py:84:52: E203 whitespace before ','
plone/app/testing/layers.py:98:80: E501 line too long (87 > 79 characters)
plone/app/testing/layers.py:131:80: E501 line too long (112 > 79 characters)
plone/app/testing/layers.py:136:80: E501 line too long (96 > 79 characters)
plone/app/testing/layers.py:155:21: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/testing/layers.py:189:11: T000 Todo note found.
plone/app/testing/layers.py:213:19: C812 missing trailing comma
plone/app/testing/layers.py:221:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:222:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:223:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:224:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:225:13: E124 closing bracket does not match visual indentation
plone/app/testing/layers.py:247:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/layers.py:249:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:312:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:316:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:326:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/layers.py:326:80: E501 line too long (96 > 79 characters)
plone/app/testing/layers.py:327:25: E221 multiple spaces before operator
plone/app/testing/layers.py:327:80: E501 line too long (94 > 79 characters)
plone/app/testing/layers.py:329:14: E221 multiple spaces before operator
plone/app/testing/layers.py:329:80: E501 line too long (110 > 79 characters)
plone/app/testing/layers.py:330:17: E221 multiple spaces before operator
plone/app/testing/layers.py:330:80: E501 line too long (115 > 79 characters)
plone/app/testing/mail.py:0:1: C101 Coding magic comment not found
plone/app/testing/mail.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/mail.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/testing/mail.py:3:1: I001 isort found an import in the wrong position
plone/app/testing/mail.py:4:1: I004 isort found an unexpected blank line in imports
plone/app/testing/mail.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:0:1: C101 Coding magic comment not found
plone/app/testing/selenium_layers.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/selenium_layers.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/testing/selenium_layers.py:4:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:7:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:18:13: S001 found module formatter
plone/app/testing/selenium_layers.py:28:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/selenium_layers.py:31:10: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:34:10: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:60:20: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:61:28: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:63:22: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:66:31: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:79:5: Q001 Remove bad quotes from multiline string.
plone/app/testing/selenium_layers.py:80:80: E501 line too long (82 > 79 characters)
plone/app/testing/selenium_layers.py:81:80: E501 line too long (86 > 79 characters)
plone/app/testing/selenium_layers.py:82:80: E501 line too long (80 > 79 characters)
plone/app/testing/selenium_layers.py:83:80: E501 line too long (81 > 79 characters)
plone/app/testing/selenium_layers.py:87:30: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:88:42: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:100:17: S001 found module formatter
plone/app/testing/selenium_layers.py:100:27: E228 missing whitespace around modulo operator
plone/app/testing/selenium_layers.py:112:21: Q000 Remove bad quotes.
plone/app/testing/tests/__init__.py:0:1: C101 Coding magic comment not found
plone/app/testing/tests/test_api.py:0:1: C101 Coding magic comment not found
plone/app/testing/tests/test_docfiles.py:0:1: C101 Coding magic comment not found
plone/app/testing/tests/test_docfiles.py:1:1: I001 isort found an import in the wrong position
plone/app/testing/tests/test_docfiles.py:2:1: I001 isort found an import in the wrong position
plone/app/testing/tests/test_docfiles.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/testing/tests/test_docfiles.py:4:1: I001 isort found an import in the wrong position
plone/app/testing/tests/test_docfiles.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/tests/test_docfiles.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/tests/test_docfiles.py:24:1: W293 blank line contains whitespace
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@gforcada Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.testing/103/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/testing/tests.py:0:1: C101 Coding magic comment not found
plone/app/testing/tests.py:2:1: I001 isort found an import in the wrong position
plone/app/testing/tests.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/tests.py:14:5: E265 block comment should start with '# '
plone/app/testing/tests.py:17:5: E265 block comment should start with '# '
plone/app/testing/tests.py:22:1: E122 continuation line missing indentation or outdented
plone/app/testing/bbb.py:0:1: C101 Coding magic comment not found
plone/app/testing/bbb.py:4:1: I001 isort found an import in the wrong position
plone/app/testing/bbb.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/bbb.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/bbb.py:7:1: I001 isort found an import in the wrong position
plone/app/testing/bbb.py:10:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/bbb.py:11:1: E302 expected 2 blank lines, found 1
plone/app/testing/bbb.py:49:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/bbb.py:63:80: E501 line too long (87 > 79 characters)
plone/app/testing/bbb.py:92:9: Q001 Remove bad quotes from multiline string.
plone/app/testing/layers.py:0:1: C101 Coding magic comment not found
plone/app/testing/layers.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:6:1: I004 isort found an unexpected blank line in imports
plone/app/testing/layers.py:10:1: I004 isort found an unexpected blank line in imports
plone/app/testing/layers.py:11:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:12:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:14:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:15:1: I004 isort found an unexpected blank line in imports
plone/app/testing/layers.py:16:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:17:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:18:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:19:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:20:1: I004 isort found an unexpected blank line in imports
plone/app/testing/layers.py:21:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:22:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:22:28: C812 missing trailing comma
plone/app/testing/layers.py:23:1: I001 isort found an import in the wrong position
plone/app/testing/layers.py:25:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:39:52: E203 whitespace before ','
plone/app/testing/layers.py:40:52: E203 whitespace before ','
plone/app/testing/layers.py:41:52: E203 whitespace before ','
plone/app/testing/layers.py:43:52: E203 whitespace before ','
plone/app/testing/layers.py:44:52: E203 whitespace before ','
plone/app/testing/layers.py:45:52: E203 whitespace before ','
plone/app/testing/layers.py:47:52: E203 whitespace before ','
plone/app/testing/layers.py:48:52: E203 whitespace before ','
plone/app/testing/layers.py:50:52: E203 whitespace before ','
plone/app/testing/layers.py:51:52: E203 whitespace before ','
plone/app/testing/layers.py:52:52: E203 whitespace before ','
plone/app/testing/layers.py:54:52: E203 whitespace before ','
plone/app/testing/layers.py:55:52: E203 whitespace before ','
plone/app/testing/layers.py:56:52: E203 whitespace before ','
plone/app/testing/layers.py:58:52: E203 whitespace before ','
plone/app/testing/layers.py:59:52: E203 whitespace before ','
plone/app/testing/layers.py:60:52: E203 whitespace before ','
plone/app/testing/layers.py:62:52: E203 whitespace before ','
plone/app/testing/layers.py:63:52: E203 whitespace before ','
plone/app/testing/layers.py:65:52: E203 whitespace before ','
plone/app/testing/layers.py:66:52: E203 whitespace before ','
plone/app/testing/layers.py:67:52: E203 whitespace before ','
plone/app/testing/layers.py:69:52: E203 whitespace before ','
plone/app/testing/layers.py:71:52: E203 whitespace before ','
plone/app/testing/layers.py:73:52: E203 whitespace before ','
plone/app/testing/layers.py:74:52: E203 whitespace before ','
plone/app/testing/layers.py:76:52: E203 whitespace before ','
plone/app/testing/layers.py:77:52: E203 whitespace before ','
plone/app/testing/layers.py:79:52: E203 whitespace before ','
plone/app/testing/layers.py:80:52: E203 whitespace before ','
plone/app/testing/layers.py:82:52: E203 whitespace before ','
plone/app/testing/layers.py:83:52: E203 whitespace before ','
plone/app/testing/layers.py:84:52: E203 whitespace before ','
plone/app/testing/layers.py:86:52: E203 whitespace before ','
plone/app/testing/layers.py:87:52: E203 whitespace before ','
plone/app/testing/layers.py:101:80: E501 line too long (87 > 79 characters)
plone/app/testing/layers.py:134:80: E501 line too long (112 > 79 characters)
plone/app/testing/layers.py:139:80: E501 line too long (96 > 79 characters)
plone/app/testing/layers.py:158:21: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/testing/layers.py:192:11: T000 Todo note found.
plone/app/testing/layers.py:216:19: C812 missing trailing comma
plone/app/testing/layers.py:224:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:225:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:226:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:227:17: E128 continuation line under-indented for visual indent
plone/app/testing/layers.py:228:13: E124 closing bracket does not match visual indentation
plone/app/testing/layers.py:250:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/layers.py:252:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:290:9: E303 too many blank lines (2)
plone/app/testing/layers.py:317:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:321:1: E302 expected 2 blank lines, found 1
plone/app/testing/layers.py:331:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/layers.py:331:80: E501 line too long (96 > 79 characters)
plone/app/testing/layers.py:332:25: E221 multiple spaces before operator
plone/app/testing/layers.py:332:80: E501 line too long (94 > 79 characters)
plone/app/testing/layers.py:334:14: E221 multiple spaces before operator
plone/app/testing/layers.py:334:80: E501 line too long (110 > 79 characters)
plone/app/testing/layers.py:335:17: E221 multiple spaces before operator
plone/app/testing/layers.py:335:80: E501 line too long (115 > 79 characters)
plone/app/testing/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/testing/interfaces.py:5:20: Q000 Remove bad quotes.
plone/app/testing/interfaces.py:11:28: E231 missing whitespace after ','
plone/app/testing/__init__.py:0:1: C101 Coding magic comment not found
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_ZSERVER' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_FIXTURE' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_FTP_SERVER' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PloneTestLifecycle' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_INTEGRATION_TESTING' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.FunctionalTesting' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.IntegrationTesting' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PloneFixture' imported but unused
plone/app/testing/__init__.py:2:1: F401 'plone.app.testing.layers.PLONE_FUNCTIONAL_TESTING' imported but unused
plone/app/testing/__init__.py:2:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:3:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:4:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:7:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:9:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:10:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:11:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:12:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:14:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:15:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:16:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.quickInstallProduct' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.tearDownMultiPluginRegistration' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.PloneWithPackageLayer' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.applyProfile' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.popGlobalRegistry' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.setRoles' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.ploneSite' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.logout' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.pushGlobalRegistry' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.PloneSandboxLayer' imported but unused
plone/app/testing/__init__.py:17:1: F401 'plone.app.testing.helpers.login' imported but unused
plone/app/testing/__init__.py:17:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:18:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:19:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:20:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:21:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:22:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:23:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:24:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:25:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:26:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:27:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:28:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:29:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:30:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:31:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:32:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:33:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:33:30: C812 missing trailing comma
plone/app/testing/__init__.py:34:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:35:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:36:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.PLONE_SITE_ID' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.SITE_OWNER_PASSWORD' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.TEST_USER_ID' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.DEFAULT_LANGUAGE' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.PLONE_SITE_TITLE' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.TEST_USER_PASSWORD' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.TEST_USER_ROLES' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.SITE_OWNER_NAME' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.TEST_USER_NAME' imported but unused
plone/app/testing/__init__.py:37:1: F401 'plone.app.testing.interfaces.ROBOT_TEST_LEVEL' imported but unused
plone/app/testing/__init__.py:37:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:38:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:39:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:40:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:41:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:42:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:43:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:44:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:45:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:46:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:47:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:48:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:49:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:50:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:51:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:52:1: I004 isort found an unexpected blank line in imports
plone/app/testing/__init__.py:53:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:54:1: F401 'plone.app.testing.cleanup.cleanUpMultiPlugins' imported but unused
plone/app/testing/__init__.py:54:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:55:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:56:1: I001 isort found an import in the wrong position
plone/app/testing/__init__.py:57:1: I004 isort found an unexpected blank line in imports
plone/app/testing/cleanup.py:0:1: C101 Coding magic comment not found
plone/app/testing/cleanup.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/cleanup.py:14:5: F401 'Products.PluggableAuthService.zcml' imported but unused
plone/app/testing/cleanup.py:21:80: E501 line too long (83 > 79 characters)
plone/app/testing/cleanup.py:37:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/selenium_layers.py:0:1: C101 Coding magic comment not found
plone/app/testing/selenium_layers.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/selenium_layers.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/testing/selenium_layers.py:4:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:5:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:7:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/selenium_layers.py:18:13: S001 found module formatter
plone/app/testing/selenium_layers.py:28:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/selenium_layers.py:31:10: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:34:10: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:60:20: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:61:28: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:63:22: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:66:31: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:79:5: Q001 Remove bad quotes from multiline string.
plone/app/testing/selenium_layers.py:80:80: E501 line too long (82 > 79 characters)
plone/app/testing/selenium_layers.py:81:80: E501 line too long (86 > 79 characters)
plone/app/testing/selenium_layers.py:82:80: E501 line too long (80 > 79 characters)
plone/app/testing/selenium_layers.py:83:80: E501 line too long (81 > 79 characters)
plone/app/testing/selenium_layers.py:87:30: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:88:42: Q000 Remove bad quotes.
plone/app/testing/selenium_layers.py:100:17: S001 found module formatter
plone/app/testing/selenium_layers.py:100:27: E228 missing whitespace around modulo operator
plone/app/testing/selenium_layers.py:112:21: Q000 Remove bad quotes.
plone/app/testing/helpers.py:0:1: C101 Coding magic comment not found
plone/app/testing/helpers.py:4:1: I003 isort expected 1 blank line in imports, found 0
plone/app/testing/helpers.py:6:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:7:1: I004 isort found an unexpected blank line in imports
plone/app/testing/helpers.py:8:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/testing/helpers.py:10:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:11:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:12:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:13:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:14:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:15:1: I001 isort found an import in the wrong position
plone/app/testing/helpers.py:112:21: S001 found module formatter
plone/app/testing/helpers.py:306:17: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:311:23: Q000 Remove bad quotes.
plone/app/testing/helpers.py:311:23: S001 found module formatter
plone/app/testing/helpers.py:314:13: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:393:16: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/testing/helpers.py:421:5: E125 continuation line with same indent as next logical line
plone/app/testing/helpers.py:421:9: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:443:30: Q000 Remove bad quotes.
plone/app/testing/helpers.py:445:30: Q000 Remove bad quotes.
plone/app/testing/helpers.py:446:17: E128 continuation line under-indented for visual indent
plone/app/testing/helpers.py:446:17: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@jaroel Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.testing/104/violations
```
plone/app/testing/bbb.py:55:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/bbb.py:99:9: Q001 Remove bad quotes from multiline string.
plone/app/testing/bbb_at.py:55:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/bbb_at.py:99:9: Q001 Remove bad quotes from multiline string.
plone/app/testing/cleanup.py:39:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/helpers.py:432:16: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/testing/helpers.py:442:25: C812 missing trailing comma
plone/app/testing/helpers.py:488:41: C812 missing trailing comma
plone/app/testing/layers.py:106:32: C812 missing trailing comma
plone/app/testing/layers.py:141:45: C812 missing trailing comma
plone/app/testing/layers.py:167:21: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/testing/layers.py:203:11: T000 Todo note found.
plone/app/testing/layers.py:227:15: C812 missing trailing comma
plone/app/testing/layers.py:253:31: C812 missing trailing comma
plone/app/testing/layers.py:264:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/layers.py:358:39: C812 missing trailing comma
plone/app/testing/layers.py:380:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/testing/layers.py:382:29: C812 missing trailing comma
plone/app/testing/layers.py:386:28: C812 missing trailing comma
plone/app/testing/layers.py:391:25: C812 missing trailing comma
plone/app/testing/layers.py:395:27: C812 missing trailing comma
plone/app/testing/selenium_layers.py:21:35: C812 missing trailing comma
plone/app/testing/selenium_layers.py:32:1: E305 expected 2 blank lines after class or function definition, found 1
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


Perhaps using `stable` and `lts/*` instead of hardcoded version numbers (ie. respectively `'11'` and `'10'`) would avoid any future change?

Here's an [example](https://travis-ci.org/Berkmann18/TemplateJS/builds/487048076/config) which (as of 8 days ago) targets: `node` `v11.9.0` and `v10.15.1`.


Now could not deploy this pull request as it was unable to determine the deployment type.
The repo contains both a Dockerfile and a package.json.

To fix this, set the type field in now.json.

For more information on now.json visit https://zeit.co/docs/features/configuration#now.json.


2nd Push
New image added for the Bitcoin cryptocurrency


Because when the libraries are built with Xcode 10.2, Swift doesn't see their symbols any more.

I have no idea why :/


@jerpelea


Three attempts were needed for a successful image upload