summaryrefslogtreecommitdiff
blob: e4a358e0ab5921b828ee07c2ff016796df24a535 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Upstream commit https://github.com/libratbag/piper/commit/603d68726364cea5e71ef1f0153e3641ec889063, backported to 0.6
Bug: https://bugs.gentoo.org/827510
Bug: https://bugs.gentoo.org/834967

From 603d68726364cea5e71ef1f0153e3641ec889063 Mon Sep 17 00:00:00 2001
From: Tobias Kortkamp <tobias.kortkamp@gmail.com>
Date: Mon, 1 Aug 2022 15:57:28 +0200
Subject: [PATCH] Fix tests for out-of-source builds
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When the build directory is not _under_ the source directory then
flake8 cannot find the local config file and it will try to check
piper.in which fails per 1ed66262b77ebd9fe188894d36842527da39508a

To fix this I propose to

1. pass the config to flake8 explicitly
2. remove piper.in from the args list since it is excluded in the
   flake8 config anyway
3. check the generated $build/piper.devel and $build/piper too per
   1ed66262b77ebd9fe188894d36842527da39508a
4. merge the --ignore in meson.build with the config

Steps to reproduce:

```
$ meson ../build
$ ninja -C../build test
...
[17/18] Running all tests.
1/5 piper:all / files-in-git             SKIP            0.01s   exit status 77
2/5 piper / validate appdata file        OK              0.04s
3/5 piper / svg-lookup-check             OK              0.10s
4/5 piper / check-svg                    OK              0.18s
5/5 piper / flake8                       FAIL            1.00s   exit status 1
>>> MALLOC_PERTURB_=32 /gnu/store/yhhvrj6bns3ws85d338ah3bsc8jv4x64-profile/bin/flake8 --ignore=E501,W504 /home/tobias/ghq/github.com/libratbag/piper/piper /home/tobias/ghq/github.com/libratbag/piper/piper.in
――――――――――――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――――――――――――
/home/tobias/ghq/github.com/libratbag/piper/piper.in:11:19: E999 SyntaxError: invalid syntax
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
```

diff --git a/.flake8 b/.flake8
index 8f1ba6f..170b294 100644
--- a/.flake8
+++ b/.flake8
@@ -1,3 +1,3 @@
 [flake8]
-ignore = E402,E501
+ignore = E402,E501,W504
 exclude = .git,__pycache__,build,data,piper/piper.py,piper.in
diff --git a/meson.build b/meson.build
index 180a552..a4c73a1 100644
--- a/meson.build
+++ b/meson.build
@@ -135,8 +135,9 @@ if enable_tests
     flake8 = find_program('flake8')
     if flake8.found()
         test('flake8', flake8,
-             args: ['--ignore=E501,W504',
+             args: ['--config=' + join_paths(meson.current_source_dir(), '.flake8'),
                     join_paths(meson.source_root(), 'piper'),
-                    join_paths(meson.source_root(), 'piper.in')])
+                    join_paths(meson.current_build_dir(), 'piper'),
+                    join_paths(meson.current_build_dir(), 'piper.devel')])
     endif
 endif