mirror of
				https://github.com/actions/setup-go.git
				synced 2025-10-26 12:56:24 +00:00 
			
		
		
		
	starting
This commit is contained in:
		| @@ -9,6 +9,9 @@ import * as main from '../src/main'; | |||||||
| import * as im from '../src/installer'; | import * as im from '../src/installer'; | ||||||
|  |  | ||||||
| let goJsonData = require('./data/golang-dl.json'); | let goJsonData = require('./data/golang-dl.json'); | ||||||
|  | let matchers = require('../matchers.json'); | ||||||
|  | let matcherPattern = matchers.problemMatcher[0].pattern[0]; | ||||||
|  | let matcherRegExp = new RegExp(matcherPattern.regexp); | ||||||
|  |  | ||||||
| describe('setup-go', () => { | describe('setup-go', () => { | ||||||
|   let inputs = {} as any; |   let inputs = {} as any; | ||||||
| @@ -322,6 +325,72 @@ describe('setup-go', () => { | |||||||
|     expect(added).toBeTruthy; |     expect(added).toBeTruthy; | ||||||
|   }); |   }); | ||||||
|  |  | ||||||
|  |   interface Annotation { | ||||||
|  |     file: string, | ||||||
|  |     line: number, | ||||||
|  |     column: number, | ||||||
|  |     message: string | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // | ||||||
|  |   // problem matcher regex pattern tests | ||||||
|  |  | ||||||
|  |   function testMatch(line: string): Annotation { | ||||||
|  |     let annotation = <Annotation>{}; | ||||||
|  |  | ||||||
|  |     let match = matcherRegExp.exec(line); | ||||||
|  |     if (match) { | ||||||
|  |       annotation.line = parseInt(match[matcherPattern.line], 10); | ||||||
|  |       annotation.column = parseInt(match[matcherPattern.column], 10); | ||||||
|  |       annotation.file = match[matcherPattern.file].trim(); | ||||||
|  |       annotation.message = match[matcherPattern.message].trim(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return annotation; | ||||||
|  |   }   | ||||||
|  |  | ||||||
|  |   it('matches on rooted unix path', async () => { | ||||||
|  |     let line = '/assert.go:4:1: missing return at end of function'; | ||||||
|  |     let annotation = testMatch(line); | ||||||
|  |     expect(annotation).toBeDefined(); | ||||||
|  |     expect(annotation.line).toBe(4); | ||||||
|  |     expect(annotation.column).toBe(1); | ||||||
|  |     expect(annotation.file).toBe('/assert.go'); | ||||||
|  |     expect(annotation.message).toBe('missing return at end of function'); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('matches on relative unix path', async () => { | ||||||
|  |     let line = './a/path/assert.go:6:1: missing return at end of function'; | ||||||
|  |     let annotation = testMatch(line); | ||||||
|  |     expect(annotation).toBeDefined(); | ||||||
|  |     expect(annotation.line).toBe(6); | ||||||
|  |     expect(annotation.column).toBe(1); | ||||||
|  |     expect(annotation.file).toBe('./a/path/assert.go'); | ||||||
|  |     expect(annotation.message).toBe('missing return at end of function'); | ||||||
|  |   });   | ||||||
|  |  | ||||||
|  |   it('matches on rooted unix path', async () => { | ||||||
|  |     let line = '/assert.go:4:1: missing return at end of function'; | ||||||
|  |     let annotation = testMatch(line); | ||||||
|  |     expect(annotation).toBeDefined(); | ||||||
|  |     expect(annotation.line).toBe(4); | ||||||
|  |     expect(annotation.column).toBe(1); | ||||||
|  |     expect(annotation.file).toBe('/assert.go'); | ||||||
|  |     expect(annotation.message).toBe('missing return at end of function'); | ||||||
|  |   });   | ||||||
|  |  | ||||||
|  |   it('matches on rooted unix path with whitespace', async () => { | ||||||
|  |     let line = '   /assert.go:5:2: missing return at end of function   '; | ||||||
|  |     let annotation = testMatch(line); | ||||||
|  |     expect(annotation).toBeDefined(); | ||||||
|  |     expect(annotation.line).toBe(5); | ||||||
|  |     expect(annotation.column).toBe(2); | ||||||
|  |     expect(annotation.file).toBe('/assert.go'); | ||||||
|  |     expect(annotation.message).toBe('missing return at end of function'); | ||||||
|  |   });   | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   // 1.13.1 => 1.13.1 |   // 1.13.1 => 1.13.1 | ||||||
|   // 1.13 => 1.13.0 |   // 1.13 => 1.13.0 | ||||||
|   // 1.10beta1 => 1.10.0-beta1, 1.10rc1 => 1.10.0-rc1 |   // 1.10beta1 => 1.10.0-beta1, 1.10rc1 => 1.10.0-rc1 | ||||||
|   | |||||||
| @@ -4,11 +4,11 @@ | |||||||
|             "owner": "go", |             "owner": "go", | ||||||
|             "pattern": [ |             "pattern": [ | ||||||
|                 { |                 { | ||||||
|                     "regexp": "^([^:]*: )?((.:)?[^:]*):(\\d+)(:(\\d+))?: (.*)$", |                     "regexp": "((?:.{0,2}\\/|.{0,2}\\\\)(?:.+\\.go)):(?:(\\d+):(\\d+):)? (.*)", | ||||||
|                     "file": 2, |                     "file": 1, | ||||||
|                     "line": 4, |                     "line": 2, | ||||||
|                     "column": 6, |                     "column": 3, | ||||||
|                     "message": 7 |                     "message": 4 | ||||||
|                 } |                 } | ||||||
|             ] |             ] | ||||||
|         } |         } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user