* [Buildroot] [RFC PATCH 1/1] testing/infra: add test for code style
@ 2017-10-02 1:17 Ricardo Martincoski
2017-10-02 6:27 ` Yann E. MORIN
0 siblings, 1 reply; 3+ messages in thread
From: Ricardo Martincoski @ 2017-10-02 1:17 UTC (permalink / raw)
To: buildroot
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
---
NOTICE: this would require to install flake8 to the docker image
buildroot/base.
The configs could be fine-tuned by either adding options to the call,
such as:
"--max-line-length=132",
or pointing to the config file:
"--config={}".format(infra.filepath("conf/unittest.cfg")),
and adding to support/testing/conf/unittest.cfg something like this:
[flake8]
max-line-length=132
as pointed out by Yann E. MORIN in the review of
http://patchwork.ozlabs.org/patch/819800/
Flake8 will also test files pointed by symlinks.
---
.gitlab-ci.yml | 1 +
support/testing/infra/test_code_style.py | 27 +++++++++++++++++++++++++++
2 files changed, 28 insertions(+)
create mode 100644 support/testing/infra/test_code_style.py
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0e0773fc74..9e33217bd8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -218,6 +218,7 @@ zynq_microzed_defconfig: *defconfig
zynq_zc706_defconfig: *defconfig
zynq_zed_defconfig: *defconfig
zynq_zybo_defconfig: *defconfig
+infra.test_code_style.TestInfraCodeStyle: *runtime_test
tests.core.test_post_scripts.TestPostScripts: *runtime_test
tests.core.test_rootfs_overlay.TestRootfsOverlay: *runtime_test
tests.core.test_timezone.TestGlibcAllTimezone: *runtime_test
diff --git a/support/testing/infra/test_code_style.py b/support/testing/infra/test_code_style.py
new file mode 100644
index 0000000000..6f06ebd145
--- /dev/null
+++ b/support/testing/infra/test_code_style.py
@@ -0,0 +1,27 @@
+import subprocess
+
+import infra
+import infra.basetest
+
+
+class TestInfraCodeStyle(infra.basetest.BRTest):
+ config = ""
+ logfile = None
+
+ def setUp(self):
+ self.show_msg("Starting")
+ self.logfile = infra.open_log_file(self.builddir, "style",
+ self.logtofile)
+
+ def tearDown(self):
+ self.show_msg("Cleaning up")
+
+ def test_run(self):
+ cmd = ["flake8",
+ infra.filepath("run-tests"),
+ infra.filepath("")]
+ self.logfile.write("> starting '%s'\n" % " ".join(cmd))
+ self.logfile.flush()
+ ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile)
+ if ret != 0:
+ raise SystemError("There are code style warnings")
--
2.13.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [RFC PATCH 1/1] testing/infra: add test for code style
2017-10-02 1:17 [Buildroot] [RFC PATCH 1/1] testing/infra: add test for code style Ricardo Martincoski
@ 2017-10-02 6:27 ` Yann E. MORIN
2017-10-03 1:05 ` Ricardo Martincoski
0 siblings, 1 reply; 3+ messages in thread
From: Yann E. MORIN @ 2017-10-02 6:27 UTC (permalink / raw)
To: buildroot
Ricardo, all,
On 2017-10-01 22:17 -0300, Ricardo Martincoski spake thusly:
> Cc: Arnout Vandecappelle <arnout@mind.be>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Yann E. MORIN <yann.morin.1998@free.fr>
> Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
> ---
> NOTICE: this would require to install flake8 to the docker image
> buildroot/base.
>
> The configs could be fine-tuned by either adding options to the call,
> such as:
> "--max-line-length=132",
> or pointing to the config file:
> "--config={}".format(infra.filepath("conf/unittest.cfg")),
> and adding to support/testing/conf/unittest.cfg something like this:
> [flake8]
> max-line-length=132
> as pointed out by Yann E. MORIN in the review of
> http://patchwork.ozlabs.org/patch/819800/
Note that if the file is support/testing/setup.cfg, then flake8 will
automatically find it, without the need for passing the --config option.
It can also be named support/testing/.flake8, but I don't like
dot-files, as they are hard to find.
If we wanted to sharea single file for nose2 and flake8, then we could
move support/testing/conf/unittest.cfg to support/testing/setup.cfg.
But why would we want to share a single file for the two different
tools?
Regards,
Yann E. MORIN.
> Flake8 will also test files pointed by symlinks.
> ---
> .gitlab-ci.yml | 1 +
> support/testing/infra/test_code_style.py | 27 +++++++++++++++++++++++++++
> 2 files changed, 28 insertions(+)
> create mode 100644 support/testing/infra/test_code_style.py
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 0e0773fc74..9e33217bd8 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -218,6 +218,7 @@ zynq_microzed_defconfig: *defconfig
> zynq_zc706_defconfig: *defconfig
> zynq_zed_defconfig: *defconfig
> zynq_zybo_defconfig: *defconfig
> +infra.test_code_style.TestInfraCodeStyle: *runtime_test
> tests.core.test_post_scripts.TestPostScripts: *runtime_test
> tests.core.test_rootfs_overlay.TestRootfsOverlay: *runtime_test
> tests.core.test_timezone.TestGlibcAllTimezone: *runtime_test
> diff --git a/support/testing/infra/test_code_style.py b/support/testing/infra/test_code_style.py
> new file mode 100644
> index 0000000000..6f06ebd145
> --- /dev/null
> +++ b/support/testing/infra/test_code_style.py
> @@ -0,0 +1,27 @@
> +import subprocess
> +
> +import infra
> +import infra.basetest
> +
> +
> +class TestInfraCodeStyle(infra.basetest.BRTest):
> + config = ""
> + logfile = None
> +
> + def setUp(self):
> + self.show_msg("Starting")
> + self.logfile = infra.open_log_file(self.builddir, "style",
> + self.logtofile)
> +
> + def tearDown(self):
> + self.show_msg("Cleaning up")
> +
> + def test_run(self):
> + cmd = ["flake8",
> + infra.filepath("run-tests"),
> + infra.filepath("")]
> + self.logfile.write("> starting '%s'\n" % " ".join(cmd))
> + self.logfile.flush()
> + ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile)
> + if ret != 0:
> + raise SystemError("There are code style warnings")
> --
> 2.13.0
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [RFC PATCH 1/1] testing/infra: add test for code style
2017-10-02 6:27 ` Yann E. MORIN
@ 2017-10-03 1:05 ` Ricardo Martincoski
0 siblings, 0 replies; 3+ messages in thread
From: Ricardo Martincoski @ 2017-10-03 1:05 UTC (permalink / raw)
To: buildroot
Hello,
On Mon, Oct 02, 2017 at 03:27 AM, Yann E. MORIN wrote:
> On 2017-10-01 22:17 -0300, Ricardo Martincoski spake thusly:
>> Cc: Arnout Vandecappelle <arnout@mind.be>
>> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>> Cc: Yann E. MORIN <yann.morin.1998@free.fr>
>> Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
>> ---
>> NOTICE: this would require to install flake8 to the docker image
>> buildroot/base.
>>
>> The configs could be fine-tuned by either adding options to the call,
>> such as:
>> "--max-line-length=132",
>> or pointing to the config file:
>> "--config={}".format(infra.filepath("conf/unittest.cfg")),
>> and adding to support/testing/conf/unittest.cfg something like this:
>> [flake8]
>> max-line-length=132
>> as pointed out by Yann E. MORIN in the review of
>> http://patchwork.ozlabs.org/patch/819800/
>
> Note that if the file is support/testing/setup.cfg, then flake8 will
> automatically find it, without the need for passing the --config option.
Indeed. Also in any parent directory it works, i.e. support/setup.cfg
>
> It can also be named support/testing/.flake8, but I don't like
> dot-files, as they are hard to find.
This filename seems suitable to use in the root directory of the project:
buildroot/.flake8
So with one file we would cover support/, utils/ and also the test files in each
package directory.
And even this RFC patch becomes almost useless.
>
> If we wanted to sharea single file for nose2 and flake8, then we could
> move support/testing/conf/unittest.cfg to support/testing/setup.cfg.
> But why would we want to share a single file for the two different
> tools?
Fair enough. We don't need to share a single file.
Regards,
Ricardo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-10-03 1:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-02 1:17 [Buildroot] [RFC PATCH 1/1] testing/infra: add test for code style Ricardo Martincoski
2017-10-02 6:27 ` Yann E. MORIN
2017-10-03 1:05 ` Ricardo Martincoski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox