summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packaging/Fix-run-test.sh-16170.patch284
-rw-r--r--packaging/NETCore.App.1.0.0.tar.gzbin712079 -> 0 bytes
-rw-r--r--packaging/corefx.spec25
-rw-r--r--packaging/runtime.tar.gzbin0 -> 22045501 bytes
4 files changed, 308 insertions, 1 deletions
diff --git a/packaging/Fix-run-test.sh-16170.patch b/packaging/Fix-run-test.sh-16170.patch
new file mode 100644
index 0000000000..d4ed9c904d
--- /dev/null
+++ b/packaging/Fix-run-test.sh-16170.patch
@@ -0,0 +1,284 @@
+From b55af9c8ed4bc07ae950aaf245dde965af7ebb75 Mon Sep 17 00:00:00 2001
+From: Hyeongseok Oh <hseok82.oh@samsung.com>
+Date: Thu, 16 Feb 2017 06:22:52 +0900
+Subject: [PATCH] Fix run-test.sh (#16170)
+
+* Fix run-test.sh
+
+This makes run-test.sh work in x64/linux.
+Remove useless argument and add --runtime argument to pass runtime directory
+
+Not works in cross compile yet (ex. build in x64 & run in arm)
+
+* Fix run-test.sh
+
+remove chmod and check RunTests.sh existing
+---
+ run-test.sh | 170 +++++++++++++++++++++---------------------------------------
+ 1 file changed, 60 insertions(+), 110 deletions(-)
+
+diff --git a/run-test.sh b/run-test.sh
+index 16d95dc..b7baa8c 100755
+--- a/run-test.sh
++++ b/run-test.sh
+@@ -19,25 +19,17 @@ usage()
+ echo "usage: run-test [options]"
+ echo
+ echo "Input sources:"
+- echo " --coreclr-bins <location> Location of root of the binaries directory"
+- echo " containing the FreeBSD, Linux, NetBSD or OSX coreclr build"
+- echo " default: <repo_root>/bin/Product/<OS>.x64.<ConfigurationGroup>"
+- echo " --corefx-tests <location> Location of the root binaries location containing"
+- echo " the tests to run"
+- echo " default: <repo_root>/bin/tests"
+- echo " --corefx-native-bins <location> Location of the FreeBSD, Linux, NetBSD or OSX native corefx binaries"
+- echo " default: <repo_root>/bin/<OS>.x64.<ConfigurationGroup>"
+- echo " --corefx-packages <location> Location of the packages restored from NuGet."
+- echo " default: <repo_root>/packages"
+- echo " --testRelPath <path> Relative path to test script"
+- echo " Path is relative from the directory specified by project name"
+- echo " default: default.netcoreapp1.1"
++ echo " --runtime <location> Location of root of the binaries directory"
++ echo " containing the FreeBSD, Linux, NetBSD or OSX runtime"
++ echo " default: <repo_root>/bin/testhost/netcoreapp-<OS>-<ConfigurationGroup>-<Arch>"
+ echo
+- echo "Flavor/OS options:"
++ echo "Flavor/OS/Architecture options:"
+ echo " --configurationGroup <config> ConfigurationGroup to run (Debug/Release)"
+ echo " default: Debug"
+ echo " --os <os> OS to run (FreeBSD, Linux, NetBSD or OSX)"
+ echo " default: detect current OS"
++ echo " --arch <Architecture> Architecture to run (x64, arm, x86, arm64)"
++ echo " default: detect current architecture"
+ echo
+ echo "Execution options:"
+ echo " --sequential Run tests sequentially (default is to run in parallel)."
+@@ -99,48 +91,49 @@ case $OSName in
+ OS=Linux
+ ;;
+ esac
++
++# Use uname to determine what the CPU is.
++CPUName=$(uname -p)
++# Some Linux platforms report unknown for platform, but the arch for machine.
++if [ "$CPUName" == "unknown" ]; then
++ CPUName=$(uname -m)
++fi
++
++case $CPUName in
++ i686)
++ echo "Unsupported CPU $CPUName detected, test might not succeed!"
++ __Arch=x86
++ ;;
++
++ x86_64)
++ __Arch=x64
++ ;;
++
++ armv7l)
++ __Arch=arm
++ ;;
++
++ aarch64)
++ __Arch=arm64
++ ;;
++
++ *)
++ echo "Unknown CPU $CPUName detected, configuring as if for x64"
++ __Arch=x64
++ ;;
++esac
++
+ # Misc defaults
+ TestSelection=".*"
+ TestsFailed=0
+
+-# TestRelPath default
+-TestRelPath="default.netcoreapp1.1"
+-
+ ensure_binaries_are_present()
+ {
+- local LowerConfigurationGroup="$(echo $ConfigurationGroup | awk '{print tolower($0)}')"
+-
+- # Copy the CoreCLR native binaries
+- if [ ! -d $CoreClrBins ]
++ if [ ! -d $Runtime ]
+ then
+- echo "error: Coreclr $OS binaries not found at $CoreClrBins"
++ echo "error: Coreclr $OS binaries not found at $Runtime"
+ exit 1
+ fi
+-
+- # Then the native CoreFX binaries
+- if [ ! -d $CoreFxNativeBins ]
+- then
+- echo "error: Corefx native binaries should be built (use build.sh native in root)"
+- exit 1
+- fi
+-}
+-
+-copy_test_overlay()
+-{
+- testDir=$1
+-
+- link_files_in_directory "$CoreClrBins" "$testDir"
+- link_files_in_directory "$CoreFxNativeBins" "$testDir"
+-}
+-
+-# $1 is the source directory
+-# $2 is the destination directory
+-link_files_in_directory()
+-{
+- for path in `find $1 -maxdepth 1 -type f`; do
+- fileName=`basename $path`
+- ln -f $path "$2/$fileName"
+- done
+ }
+
+ # $1 is the path of list file
+@@ -166,7 +159,7 @@ run_selected_tests()
+ selectedTests[${#selectedTests[@]}]="$TestDir"
+ fi
+
+- run_all_tests ${selectedTests[@]/#/$CoreFxTests/}
++ run_all_tests ${selectedTests[@]}
+ }
+
+ # $1 is the name of the platform folder (e.g Unix.AnyCPU.Debug)
+@@ -201,25 +194,28 @@ run_test()
+ exit 0
+ fi
+
+- dirName="$1/$TestRelPath"
++ dirName="$1/netcoreapp"
+
+ if [ ! -d "$dirName" ]; then
+- echo "Nothing to test in $testProject"
+- exit 0
++ dirName="$1/netstandard"
++ if [ ! -d "$dirName" ]; then
++ echo "Nothing to test in $testProject"
++ return
++ fi
+ fi
+
+- copy_test_overlay $dirName
++ if [ ! -e "$dirName/RunTests.sh" ]; then
++ echo "Cannot find $dirName/RunTests.sh"
++ return
++ fi
+
+ pushd $dirName > /dev/null
+
+- chmod +x ./RunTests.sh
+- chmod +x ./corerun
+-
+ echo
+ echo "Running tests in $dirName"
+- echo "./RunTests.sh $CoreFxPackages"
++ echo "./RunTests.sh $Runtime"
+ echo
+- ./RunTests.sh "$CoreFxPackages"
++ ./RunTests.sh "$Runtime"
+ exitCode=$?
+
+ if [ $exitCode -ne 0 ]
+@@ -294,17 +290,8 @@ do
+ -h|--help)
+ usage
+ ;;
+- --coreclr-bins)
+- CoreClrBins=$2
+- ;;
+- --corefx-tests)
+- CoreFxTests=$2
+- ;;
+- --corefx-native-bins)
+- CoreFxNativeBins=$2
+- ;;
+- --corefx-packages)
+- CoreFxPackages=$2
++ --runtime)
++ Runtime=$2
+ ;;
+ --restrict-proj)
+ TestSelection=$2
+@@ -336,9 +323,6 @@ do
+ --test-dir-file)
+ TestDirFile=$2
+ ;;
+- --testRelPath)
+- TestRelPath=$2
+- ;;
+ --outerloop)
+ OuterLoop=""
+ ;;
+@@ -353,24 +337,9 @@ done
+
+ # Compute paths to the binaries if they haven't already been computed
+
+-if [ "$CoreClrBins" == "" ]
+-then
+- CoreClrBins="$ProjectRoot/bin/Product/$OS.x64.$ConfigurationGroup"
+-fi
+-
+-if [ "$CoreFxTests" == "" ]
+-then
+- CoreFxTests="$ProjectRoot/bin/tests"
+-fi
+-
+-if [ "$CoreFxNativeBins" == "" ]
+-then
+- CoreFxNativeBins="$ProjectRoot/bin/$OS.x64.$ConfigurationGroup/native"
+-fi
+-
+-if [ "$CoreFxPackages" == "" ]
++if [ "$Runtime" == "" ]
+ then
+- CoreFxPackages="$ProjectRoot/packages"
++ Runtime="$ProjectRoot/bin/testhost/netcoreapp-$OS-$ConfigurationGroup-$__Arch"
+ fi
+
+ # Check parameters up front for valid values:
+@@ -387,25 +356,6 @@ then
+ exit 1
+ fi
+
+-if [ "$CoreClrObjs" == "" ]
+-then
+- CoreClrObjs="$ProjectRoot/bin/obj/$OS.x64.$ConfigurationGroup"
+-fi
+-
+-# The CI system shares PR build job definitions between RC2 and master. In RC2, we expected
+-# that CoreFxTests was the path to the root folder containing the tests for a specific platform
+-# (since all tests were rooted under a path like tests/Linux.AnyCPU.$ConfigurationGroup). In
+-# master, we instead want CoreFxTests to point at the root of the tests folder, since tests
+-# are now split across tests/AnyOS.AnyCPU.$ConfigruationGroup,
+-# tests/Unix.AnyCPU.$ConfigruationGroup and tests/$OS.AnyCPU.$ConfigurationGroup.
+-#
+-# Until we can split the CI definitions up, we need them to pass a platform specific folder (so
+-# the jobs work on RC2), so here we detect that case and use the parent folder instead.
+-if [[ `basename $CoreFxTests` =~ ^(Linux|OSX|FreeBSD|NetBSD) ]]
+-then
+- CoreFxTests=`dirname $CoreFxTests`
+-fi
+-
+ export CORECLR_SERVER_GC="$serverGC"
+ export PAL_OUTPUTDEBUGSTRING="1"
+
+@@ -436,9 +386,9 @@ if [ -n "$TestDirFile" ] || [ -n "$TestDir" ]
+ then
+ run_selected_tests
+ else
+- run_all_tests "$CoreFxTests/AnyOS.AnyCPU.$ConfigurationGroup/"*
+- run_all_tests "$CoreFxTests/Unix.AnyCPU.$ConfigurationGroup/"*
+- run_all_tests "$CoreFxTests/$OS.AnyCPU.$ConfigurationGroup/"*
++ run_all_tests "$ProjectRoot/bin/AnyOS.AnyCPU.$ConfigurationGroup/"*.Tests
++ run_all_tests "$ProjectRoot/bin/Unix.AnyCPU.$ConfigurationGroup/"*.Tests
++ run_all_tests "$ProjectRoot/bin/$OS.AnyCPU.$ConfigurationGroup/"*.Tests
+ fi
+
+ if [ "$CoreClrCoverage" == "ON" ]
+--
+1.9.1
+
diff --git a/packaging/NETCore.App.1.0.0.tar.gz b/packaging/NETCore.App.1.0.0.tar.gz
deleted file mode 100644
index 392da83932..0000000000
--- a/packaging/NETCore.App.1.0.0.tar.gz
+++ /dev/null
Binary files differ
diff --git a/packaging/corefx.spec b/packaging/corefx.spec
index 67dcdc1d5d..b6c66e5467 100644
--- a/packaging/corefx.spec
+++ b/packaging/corefx.spec
@@ -3,6 +3,7 @@
%define dotnet_buildtype Debug
%endif
%define _binaries_in_noarch_packages_terminate_build 0
+%define _unpackaged_files_terminate_build 0
%ifarch x86_64
%define skipnative 0
@@ -36,9 +37,11 @@ Source1001: %{name}.manifest
Source1002: libicu.tar.gz
Source1003: dep_libs.tar.gz
Source1004: runtime_nupkgs.tar.gz
-# Gbp-Ignore-Patches: 0 1
+Source1005: runtime.tar.gz
+# Gbp-Ignore-Patches: 0 1 2
patch0: Add-project.lock.json-files.patch
patch1: Do-not-use-test-runtime.depproj-and-dotnet-myget-sou.patch
+patch2: Fix-run-test.sh-16170.patch
%if 0%{skipnative} && 0%{skipmanaged}
%else
@@ -134,9 +137,11 @@ cp %{SOURCE1001} .
# Gbp-Patch-Macros
%patch0 -p1
%patch1 -p1
+%patch2 -p1
cp %{SOURCE1000} ./
tar xf %{SOURCE1000}
%setup -T -D -a 1004
+%setup -T -D -a 1005
%ifarch armv7l
%setup -T -D -a 1002
%setup -T -D -a 1003
@@ -228,6 +233,9 @@ export CXXFLAGS="${CXXFLAGS} -U__GNUC_MINOR__ -D__GNUC_MINOR__=3 -O2 --param=ssp
%else
# Build managed only.
./build-managed.sh -%{buildtype} -RestoreDuringBuild=false -RuntimeOS=ubuntu.14.04 -- /p:IncludeBuildNumberInPackageVersion=true
+
+# Build test
+./build-tests.sh -%{buildtype} -Outerloop -SkipTests
%endif
echo %{COREFX_GIT_HASH} > .fxinfo
@@ -243,6 +251,10 @@ mkdir -p %{buildroot}%{_datadir}/%{netcoreappdir}
%define tizennetdir tizen.net
mkdir -p %{buildroot}%{_datadir}/%{tizennetdir}
+# TC directory
+%define tcdir corefx-tc
+mkdir -p %{buildroot}/opt/usr/%{tcdir}
+
%if 0%{skipnative}
%else
cp %{_reldir}/native/System.Native.a %{buildroot}%{_datadir}/%{netcoreappdir}
@@ -316,6 +328,15 @@ done
for name in `find %{buildroot}%{_datadir}/%{netcoreappdir} -iname '*.dll' -exec basename {} \;`; do
ln -sf ../%{netcoreappdir}/"${name}" %{buildroot}%{_datadir}/%{tizennetdir}/
done
+
+###
+### Copy Tests directory
+###
+for name in `find ./bin -type d -name "*.Tests" -not -path "*/obj/*"`; do
+ cp "${name}" %{buildroot}/opt/usr/%{tcdir} --parents -rf
+done
+cp ./bin/testhost %{buildroot}/opt/usr/%{tcdir} --parents -rf
+cp ./bin/runtime %{buildroot}/opt/usr/%{tcdir} --parents -rf
%endif
###
@@ -349,6 +370,8 @@ native -p /sbin/ldconfig
%{_datadir}/%{tizennetdir}/*.dll
%files test
+%manifest %{name}.manifest
+/opt/usr/%{tcdir}/*
%endif
%files managed-ref
diff --git a/packaging/runtime.tar.gz b/packaging/runtime.tar.gz
new file mode 100644
index 0000000000..f228283a28
--- /dev/null
+++ b/packaging/runtime.tar.gz
Binary files differ