Zdenek Behan | efcc64b | 2011-01-11 04:54:42 +0100 | [diff] [blame] | 1 | # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | |
| 4 | # |
| 5 | # Original Author: The Chromium OS Authors <chromium-os-dev@chromium.org> |
| 6 | # Purpose: Eclass for handling autotest deps packages |
| 7 | # |
| 8 | |
Aviv Keshet | 4144c8d | 2013-07-22 10:52:53 -0700 | [diff] [blame] | 9 | inherit autotest cros-constants |
Zdenek Behan | efcc64b | 2011-01-11 04:54:42 +0100 | [diff] [blame] | 10 | |
Nick Sanders | f9c4170 | 2011-01-13 22:03:16 -0800 | [diff] [blame] | 11 | |
| 12 | AUTOTEST_CONFIG_LIST="" |
| 13 | AUTOTEST_DEPS_LIST="" |
| 14 | AUTOTEST_PROFILERS_LIST="" |
Aviv Keshet | 4144c8d | 2013-07-22 10:52:53 -0700 | [diff] [blame] | 15 | _NEW_AUTOTEST_LANDED_FLAG=1 |
Nick Sanders | f9c4170 | 2011-01-13 22:03:16 -0800 | [diff] [blame] | 16 | |
Zdenek Behan | efcc64b | 2011-01-11 04:54:42 +0100 | [diff] [blame] | 17 | # |
| 18 | # In order to build only deps (call their setup function), we need to have |
| 19 | # a test that calls their setup() in its own setup(). This is done by |
| 20 | # creating a "fake" test, prebuilding it, and then deleting it after install. |
| 21 | # |
| 22 | |
| 23 | AUTOTEST_FORCE_TEST_LIST="myfaketest" |
| 24 | |
| 25 | autotest-deponly_src_prepare() { |
| 26 | autotest_src_prepare |
| 27 | |
| 28 | pushd "${AUTOTEST_WORKDIR}/client/site_tests/" 1> /dev/null || die |
| 29 | mkdir myfaketest |
| 30 | cd myfaketest |
| 31 | |
| 32 | # NOTE: Here we create a fake test case, that does not do anything except for |
| 33 | # setup of all deps. |
| 34 | cat << ENDL > myfaketest.py |
| 35 | from autotest_lib.client.bin import test, utils |
| 36 | |
| 37 | class myfaketest(test.test): |
| 38 | def setup(self): |
| 39 | ENDL |
| 40 | |
| 41 | for item in ${AUTOTEST_DEPS_LIST}; do |
| 42 | echo " self.job.setup_dep(['${item}'])" >> myfaketest.py |
| 43 | done |
| 44 | |
| 45 | chmod a+x myfaketest.py |
| 46 | popd 1> /dev/null |
| 47 | } |
| 48 | |
| 49 | autotest-deponly_src_install() { |
| 50 | autotest_src_install |
| 51 | |
Aviv Keshet | 4144c8d | 2013-07-22 10:52:53 -0700 | [diff] [blame] | 52 | rm -rf "${D}${AUTOTEST_BASE}/client/site_tests/myfaketest" || die |
Zdenek Behan | efcc64b | 2011-01-11 04:54:42 +0100 | [diff] [blame] | 53 | } |
| 54 | |
| 55 | EXPORT_FUNCTIONS src_prepare src_install |