// Copyright (C) 2018 The Syncthing Authors. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at https://mozilla.org/MPL/2.0/. package main import "testing" func TestCompilerRe(t *testing.T) { tests := [][3]string{ {`syncthing v0.11.0 (xgcc (Ubuntu 4.9.3-0ubuntu4) 4.9.3 linux-amd64 default) niklas@Niklas-Netbook 2015-04-26 13:15:08 UTC`, "xgcc (Ubuntu 4.9.3-0ubuntu4) 4.9.3", "niklas@Niklas-Netbook"}, {`syncthing v0.12.0-rc5 "Beryllium Bedbug" (go1.4.2 linux-arm android) unknown-user@Felix-T420 2015-10-22 18:32:15 UTC`, "go1.4.2", "unknown-user@Felix-T420"}, {`syncthing v0.13.0-beta.0+39-ge267bf3 "Copper Cockroach" (go1.4.2 linux-amd64) portage@slevermann.de 2016-01-20 08:41:52 UTC`, "go1.4.2", "portage@slevermann.de"}, } for _, tc := range tests { m := compilerRe.FindStringSubmatch(tc[0]) if len(m) != 3 { t.Errorf("Regexp didn't match %q", tc[0]) continue } if m[1] != tc[1] { t.Errorf("Compiler %q != %q", m[1], tc[1]) } if m[2] != tc[2] { t.Errorf("Builder %q != %q", m[2], tc[2]) } } }