1*03ce13f7SAndroid Build Coastguard Worker// Copyright 2020 The SwiftShader Authors. All Rights Reserved. 2*03ce13f7SAndroid Build Coastguard Worker// 3*03ce13f7SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*03ce13f7SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*03ce13f7SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*03ce13f7SAndroid Build Coastguard Worker// 7*03ce13f7SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*03ce13f7SAndroid Build Coastguard Worker// 9*03ce13f7SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*03ce13f7SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*03ce13f7SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*03ce13f7SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*03ce13f7SAndroid Build Coastguard Worker// limitations under the License. 14*03ce13f7SAndroid Build Coastguard Worker 15*03ce13f7SAndroid Build Coastguard Workerpackage llvm_test 16*03ce13f7SAndroid Build Coastguard Worker 17*03ce13f7SAndroid Build Coastguard Workerimport ( 18*03ce13f7SAndroid Build Coastguard Worker "flag" 19*03ce13f7SAndroid Build Coastguard Worker "os" 20*03ce13f7SAndroid Build Coastguard Worker "testing" 21*03ce13f7SAndroid Build Coastguard Worker 22*03ce13f7SAndroid Build Coastguard Worker "swiftshader.googlesource.com/SwiftShader/tests/regres/llvm" 23*03ce13f7SAndroid Build Coastguard Worker) 24*03ce13f7SAndroid Build Coastguard Worker 25*03ce13f7SAndroid Build Coastguard Workervar testLLVMDownloads = flag.Bool("test-llvm-downloads", false, "include download tests of llvm") 26*03ce13f7SAndroid Build Coastguard Worker 27*03ce13f7SAndroid Build Coastguard Workerfunc TestMain(m *testing.M) { 28*03ce13f7SAndroid Build Coastguard Worker flag.Parse() 29*03ce13f7SAndroid Build Coastguard Worker os.Exit(m.Run()) 30*03ce13f7SAndroid Build Coastguard Worker} 31*03ce13f7SAndroid Build Coastguard Worker 32*03ce13f7SAndroid Build Coastguard Workerfunc TestLLVMDownloads(t *testing.T) { 33*03ce13f7SAndroid Build Coastguard Worker if !*testLLVMDownloads { 34*03ce13f7SAndroid Build Coastguard Worker t.Skip("LLVM download tests disabled. Enable with --test-llvm-downloads") 35*03ce13f7SAndroid Build Coastguard Worker } 36*03ce13f7SAndroid Build Coastguard Worker for _, version := range []llvm.Version{ 37*03ce13f7SAndroid Build Coastguard Worker {Major: 10, Minor: 0, Point: 0}, 38*03ce13f7SAndroid Build Coastguard Worker } { 39*03ce13f7SAndroid Build Coastguard Worker t.Logf("Downloading %v...", version) 40*03ce13f7SAndroid Build Coastguard Worker for _, os := range []string{"linux", "darwin", "windows"} { 41*03ce13f7SAndroid Build Coastguard Worker data, err := version.DownloadForOS(os) 42*03ce13f7SAndroid Build Coastguard Worker switch { 43*03ce13f7SAndroid Build Coastguard Worker case err != nil: 44*03ce13f7SAndroid Build Coastguard Worker t.Errorf("Download of LLVM %v failed with: %v", version, err) 45*03ce13f7SAndroid Build Coastguard Worker case len(data) == 0: 46*03ce13f7SAndroid Build Coastguard Worker t.Errorf("Download of LLVM %v resulted in no data", version) 47*03ce13f7SAndroid Build Coastguard Worker default: 48*03ce13f7SAndroid Build Coastguard Worker t.Logf("done\n") 49*03ce13f7SAndroid Build Coastguard Worker } 50*03ce13f7SAndroid Build Coastguard Worker } 51*03ce13f7SAndroid Build Coastguard Worker } 52*03ce13f7SAndroid Build Coastguard Worker} 53