1*387f9dfdSAndroid Build Coastguard Worker#!/bin/bash 2*387f9dfdSAndroid Build Coastguard Worker# Copyright (c) GitHub, Inc. 3*387f9dfdSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License") 4*387f9dfdSAndroid Build Coastguard Worker 5*387f9dfdSAndroid Build Coastguard Workerset -xe 6*387f9dfdSAndroid Build Coastguard Workercd "src/lua" 7*387f9dfdSAndroid Build Coastguard Worker 8*387f9dfdSAndroid Build Coastguard Workerfunction fail { 9*387f9dfdSAndroid Build Coastguard Worker echo "test failed: $1" >&2 10*387f9dfdSAndroid Build Coastguard Worker exit 1 11*387f9dfdSAndroid Build Coastguard Worker} 12*387f9dfdSAndroid Build Coastguard Worker 13*387f9dfdSAndroid Build Coastguard Workerif [[ ! -x bcc-lua ]]; then 14*387f9dfdSAndroid Build Coastguard Worker echo "bcc-lua not built --- skipping" 15*387f9dfdSAndroid Build Coastguard Worker exit 0 16*387f9dfdSAndroid Build Coastguard Workerfi 17*387f9dfdSAndroid Build Coastguard Worker 18*387f9dfdSAndroid Build Coastguard WorkerLIBRARY=$(ldd bcc-lua | grep luajit) 19*387f9dfdSAndroid Build Coastguard Workerif [ $? -ne 0 -o -z "$LIBRARY" ] ; then 20*387f9dfdSAndroid Build Coastguard Worker fail "bcc-lua depends on libluajit" 21*387f9dfdSAndroid Build Coastguard Workerfi 22*387f9dfdSAndroid Build Coastguard Worker 23*387f9dfdSAndroid Build Coastguard Workerrm -f probe.lua 24*387f9dfdSAndroid Build Coastguard Workerecho "return function(BPF) print(\"Hello world\") end" > probe.lua 25*387f9dfdSAndroid Build Coastguard Worker 26*387f9dfdSAndroid Build Coastguard WorkerPROBE="../../examples/lua/offcputime.lua" 27*387f9dfdSAndroid Build Coastguard Worker 28*387f9dfdSAndroid Build Coastguard Workerif ! sudo ./bcc-lua "$PROBE" -d 1 >/dev/null 2>/dev/null; then 29*387f9dfdSAndroid Build Coastguard Worker fail "bcc-lua cannot run complex probes" 30*387f9dfdSAndroid Build Coastguard Workerfi 31*387f9dfdSAndroid Build Coastguard Worker 32*387f9dfdSAndroid Build Coastguard Workerrm -f libbcc.so probe.lua 33