Skip to content
This repository was archived by the owner on Jan 5, 2023. It is now read-only.

Commit 650cb5e

Browse files
authored
Merge pull request #253 from smowton/smowton/admin/gofmt-in-ci
Add Go autoformatting to the 'autoformat' make target and to CI
2 parents 26eeb3c + ce94c68 commit 650cb5e

24 files changed

Lines changed: 1110 additions & 1083 deletions

File tree

.github/workflows/codeqltest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ jobs:
3333
- name: Build
3434
run: env PATH=$PATH:$HOME/codeql make
3535

36-
- name: Check that all QL code is autoformatted
37-
run: env PATH=$PATH:$HOME/codeql make AUTOFORMAT=--check-only autoformat
36+
- name: Check that all QL and Go code is autoformatted
37+
run: env PATH=$PATH:$HOME/codeql make QL_AUTOFORMAT=--check-only GO_AUTOFORMAT=-d autoformat
3838

3939
- name: Test
4040
run: env PATH=$PATH:$HOME/codeql make test

Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,14 @@ clean:
2727
rm -rf tools/bin tools/linux64 tools/osx64 tools/win64 tools/net tools/opencsv
2828
rm -rf $(EXTRACTOR_PACK_OUT) build/stats build/testdb
2929

30-
AUTOFORMAT=-qq -i
30+
QL_AUTOFORMAT=-qq -i
31+
GO_AUTOFORMAT=-w # Update files in-place
3132

3233
DATAFLOW_BRANCH=master
3334

3435
autoformat:
35-
find ql/src -name *.ql -or -name *.qll | xargs codeql query format $(AUTOFORMAT)
36+
find ql/src -name "*.ql" -or -name "*.qll" | xargs codeql query format $(QL_AUTOFORMAT)
37+
git ls-files | grep \\.go$ | xargs grep -L "//\s*autoformat-ignore" | xargs gofmt $(GO_AUTOFORMAT)
3638

3739
tools: $(addsuffix $(EXE),$(addprefix tools/bin/,$(BINARIES))) tools/tokenizer.jar
3840

ql/test/consistency/test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package main
22

3+
// autoformat-ignore (gofmt chokes on invalid programs)
4+
35
// Example file with a syntax error to demonstrate use of "expect frontend errors" directive
46

57
// codeql test: expect frontend errors
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
| tst.go:4:7:4:12 | 0b1011 | 11 | 11 |
2-
| tst.go:5:7:5:12 | 0B1011 | 11 | 11 |
3-
| tst.go:6:7:6:11 | 0o660 | 432 | 432 |
4-
| tst.go:7:7:7:11 | 0O660 | 432 | 432 |
5-
| tst.go:8:7:8:16 | 0x1.p-1021 | 0x1.p-1021 | 1/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152 |
6-
| tst.go:9:7:9:16 | 0X1.p-1021 | 0X1.p-1021 | 1/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152 |
7-
| tst.go:10:7:10:15 | 1_000_000 | 1000000 | 1000000 |
8-
| tst.go:11:7:11:18 | 0b_0101_0110 | 86 | 86 |
9-
| tst.go:12:7:12:17 | 3.1415_9265 | 3.1415_9265 | 62831853/20000000 |
1+
| tst.go:6:7:6:12 | 0b1011 | 11 | 11 |
2+
| tst.go:7:7:7:12 | 0B1011 | 11 | 11 |
3+
| tst.go:8:7:8:11 | 0o660 | 432 | 432 |
4+
| tst.go:9:7:9:11 | 0O660 | 432 | 432 |
5+
| tst.go:10:7:10:16 | 0x1.p-1021 | 0x1.p-1021 | 1/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152 |
6+
| tst.go:11:7:11:16 | 0X1.p-1021 | 0X1.p-1021 | 1/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152 |
7+
| tst.go:12:7:12:15 | 1_000_000 | 1000000 | 1000000 |
8+
| tst.go:13:7:13:18 | 0b_0101_0110 | 86 | 86 |
9+
| tst.go:14:7:14:17 | 3.1415_9265 | 3.1415_9265 | 62831853/20000000 |

