Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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