blob: c0ee698eb01ce030cfd991d81b4275c2c2dac16d [file] [log] [blame] [edit]
# Copyright 2010 The ChromiumOS Authors
# Distributed under the terms of the GNU General Public License v2
#
# Original Author: The ChromiumOS Authors <chromium-os-dev@chromium.org>
# Purpose: Eclass for handling autotest deps packages
#
inherit autotest cros-constants
AUTOTEST_CONFIG_LIST=""
AUTOTEST_DEPS_LIST=""
AUTOTEST_PROFILERS_LIST=""
_NEW_AUTOTEST_LANDED_FLAG=1
#
# In order to build only deps (call their setup function), we need to have
# a test that calls their setup() in its own setup(). This is done by
# creating a "fake" test, prebuilding it, and then deleting it after install.
#
AUTOTEST_FORCE_TEST_LIST="myfaketest"
autotest-deponly_src_prepare() {
autotest_src_prepare
pushd "${AUTOTEST_WORKDIR}/client/site_tests/" 1> /dev/null || die
mkdir myfaketest
cd myfaketest
# NOTE: Here we create a fake test case, that does not do anything except for
# setup of all deps.
cat << ENDL > myfaketest.py
from autotest_lib.client.bin import test, utils
class myfaketest(test.test):
def setup(self):
ENDL
for item in ${AUTOTEST_DEPS_LIST}; do
echo " self.job.setup_dep(['${item}'])" >> myfaketest.py
done
chmod a+x myfaketest.py
popd 1> /dev/null
}
autotest-deponly_src_install() {
autotest_src_install
rm -rf "${D}${AUTOTEST_BASE}/client/site_tests/myfaketest" || die
}
EXPORT_FUNCTIONS src_prepare src_install