1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- # Copyright (c) 2021, The Linux Foundation. All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions are
- # met:
- # * Redistributions of source code must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- # * Redistributions in binary form must reproduce the above
- # copyright notice, this list of conditions and the following
- # disclaimer in the documentation and/or other materials provided
- # with the distribution.
- # * Neither the name of The Linux Foundation nor the names of its
- # contributors may be used to endorse or promote products derived
- # from this software without specific prior written permission.
- #
- # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
- # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
- # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- # This script creates symlinks for tests that are compiled as Soong modules, so
- # that they may be accessed from their old location in /data/kernel-tests
- #!/bin/sh
- NTEST_PATH="/data/nativetest"
- KTEST_PATH="/data/kernel-tests"
- # Any test that is compiled as a cc_test module (which applies to any Soong
- # module in kernel-tests-internal) is given a directory, in to which the
- # compiled test and its supporting files are placed. This function iterates
- # over the test directories in $1 and creates symlinks to all the files
- # contained within a given test directory. $2 and later arguemnts can be used to
- # specify directores to skip.
- create_links()
- {
- BASE_PATH="$1"
- shift
- SKIP_FILES=$@ # These can also be directories
- for TEST_DIR in `ls "$BASE_PATH"`; do
- # Filter out any file / directory in SKIP_FILES.
- SHOULD_SKIP=""
- for i in $SKIP_FILES; do
- if [ "$TEST_DIR" = "$i" ]; then
- SHOULD_SKIP="TRUE"
- break
- fi
- done
- if [ ! "$SHOULD_SKIP" = "" ]; then
- continue
- fi
- # Filter out any files that aren't directories (since every test we
- # compile is given a directory)
- if [ ! -d "$BASE_PATH/$TEST_DIR" ]; then
- continue
- fi
- # Now, create the symlinks for each test file inside of TEST_DIR
- for TEST_FILE in `ls "$BASE_PATH/$TEST_DIR"`; do
- ln -fs "$BASE_PATH/$TEST_DIR/$TEST_FILE" "$KTEST_PATH/$TEST_FILE"
- done
- done
- }
- # Create /data/kernel-tests, if it doesn't exist already
- mkdir -p "$KTEST_PATH"
- # Create the symlinks
- create_links "$NTEST_PATH" "vendor"
- create_links "$NTEST_PATH/vendor"
|