ql/test/extractor-tests/go1.13/tst.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package main
22

3+
// autoformat-ignore (we intentionally test unusual capitalisations of 0B, 0O and other such prefixes)
4+
35
const (
46
b1 = 0b1011
57
b2 = 0B1011

ql/test/extractor-tests/robustness/tst.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,7 @@ package main
33
// This file tests that the extractor does not crash on files that do not
44
// end in a newline, so it is important not to autoformat this file.
55

6+
// autoformat-ignore
7+
68
func main() {
79
}

ql/test/library-tests/semmle/go/Expr/BasicLit_getText.expected

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -27,48 +27,48 @@
2727
| consts.go:47:16:47:18 | 1.0 | 1.0 |
2828
| consts.go:48:16:48:19 | "hi" | "hi" |
2929
| literals.go:3:8:3:12 | "fmt" | "fmt" |
30-
| literals.go:6:2:6:10 | "decimal" | "decimal" |
31-
| literals.go:6:17:6:18 | 42 | 42 |
32-
| literals.go:7:2:7:8 | "octal" | "octal" |
33-
| literals.go:7:17:7:20 | 0600 | 0600 |
34-
| literals.go:8:2:8:14 | "hexadecimal" | "hexadecimal" |
35-
| literals.go:8:17:8:24 | 0xcaffee | 0xcaffee |
36-
| literals.go:12:2:12:3 | 0. | 0. |
37-
| literals.go:13:2:13:6 | 72.40 | 72.40 |
38-
| literals.go:14:2:14:7 | 072.40 | 072.40 |
39-
| literals.go:15:2:15:8 | 2.71828 | 2.71828 |
40-
| literals.go:16:2:16:6 | 1.e+0 | 1.e+0 |
41-
| literals.go:17:2:17:12 | 6.67428e-11 | 6.67428e-11 |
42-
| literals.go:18:2:18:4 | 1E6 | 1E6 |
43-
| literals.go:19:2:19:4 | .25 | .25 |
44-
| literals.go:20:2:20:10 | .12345E+5 | .12345E+5 |
45-
| literals.go:24:2:24:3 | 0i | 0i |
46-
| literals.go:25:2:25:5 | 011i | 011i |
47-
| literals.go:26:2:26:4 | 0.i | 0.i |
48-
| literals.go:27:2:27:9 | 2.71828i | 2.71828i |
49-
| literals.go:28:2:28:7 | 1.e+0i | 1.e+0i |
50-
| literals.go:29:2:29:13 | 6.67428e-11i | 6.67428e-11i |
51-
| literals.go:30:2:30:5 | 1E6i | 1E6i |
52-
| literals.go:31:2:31:5 | .25i | .25i |
53-
| literals.go:32:2:32:11 | .12345E+5i | .12345E+5i |
54-
| literals.go:36:2:36:4 | 'a' | 'a' |
55-
| literals.go:37:2:37:5 | '\u00e4' | '\u00e4' |
56-
| literals.go:38:2:38:6 | '\u672c' | '\u672c' |
57-
| literals.go:39:2:39:5 | '\\t' | '\\t' |
58-
| literals.go:40:2:40:7 | '\\007' | '\\007' |
59-
| literals.go:41:2:41:7 | '\\377' | '\\377' |
60-
| literals.go:42:2:42:7 | '\\x07' | '\\x07' |
61-
| literals.go:43:2:43:7 | '\\xff' | '\\xff' |
62-
| literals.go:44:2:44:9 | '\\u12e4' | '\\u12e4' |
63-
| literals.go:45:2:45:13 | '\\U00101234' | '\\U00101234' |
64-
| literals.go:46:2:46:5 | '\\'' | '\\'' |
65-
| literals.go:50:2:50:6 | `abc` | `abc` |
66-
| literals.go:51:2:52:3 | `\\n,\n\\n` | `\\n,\n\\n` |
67-
| literals.go:53:2:53:5 | "\\n" | "\\n" |
68-
| literals.go:54:2:54:5 | "\\"" | "\\"" |
69-
| literals.go:55:2:55:18 | "Hello, world!\\n" | "Hello, world!\\n" |
70-
| literals.go:56:2:56:12 | "\u65e5\u672c\u8a9e" | "\u65e5\u672c\u8a9e" |
71-
| literals.go:57:2:57:22 | "\\u65e5\u672c\\U00008a9e" | "\\u65e5\u672c\\U00008a9e" |
72-
| literals.go:58:2:58:13 | "\\xff\\u00FF" | "\\xff\\u00FF" |
73-
| literals.go:67:22:67:27 | "\ud83d\udcff" | "\ud83d\udcff" |
74-
| literals.go:67:31:67:32 | "" | "" |
30+
| literals.go:8:2:8:10 | "decimal" | "decimal" |
31+
| literals.go:8:17:8:18 | 42 | 42 |
32+
| literals.go:9:2:9:8 | "octal" | "octal" |
33+
| literals.go:9:17:9:20 | 0600 | 0600 |
34+
| literals.go:10:2:10:14 | "hexadecimal" | "hexadecimal" |
35+
| literals.go:10:17:10:24 | 0xcaffee | 0xcaffee |
36+
| literals.go:14:2:14:3 | 0. | 0. |
37+
| literals.go:15:2:15:6 | 72.40 | 72.40 |
38+
| literals.go:16:2:16:7 | 072.40 | 072.40 |
39+
| literals.go:17:2:17:8 | 2.71828 | 2.71828 |
40+
| literals.go:18:2:18:6 | 1.e+0 | 1.e+0 |
41+
| literals.go:19:2:19:12 | 6.67428e-11 | 6.67428e-11 |
42+
| literals.go:20:2:20:4 | 1E6 | 1E6 |
43+
| literals.go:21:2:21:4 | .25 | .25 |
44+
| literals.go:22:2:22:10 | .12345E+5 | .12345E+5 |
45+
| literals.go:26:2:26:3 | 0i | 0i |
46+
| literals.go:27:2:27:5 | 011i | 011i |
47+
| literals.go:28:2:28:4 | 0.i | 0.i |
48+
| literals.go:29:2:29:9 | 2.71828i | 2.71828i |
49+
| literals.go:30:2:30:7 | 1.e+0i | 1.e+0i |
50+
| literals.go:31:2:31:13 | 6.67428e-11i | 6.67428e-11i |
51+
| literals.go:32:2:32:5 | 1E6i | 1E6i |
52+
| literals.go:33:2:33:5 | .25i | .25i |
53+
| literals.go:34:2:34:11 | .12345E+5i | .12345E+5i |
54+
| literals.go:38:2:38:4 | 'a' | 'a' |
55+
| literals.go:39:2:39:5 | '\u00e4' | '\u00e4' |
56+
| literals.go:40:2:40:6 | '\u672c' | '\u672c' |
57+
| literals.go:41:2:41:5 | '\\t' | '\\t' |
58+
| literals.go:42:2:42:7 | '\\007' | '\\007' |
59+
| literals.go:43:2:43:7 | '\\377' | '\\377' |
60+
| literals.go:44:2:44:7 | '\\x07' | '\\x07' |
61+
| literals.go:45:2:45:7 | '\\xff' | '\\xff' |
62+
| literals.go:46:2:46:9 | '\\u12e4' | '\\u12e4' |
63+
| literals.go:47:2:47:13 | '\\U00101234' | '\\U00101234' |
64+
| literals.go:48:2:48:5 | '\\'' | '\\'' |
65+
| literals.go:52:2:52:6 | `abc` | `abc` |
66+
| literals.go:53:2:54:3 | `\\n,\n\\n` | `\\n,\n\\n` |
67+
| literals.go:55:2:55:5 | "\\n" | "\\n" |
68+
| literals.go:56:2:56:5 | "\\"" | "\\"" |
69+
| literals.go:57:2:57:18 | "Hello, world!\\n" | "Hello, world!\\n" |
70+
| literals.go:58:2:58:12 | "\u65e5\u672c\u8a9e" | "\u65e5\u672c\u8a9e" |
71+
| literals.go:59:2:59:22 | "\\u65e5\u672c\\U00008a9e" | "\\u65e5\u672c\\U00008a9e" |
72+
| literals.go:60:2:60:13 | "\\xff\\u00FF" | "\\xff\\u00FF" |
73+
| literals.go:69:22:69:27 | "\ud83d\udcff" | "\ud83d\udcff" |
74+
| literals.go:69:31:69:32 | "" | "" |

ql/test/library-tests/semmle/go/Expr/BasicLit_getValue.expected

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -27,48 +27,48 @@
2727
| consts.go:47:16:47:18 | 1.0 | 1.0 |
2828
| consts.go:48:16:48:19 | "hi" | hi |
2929
| literals.go:3:8:3:12 | "fmt" | fmt |
30-
| literals.go:6:2:6:10 | "decimal" | decimal |
31-
| literals.go:6:17:6:18 | 42 | 42 |
32-
| literals.go:7:2:7:8 | "octal" | octal |
33-
| literals.go:7:17:7:20 | 0600 | 384 |
34-
| literals.go:8:2:8:14 | "hexadecimal" | hexadecimal |
35-
| literals.go:8:17:8:24 | 0xcaffee | 13303790 |
36-
| literals.go:12:2:12:3 | 0. | 0. |
37-
| literals.go:13:2:13:6 | 72.40 | 72.40 |
38-
| literals.go:14:2:14:7 | 072.40 | 072.40 |
39-
| literals.go:15:2:15:8 | 2.71828 | 2.71828 |
40-
| literals.go:16:2:16:6 | 1.e+0 | 1.e+0 |
41-
| literals.go:17:2:17:12 | 6.67428e-11 | 6.67428e-11 |
42-
| literals.go:18:2:18:4 | 1E6 | 1E6 |
43-
| literals.go:19:2:19:4 | .25 | .25 |
44-
| literals.go:20:2:20:10 | .12345E+5 | .12345E+5 |
45-
| literals.go:24:2:24:3 | 0i | 0i |
46-
| literals.go:25:2:25:5 | 011i | 011i |
47-
| literals.go:26:2:26:4 | 0.i | 0.i |
48-
| literals.go:27:2:27:9 | 2.71828i | 2.71828i |
49-
| literals.go:28:2:28:7 | 1.e+0i | 1.e+0i |
50-
| literals.go:29:2:29:13 | 6.67428e-11i | 6.67428e-11i |
51-
| literals.go:30:2:30:5 | 1E6i | 1E6i |
52-
| literals.go:31:2:31:5 | .25i | .25i |
53-
| literals.go:32:2:32:11 | .12345E+5i | .12345E+5i |
54-
| literals.go:36:2:36:4 | 'a' | a |
55-
| literals.go:37:2:37:5 | '\u00e4' | \u00e4 |
56-
| literals.go:38:2:38:6 | '\u672c' | \u672c |
57-
| literals.go:39:2:39:5 | '\\t' | \t |
58-
| literals.go:40:2:40:7 | '\\007' | \u0007 |
59-
| literals.go:41:2:41:7 | '\\377' | \ufffd |
60-
| literals.go:42:2:42:7 | '\\x07' | \u0007 |
61-
| literals.go:43:2:43:7 | '\\xff' | \ufffd |
62-
| literals.go:44:2:44:9 | '\\u12e4' | \u12e4 |
63-
| literals.go:45:2:45:13 | '\\U00101234' | \udbc4\ude34 |
64-
| literals.go:46:2:46:5 | '\\'' | ' |
65-
| literals.go:50:2:50:6 | `abc` | abc |
66-
| literals.go:51:2:52:3 | `\\n,\n\\n` | \\n,\n\\n |
67-
| literals.go:53:2:53:5 | "\\n" | \n |
68-
| literals.go:54:2:54:5 | "\\"" | " |
69-
| literals.go:55:2:55:18 | "Hello, world!\\n" | Hello, world!\n |
70-
| literals.go:56:2:56:12 | "\u65e5\u672c\u8a9e" | \u65e5\u672c\u8a9e |
71-
| literals.go:57:2:57:22 | "\\u65e5\u672c\\U00008a9e" | \u65e5\u672c\u8a9e |
72-
| literals.go:58:2:58:13 | "\\xff\\u00FF" | \ufffd\u00ff |
73-
| literals.go:67:22:67:27 | "\ud83d\udcff" | \ud83d\udcff |
74-
| literals.go:67:31:67:32 | "" | |
30+
| literals.go:8:2:8:10 | "decimal" | decimal |
31+
| literals.go:8:17:8:18 | 42 | 42 |
32+
| literals.go:9:2:9:8 | "octal" | octal |
33+
| literals.go:9:17:9:20 | 0600 | 384 |
34+
| literals.go:10:2:10:14 | "hexadecimal" | hexadecimal |
35+
| literals.go:10:17:10:24 | 0xcaffee | 13303790 |
36+
| literals.go:14:2:14:3 | 0. | 0. |
37+
| literals.go:15:2:15:6 | 72.40 | 72.40 |
38+
| literals.go:16:2:16:7 | 072.40 | 072.40 |
39+
| literals.go:17:2:17:8 | 2.71828 | 2.71828 |
40+
| literals.go:18:2:18:6 | 1.e+0 | 1.e+0 |
41+
| literals.go:19:2:19:12 | 6.67428e-11 | 6.67428e-11 |
42+
| literals.go:20:2:20:4 | 1E6 | 1E6 |
43+
| literals.go:21:2:21:4 | .25 | .25 |
44+
| literals.go:22:2:22:10 | .12345E+5 | .12345E+5 |
45+
| literals.go:26:2:26:3 | 0i | 0i |
46+
| literals.go:27:2:27:5 | 011i | 011i |
47+
| literals.go:28:2:28:4 | 0.i | 0.i |
48+
| literals.go:29:2:29:9 | 2.71828i | 2.71828i |
49+
| literals.go:30:2:30:7 | 1.e+0i | 1.e+0i |
50+
| literals.go:31:2:31:13 | 6.67428e-11i | 6.67428e-11i |
51+
| literals.go:32:2:32:5 | 1E6i | 1E6i |
52+
| literals.go:33:2:33:5 | .25i | .25i |
53+
| literals.go:34:2:34:11 | .12345E+5i | .12345E+5i |
54+
| literals.go:38:2:38:4 | 'a' | a |
55+
| literals.go:39:2:39:5 | '\u00e4' | \u00e4 |
56+
| literals.go:40:2:40:6 | '\u672c' | \u672c |
57+
| literals.go:41:2:41:5 | '\\t' | \t |
58+
| literals.go:42:2:42:7 | '\\007' | \u0007 |
59+
| literals.go:43:2:43:7 | '\\377' | \ufffd |
60+
| literals.go:44:2:44:7 | '\\x07' | \u0007 |
61+
| literals.go:45:2:45:7 | '\\xff' | \ufffd |
62+
| literals.go:46:2:46:9 | '\\u12e4' | \u12e4 |
63+
| literals.go:47:2:47:13 | '\\U00101234' | \udbc4\ude34 |
64+
| literals.go:48:2:48:5 | '\\'' | ' |
65+
| literals.go:52:2:52:6 | `abc` | abc |
66+
| literals.go:53:2:54:3 | `\\n,\n\\n` | \\n,\n\\n |
67+
| literals.go:55:2:55:5 | "\\n" | \n |
68+
| literals.go:56:2:56:5 | "\\"" | " |
69+
| literals.go:57:2:57:18 | "Hello, world!\\n" | Hello, world!\n |
70+
| literals.go:58:2:58:12 | "\u65e5\u672c\u8a9e" | \u65e5\u672c\u8a9e |
71+
| literals.go:59:2:59:22 | "\\u65e5\u672c\\U00008a9e" | \u65e5\u672c\u8a9e |
72+
| literals.go:60:2:60:13 | "\\xff\\u00FF" | \ufffd\u00ff |
73+
| literals.go:69:22:69:27 | "\ud83d\udcff" | \ud83d\udcff |
74+
| literals.go:69:31:69:32 | "" | |

0 commit comments

Comments
 (0)