Write a ReviewBot plugin for ShellCheck
Review Request #7701 — Created Oct. 15, 2015 and discarded
Pick a static analysis tool, shellcheck, and write the plugin.
Shellcheck is a static analysis tool, like pep8, that can automatically detect problem with sh/bash script and commands.
The feature of the shellcheck plugin will let ReviewBot can prove feedback for sh/bash script. Right now, reviewboard can detect problem with sh/bash script, if sh/bash is included in a new review request.
- Test shellcheck plugin:
1). Create a Reviewbot user, that it will review sh/bash script.
2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost.
3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script.
4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine.
5). After all above test are correct. Test explicitly exclude the specified codes from the report. Compare with the original shellcheck in terminal, and see if all the output are correct.- Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.
Description | From | Last Updated |
---|---|---|
Col: 1 E265 block comment should start with '# ' |
reviewbot | |
Col: 1 E265 block comment should start with '# ' |
reviewbot | |
Col: 1 E302 expected 2 blank lines, found 1 |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 2 E265 block comment should start with '# ' |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 E101 indentation contains mixed spaces and tabs |
reviewbot | |
Col: 9 E112 expected an indented block |
reviewbot | |
Col: 1 W293 blank line contains whitespace |
reviewbot | |
Col: 9 E265 block comment should start with '# ' |
reviewbot | |
Col: 1 W293 blank line contains whitespace |
reviewbot | |
Col: 80 E501 line too long (85 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (91 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (95 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (89 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (82 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (107 > 79 characters) |
reviewbot | |
Col: 25 W291 trailing whitespace |
reviewbot | |
Col: 57 W291 trailing whitespace |
reviewbot | |
Col: 1 W293 blank line contains whitespace |
reviewbot | |
Col: 1 W293 blank line contains whitespace |
reviewbot | |
Col: 20 W291 trailing whitespace |
reviewbot | |
Col: 1 E265 block comment should start with '# ' |
reviewbot | |
Col: 1 E265 block comment should start with '# ' |
reviewbot | |
Col: 1 E302 expected 2 blank lines, found 1 |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 2 E265 block comment should start with '# ' |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 E101 indentation contains mixed spaces and tabs |
reviewbot | |
Col: 9 E112 expected an indented block |
reviewbot | |
Col: 9 E265 block comment should start with '# ' |
reviewbot | |
Col: 80 E501 line too long (85 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (91 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (95 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (89 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (82 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (107 > 79 characters) |
reviewbot | |
Col: 1 E302 expected 2 blank lines, found 1 |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 2 E303 too many blank lines (2) |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 E101 indentation contains mixed spaces and tabs |
reviewbot | |
Col: 9 E112 expected an indented block |
reviewbot | |
Col: 9 E265 block comment should start with '# ' |
reviewbot | |
Col: 20 W292 no newline at end of file |
reviewbot | |
Col: 1 E302 expected 2 blank lines, found 1 |
reviewbot | |
Col: 2 E303 too many blank lines (2) |
reviewbot | |
Col: 2 E113 unexpected indentation |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 E101 indentation contains mixed spaces and tabs |
reviewbot | |
Col: 9 E112 expected an indented block |
reviewbot | |
Col: 1 E101 indentation contains mixed spaces and tabs |
reviewbot | |
Col: 1 E101 indentation contains mixed spaces and tabs |
reviewbot | |
Col: 1 W191 indentation contains tabs |
reviewbot | |
Col: 1 E101 indentation contains mixed spaces and tabs |
reviewbot | |
Col: 20 W292 no newline at end of file |
reviewbot | |
Col: 1 E302 expected 2 blank lines, found 1 |
reviewbot | |
Col: 5 E112 expected an indented block |
reviewbot | |
Needs a docstring. |
chipx86 | |
Let's start the versioning at 0.1 instead of 0.4.1, since this is the first version of the ShellCheck tool. |
anselina | |
"script" Missing period. |
chipx86 | |
Remove this comment since the code is self-explanatory. |
anselina | |
I thought we talked about getting the JSON output format so that we could parse it more easily and robustly … |
mike_conley | |
Make sure these gracefully handle unexpected output. Also, variable names must always be in "this_case" and not "ThisCase". |
chipx86 | |
You can use python tuple unpacking to make this much nicer: line_num, col_num, msg = line.split(':', 3) As Christian said, … |
david | |
Col: 67 W291 trailing whitespace |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 70 W291 trailing whitespace |
reviewbot | |
Col: 67 W291 trailing whitespace |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 70 W291 trailing whitespace |
reviewbot | |
Col: 1 W293 blank line contains whitespace |
reviewbot | |
Col: 61 W291 trailing whitespace |
reviewbot | |
Can you remove this, since it doesn't really add any valuable infomation for the class? |
anselina | |
s/Ruturn/Return |
anselina | |
Add a blank line before this line. |
anselina | |
Variables should use lowercase words separated by underscores (e.g. Line_Num would be line_num instead). |
anselina | |
'os' imported but unused |
reviewbot | |
'make_tempfile' imported but unused |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
This has been mentioned before, but variable names should be lower-case, separated by underscores (e.g. file_name instead of File_name). |
david | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
'os' imported but unused |
reviewbot | |
'make_tempfile' imported but unused |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 1 W293 blank line contains whitespace |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 54 E201 whitespace after '(' |
reviewbot | |
Col: 17 E128 continuation line under-indented for visual indent |
reviewbot | |
'os' imported but unused |
reviewbot | |
'make_tempfile' imported but unused |
reviewbot | |
Col: 13 E265 block comment should start with '# ' |
reviewbot | |
Col: 1 W293 blank line contains whitespace |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 54 E201 whitespace after '(' |
reviewbot | |
Col: 17 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 1 W293 blank line contains whitespace |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Couple of things here: - The first line of this docstring should describe what the class is, instead of stating … |
anselina | |
This does not return anything. It is a class. |
brennie | |
Remove this line. |
anselina | |
Since ShellCheck also identifies potential failures in addition to just style errors, let's update the description to: Checks shell scripts … |
anselina | |
Are there any options we might want to add? --exclude/-e looks pretty useful at least: http://manpages.ubuntu.com/manpages/utopic/man1/shellcheck.1.html |
anselina | |
Comments should be written in full sentences, like: # Ignore the file if it is not a shell script. |
anselina | |
I think the code is pretty self-explanatory, so let's remove these comments? |
anselina | |
It'd be useful to add a comment above this line showing an example of shellcheck's output. |
anselina | |
These lines are over-indented by 1 space. Can we also rename mesg to msg? |
anselina | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
There's no need to make col_num an int here, so we can remove that. |
anselina | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Blank line between these. |
brennie | |
Col: 80 E501 line too long (94 > 79 characters) |
reviewbot | |
This string should end with a space. |
brennie | |
Col: 82 W291 trailing whitespace |
reviewbot | |
Col: 80 E501 line too long (81 > 79 characters) |
reviewbot | |
Likewise. |
brennie | |
Col: 83 W291 trailing whitespace |
reviewbot | |
Col: 80 E501 line too long (82 > 79 characters) |
reviewbot | |
But this one should not. |
brennie | |
Col: 80 E501 line too long (91 > 79 characters) |
reviewbot | |
This should be a ChoiceField, not a CharField |
brennie | |
Col: 80 E501 line too long (86 > 79 characters) |
reviewbot | |
Col: 80 E501 line too long (81 > 79 characters) |
reviewbot | |
Col: 34 W291 trailing whitespace |
reviewbot | |
Remove this comment. |
brennie | |
This would be good in the docstring of the function. |
brennie | |
This can all be on one line. |
brennie | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
int(x) can fail if x is invalid input. This should have a try..except around it. |
brennie | |
Col: 65 W291 trailing whitespace |
reviewbot | |
Col: 1 W293 blank line contains whitespace |
reviewbot | |
Col: 19 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 35 W291 trailing whitespace |
reviewbot | |
Col: 32 E225 missing whitespace around operator |
reviewbot | |
Col: 33 E225 missing whitespace around operator |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 19 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 14 E111 indentation is not a multiple of four |
reviewbot | |
Col: 19 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 44 W291 trailing whitespace |
reviewbot | |
Col: 46 W291 trailing whitespace |
reviewbot | |
Col: 17 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 49 W291 trailing whitespace |
reviewbot | |
Col: 17 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 13 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 13 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 19 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 19 E124 closing bracket does not match visual indentation |
reviewbot | |
Col: 17 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 17 E124 closing bracket does not match visual indentation |
reviewbot | |
Col: 17 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 17 E124 closing bracket does not match visual indentation |
reviewbot | |
Col: 13 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 13 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 13 E124 closing bracket does not match visual indentation |
reviewbot | |
Col: 19 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 19 E124 closing bracket does not match visual indentation |
reviewbot | |
Col: 17 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 17 E124 closing bracket does not match visual indentation |
reviewbot | |
Col: 17 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 17 E124 closing bracket does not match visual indentation |
reviewbot | |
Col: 13 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 13 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 19 E126 continuation line over-indented for hanging indent |
reviewbot | |
Col: 19 E123 closing bracket does not match indentation of opening bracket's line |
reviewbot | |
Col: 17 E123 closing bracket does not match indentation of opening bracket's line |
reviewbot | |
Col: 17 E123 closing bracket does not match indentation of opening bracket's line |
reviewbot | |
Col: 13 E123 closing bracket does not match indentation of opening bracket's line |
reviewbot | |
Col: 19 E126 continuation line over-indented for hanging indent |
reviewbot | |
Col: 19 E123 closing bracket does not match indentation of opening bracket's line |
reviewbot | |
Col: 32 E126 continuation line over-indented for hanging indent |
reviewbot | |
Col: 32 E126 continuation line over-indented for hanging indent |
reviewbot | |
Col: 24 E126 continuation line over-indented for hanging indent |
reviewbot | |
Col: 19 E128 continuation line under-indented for visual indent |
reviewbot | |
This doesn't belong in the docstring of the tool. |
brennie | |
Col: 19 E126 continuation line over-indented for hanging indent |
reviewbot | |
These lines should be indented 4 relative to description. |
brennie | |
This won't work as an IntegerField. This will have to be a CharField or similar. |
brennie | |
Should only be one space after "Diagnostic". Also, what if we want to ignore more than one error? This should … |
brennie | |
This would be a good place to indicate the format of shellcheck output. |
brennie | |
Are we absolutely certain that we don't want to get JSON output from the shellcheck tool, parse it, and iterate … |
mike_conley | |
Re: above comments, this should check for a comma-separated list in this setting and loop through them. Shellcheck may allow … |
brennie | |
Format this as: output = execute(command_line, split_lines=True, ignore_errors=True) |
brennie | |
Blank line between these. |
brennie | |
This error message is useless. Also, you don't want to print (unless thats what other tools do for error logging). |
brennie | |
Col: 19 E126 continuation line over-indented for hanging indent |
reviewbot | |
Col: 26 E201 whitespace after '(' |
reviewbot | |
Col: 19 E126 continuation line over-indented for hanging indent |
reviewbot | |
Col: 80 E501 line too long (80 > 79 characters) |
reviewbot | |
Col: 52 W291 trailing whitespace |
reviewbot | |
Col: 80 E501 line too long (80 > 79 characters) |
reviewbot | |
Col: 52 W291 trailing whitespace |
reviewbot | |
Col: 30 W291 trailing whitespace |
reviewbot | |
Col: 34 W291 trailing whitespace |
reviewbot | |
Standard library imports should come first, then a blank line, then package-local imports. |
david | |
There are way too many spaces in here. One space between words, one space between sentences. |
david | |
This should probably be a comment, not a docstring. |
david | |
Can we reformat this as such: command_line.append('--format=%s' % self.settings['specify_dialect']) |
david | |
Same here. |
david | |
We should include the .split() call inside the try block, and catch IndexError |
david | |
This is a very poor error message. |
david | |
Col: 50 W291 trailing whitespace |
reviewbot | |
Col: 38 E127 continuation line over-indented for visual indent |
reviewbot | |
Col: 51 W291 trailing whitespace |
reviewbot | |
Col: 38 E127 continuation line over-indented for visual indent |
reviewbot | |
Col: 52 W292 no newline at end of file |
reviewbot | |
Col: 50 W291 trailing whitespace |
reviewbot | |
Col: 38 E127 continuation line over-indented for visual indent |
reviewbot | |
Col: 51 W291 trailing whitespace |
reviewbot | |
Col: 38 E127 continuation line over-indented for visual indent |
reviewbot | |
Col: 52 W292 no newline at end of file |
reviewbot | |
You should mention this accepts comma separated list. |
brennie | |
This is not useful. Remove the try: block. |
brennie | |
Col: 20 W292 no newline at end of file |
reviewbot |
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/reviewbot/tools/buildbot.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/reviewbot/tools/buildbot.py bot/setup.py
-
-
-
-
-
-
Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/reviewbot/tools/buildbot.py bot/setup.py Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/reviewbot/tools/buildbot.py bot/setup.py
-
-
-
-
-
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/reviewbot/tools/buildbot.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/reviewbot/tools/buildbot.py bot/setup.py
-
-
-
-
-
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
- Summary:
-
write a new shellcheck tool plugin[WIP]Write a ReviewBot plugin for ShellCheck[WIP]
- Description:
-
~ write a new shellcheck tool plugin[WIP]
~ Pick a static analysis tool, shellcheck, and write the plugin.
+ Shellcheck is a static analysis tool, like pep8, that can automatically detect problem with sh/bash script and commands. + The feature of the shellcheck plugin will let ReviewBot can prove feedback for sh/bash script. Right now, reviewboard can detect problem with sh/bash script, if sh/bash is included in a new review request. - Testing Done:
-
+ -
Test shellcheck plugin:
1). Create a Reviewbot user, that it will review sh/bash script.
2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost.
3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script.
4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine.
+ -
Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.
-
-
Good work on this! I mostly have style comments.
Can you update your summary to "Add ShellCheck tool plugin.", and remove the first line of your description ("Pick a static analysis tool, shellcheck, and write the plugin.")? Also, can you mark David's issue as being fixed if you've already addressed it?
-
Couple of things here:
- The first line of this docstring should describe what the class is, instead of stating what the docstring is going to describe.
- Let's get rid of the return section since a class doesn't actually return anything (that section would make more sense as the docstring for thehandle_file
method).I think the docstring for this can be pretty simple, really (maybe just
"""ShellCheck tool plugin implementation."""
). -
-
Since ShellCheck also identifies potential failures in addition to just style errors, let's update the description to:
Checks shell scripts for style errors and potential bugs using ShellCheck.
-
Are there any options we might want to add?
--exclude
/-e
looks pretty useful at least: http://manpages.ubuntu.com/manpages/utopic/man1/shellcheck.1.html -
-
-
-
-
- Testing Done:
-
~ -
Test shellcheck plugin:
1). Create a Reviewbot user, that it will review sh/bash script.
2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost.
3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script.
4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine.
~ -
Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.
~ can not been test right now after add opnions. The local dev server does not work.
~ [1. Test shellcheck plugin: + 1). Create a Reviewbot user, that it will review sh/bash script. + 2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost. + 3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script. + 4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine. + + - Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.]
-
-
Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
-
-
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
-
-
-
Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
-
-
-
- Testing Done:
-
can not been test right now after add opnions. The local dev server does not work.
~ [1. Test shellcheck plugin: ~ 1. Test shellcheck plugin: 1). Create a Reviewbot user, that it will review sh/bash script. 2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost. 3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script. 4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine. ~ - Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.]
~ - Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
-
-
-
-
Should only be one space after "Diagnostic".
Also, what if we want to ignore more than one error? This should accept a comma-separated list of codes.
-
-
Re: above comments, this should check for a comma-separated list in this setting and loop through them.
Shellcheck may allow
--exclude=1,2,3,...
or you may have to use--exclude=1 --exclude=2 --exclude=3 ...
. -
-
-
This error message is useless. Also, you don't want to
print
(unless thats what other tools do for error logging).
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
- Testing Done:
-
~ can not been test right now after add opnions. The local dev server does not work.
~ 1. Test shellcheck plugin: ~ -
Test shellcheck plugin:
1). Create a Reviewbot user, that it will review sh/bash script.
2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost.
3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script.
4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine.
~ -
Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.
- 1). Create a Reviewbot user, that it will review sh/bash script. - 2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost. - 3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script. - 4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine. - - - Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
-
-
-
-
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
-
Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py
- Testing Done:
-
~ -
Test shellcheck plugin:
1). Create a Reviewbot user, that it will review sh/bash script.
2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost.
3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script.
4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine.
~ -
Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.
~ - Test shellcheck plugin:
1). Create a Reviewbot user, that it will review sh/bash script.
2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost.
3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script.
4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine.
5). After all above test are correct. Test explicitly exclude the specified codes from the report. Compare with the orginal shellcheck in terminal, and see if all the output are correct.
~ - Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.
-
- Testing Done:
-
~ - Test shellcheck plugin:
1). Create a Reviewbot user, that it will review sh/bash script.
2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost.
3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script.
4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine.
5). After all above test are correct. Test explicitly exclude the specified codes from the report. Compare with the orginal shellcheck in terminal, and see if all the output are correct.
~ - Test shellcheck plugin:
1). Create a Reviewbot user, that it will review sh/bash script.
2). Make own repository, add it to RB, and add a .reviewboardrc with a REVIEWBOARD_URL pointing to localhost.
3). Set reviewboard extention so that reviewbot tool shellcheck will run aotumatically when there is a new review request with sh/bash script.
4). Create a review request on local instance of Review Board with sh/bash script. Once the ReviewBot user make a review of the code, compare the result with running shellcheck in terminal on the same sh/bask script. If all the outputs are same, shellcheck will works fine.
5). After all above test are correct. Test explicitly exclude the specified codes from the report. Compare with the original shellcheck in terminal, and see if all the output are correct.
- Run unit tests on reviewboard, see if the new plugin break any other features of reviewboard.
- Test shellcheck plugin:
-
Tool: Pyflakes Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py Tool: PEP8 Style Checker Processed Files: bot/reviewbot/tools/shellcheck.py bot/setup.py