diff options
author | Matt Ellis <matell@microsoft.com> | 2016-05-25 10:25:49 -0700 |
---|---|---|
committer | Matt Ellis <matell@microsoft.com> | 2016-05-25 13:29:08 -0700 |
commit | bcda7c5bbd829b76319a99394186ae9a90df4b51 (patch) | |
tree | 7571d001f02538af2406e2d20b5ca953aa3c10cd /tests/runtest.sh | |
parent | d316b89adcb622f28b3ba85eddeff345b289c423 (diff) | |
download | coreclr-bcda7c5bbd829b76319a99394186ae9a90df4b51.tar.gz coreclr-bcda7c5bbd829b76319a99394186ae9a90df4b51.tar.bz2 coreclr-bcda7c5bbd829b76319a99394186ae9a90df4b51.zip |
Be more explict when picking up libs from CoreFx
There's no contract in the CoreFx build layout that enforces an assembly
is only in one location in the resulting binaries folder. Different
projects may have different versions of dependent assemblies SxS with them
in their output folder.
To work around this, update the copy logic to use the folder name to
determine what assembly to copy from it.
Diffstat (limited to 'tests/runtest.sh')
-rwxr-xr-x | tests/runtest.sh | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/runtest.sh b/tests/runtest.sh index 6c3d6a6dcd..2a70c1b4b0 100755 --- a/tests/runtest.sh +++ b/tests/runtest.sh @@ -355,16 +355,19 @@ function create_core_overlay { if [ ! -d "$currDir" ]; then exit_with_error "$errorSource" "Directory specified in --coreFxBinDir does not exist: $currDir" fi - - (cd $currDir && find . -iwholename '*/netstandard/*.dll' \! -iwholename '*test*' \! -iwholename '*/ToolRuntime/*' \! -iwholename '*/RemoteExecutorConsoleApp/*' \! -iwholename '*aot*' -exec cp -n '{}' "$coreOverlayDir/" \;) + pushd $currDir > /dev/null + for dirName in $(find . -iname '*.dll' \! -iwholename '*test*' \! -iwholename '*/ToolRuntime/*' \! -iwholename '*/RemoteExecutorConsoleApp/*' \! -iwholename '*/net*' \! -iwholename '*aot*' -exec dirname {} \; | uniq | sed 's/\.\/\(.*\)/\1/g'); do + cp -n -v "$currDir/$dirName/$dirName.dll" "$coreOverlayDir/" + done + popd $currDur > /dev/null done done <<< $coreFxBinDir - cp -f "$coreFxNativeBinDir/Native/"*."$libExtension" "$coreOverlayDir/" 2>/dev/null + cp -f -v "$coreFxNativeBinDir/Native/"*."$libExtension" "$coreOverlayDir/" 2>/dev/null - cp -f "$coreClrBinDir/"* "$coreOverlayDir/" 2>/dev/null - cp -f "$mscorlibDir/mscorlib.dll" "$coreOverlayDir/" - cp -n "$testDependenciesDir"/* "$coreOverlayDir/" 2>/dev/null + cp -f -v "$coreClrBinDir/"* "$coreOverlayDir/" 2>/dev/null + cp -f -v "$mscorlibDir/mscorlib.dll" "$coreOverlayDir/" + cp -n -v "$testDependenciesDir"/* "$coreOverlayDir/" 2>/dev/null if [ -f "$coreOverlayDir/mscorlib.ni.dll" ]; then # Test dependencies come from a Windows build, and mscorlib.ni.dll would be the one from Windows rm -f "$coreOverlayDir/mscorlib.ni.dll" |