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

Commit ce94c68

Browse files
committed
Add Go autoformatting to the 'autoformat' make target and to CI
Existing gofmt complaints are fixed, and files that specifically test queries that relate to badly formatting code are tagged as such.
1 parent 26eeb3c commit ce94c68

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)