blob: 0bf15db75eee154c190b4e1a324d1af8b3821d97 [file] [log] [blame]
Jaewoong Jung5f3fb4b2018-12-13 15:01:46 -08001// Copyright 2018 Google Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package bpf
16
17import (
Jaewoong Jung5f3fb4b2018-12-13 15:01:46 -080018 "os"
19 "testing"
20
21 "android/soong/android"
Colin Cross815daf92019-05-14 16:05:20 -070022 "android/soong/cc"
Jaewoong Jung5f3fb4b2018-12-13 15:01:46 -080023)
24
Jaewoong Jung5f3fb4b2018-12-13 15:01:46 -080025func TestMain(m *testing.M) {
Paul Duffin854d6612021-03-16 13:36:55 +000026 os.Exit(m.Run())
Jaewoong Jung5f3fb4b2018-12-13 15:01:46 -080027}
28
Paul Duffin12c7eb82021-02-24 18:51:54 +000029var bpfFactory = android.NewFixtureFactory(
Paul Duffin854d6612021-03-16 13:36:55 +000030 nil,
Paul Duffin12c7eb82021-02-24 18:51:54 +000031 cc.PrepareForTestWithCcDefaultModules,
32 android.FixtureMergeMockFs(
33 map[string][]byte{
34 "bpf.c": nil,
35 "BpfTest.cpp": nil,
36 },
37 ),
38 PrepareForTestWithBpf,
39)
Jaewoong Jung5f3fb4b2018-12-13 15:01:46 -080040
41func TestBpfDataDependency(t *testing.T) {
Jaewoong Jung5f3fb4b2018-12-13 15:01:46 -080042 bp := `
43 bpf {
44 name: "bpf.o",
45 srcs: ["bpf.c"],
46 }
47
48 cc_test {
49 name: "vts_test_binary_bpf_module",
50 srcs: ["BpfTest.cpp"],
51 data: [":bpf.o"],
Colin Cross815daf92019-05-14 16:05:20 -070052 gtest: false,
Jaewoong Jung5f3fb4b2018-12-13 15:01:46 -080053 }
54 `
55
Paul Duffin12c7eb82021-02-24 18:51:54 +000056 bpfFactory.RunTestWithBp(t, bp)
Jaewoong Jung5f3fb4b2018-12-13 15:01:46 -080057
58 // We only verify the above BP configuration is processed successfully since the data property
59 // value is not available for testing from this package.
60 // TODO(jungjw): Add a check for data or move this test to the cc package.
61}