From 9ba11244f22c62aad75f68e789daf0c8d6f7e364 Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg Date: Wed, 21 Nov 2018 09:58:26 -0800 Subject: [PATCH] Reorganize source code in preparation to move into aspnet/AspNetCore Prior to reorganization, this source code was found in https://github.com/aspnet/ServerTests/tree/019ba1722e9d100fc54f8ab60f12ac4f1b795f0b --- .appveyor.yml | 17 -- .gitattributes | 51 ---- .travis.yml | 29 --- CONTRIBUTING.md | 4 - LICENSE.txt | 14 -- NuGet.config | 7 - build.cmd | 2 - build.sh | 8 - korebuild-lock.txt | 2 - korebuild.json | 4 - run.cmd | 2 - run.ps1 | 196 --------------- run.sh | 231 ------------------ .gitignore => src/ServerTests/.gitignore | 0 .../ServerTests/Directory.Build.props | 0 .../ServerTests/Directory.Build.targets | 0 .../ServerTests/NuGetPackageVerifier.json | 0 README.md => src/ServerTests/README.md | 0 .../ServerTests/ServerTests.sln | 0 .../ServerTests/build}/dependencies.props | 0 {build => src/ServerTests/build}/repo.props | 0 .../ServerTests/build}/sources.props | 0 .../ServerTests/install-nginx.sh | 0 .../ServerTests/test}/Directory.Build.props | 0 .../HelloWorldTest.cs | 0 .../Helpers.cs | 0 .../Http.config | 0 .../NoCompression.conf | 0 .../NoCompression.config | 0 .../NtlmAuthentication.config | 0 .../NtlmAuthenticationTest.cs | 0 .../Properties/AssemblyInfo.cs | 0 .../ResponseCompressionTests.cs | 0 .../ResponseTests.cs | 0 .../ServerComparison.FunctionalTests.csproj | 0 .../nginx.conf | 0 .../ServerComparison.TestSites/Program.cs | 0 .../Properties/launchSettings.json | 0 .../ServerComparison.TestSites.csproj | 0 .../StartupHelloWorld.cs | 0 .../StartupNtlmAuthentication.cs | 0 .../StartupResponseCompression.cs | 0 .../StartupResponses.cs | 0 .../ServerComparison.TestSites/web.config | 0 .../ServerTests/version.props | 0 45 files changed, 567 deletions(-) delete mode 100644 .appveyor.yml delete mode 100644 .gitattributes delete mode 100644 .travis.yml delete mode 100644 CONTRIBUTING.md delete mode 100644 LICENSE.txt delete mode 100644 NuGet.config delete mode 100644 build.cmd delete mode 100755 build.sh delete mode 100644 korebuild-lock.txt delete mode 100644 korebuild.json delete mode 100644 run.cmd delete mode 100644 run.ps1 delete mode 100755 run.sh rename .gitignore => src/ServerTests/.gitignore (100%) rename Directory.Build.props => src/ServerTests/Directory.Build.props (100%) rename Directory.Build.targets => src/ServerTests/Directory.Build.targets (100%) rename NuGetPackageVerifier.json => src/ServerTests/NuGetPackageVerifier.json (100%) rename README.md => src/ServerTests/README.md (100%) rename ServerTests.sln => src/ServerTests/ServerTests.sln (100%) rename {build => src/ServerTests/build}/dependencies.props (100%) rename {build => src/ServerTests/build}/repo.props (100%) rename {build => src/ServerTests/build}/sources.props (100%) rename install-nginx.sh => src/ServerTests/install-nginx.sh (100%) mode change 100755 => 100644 rename {test => src/ServerTests/test}/Directory.Build.props (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/HelloWorldTest.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/Helpers.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/Http.config (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/NoCompression.conf (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/NoCompression.config (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/NtlmAuthentication.config (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/NtlmAuthenticationTest.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/Properties/AssemblyInfo.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/ResponseCompressionTests.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/ResponseTests.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/ServerComparison.FunctionalTests.csproj (100%) rename {test => src/ServerTests/test}/ServerComparison.FunctionalTests/nginx.conf (100%) rename {test => src/ServerTests/test}/ServerComparison.TestSites/Program.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.TestSites/Properties/launchSettings.json (100%) rename {test => src/ServerTests/test}/ServerComparison.TestSites/ServerComparison.TestSites.csproj (100%) rename {test => src/ServerTests/test}/ServerComparison.TestSites/StartupHelloWorld.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.TestSites/StartupNtlmAuthentication.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.TestSites/StartupResponseCompression.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.TestSites/StartupResponses.cs (100%) rename {test => src/ServerTests/test}/ServerComparison.TestSites/web.config (100%) rename version.props => src/ServerTests/version.props (100%) diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 1de903ee67..0000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,17 +0,0 @@ -init: -- git config --global core.autocrlf true -branches: - only: - - dev - - /^release\/.*$/ - - /^(.*\/)?ci-.*$/ -environment: - global: - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - DOTNET_CLI_TELEMETRY_OPTOUT: 1 -build_script: -- ps: .\run.ps1 default-build -clone_depth: 1 -test: 'off' -deploy: 'off' -os: Visual Studio 2017 diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 97b827b758..0000000000 --- a/.gitattributes +++ /dev/null @@ -1,51 +0,0 @@ -*.doc diff=astextplain -*.DOC diff=astextplain -*.docx diff=astextplain -*.DOCX diff=astextplain -*.dot diff=astextplain -*.DOT diff=astextplain -*.pdf diff=astextplain -*.PDF diff=astextplain -*.rtf diff=astextplain -*.RTF diff=astextplain - -*.jpg binary -*.png binary -*.gif binary - -*.cs text=auto diff=csharp -*.vb text=auto -*.resx text=auto -*.c text=auto -*.cpp text=auto -*.cxx text=auto -*.h text=auto -*.hxx text=auto -*.py text=auto -*.rb text=auto -*.java text=auto -*.html text=auto -*.htm text=auto -*.css text=auto -*.scss text=auto -*.sass text=auto -*.less text=auto -*.js text=auto -*.lisp text=auto -*.clj text=auto -*.sql text=auto -*.php text=auto -*.lua text=auto -*.m text=auto -*.asm text=auto -*.erl text=auto -*.fs text=auto -*.fsx text=auto -*.hs text=auto - -*.csproj text=auto -*.vbproj text=auto -*.fsproj text=auto -*.dbproj text=auto -*.sln text=auto eol=crlf -*.sh eol=lf diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d7b744fc46..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,29 +0,0 @@ -language: csharp -sudo: required -dist: trusty -env: - global: - - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - - DOTNET_CLI_TELEMETRY_OPTOUT: 1 -addons: - apt: - packages: - - libunwind8 -mono: none -os: -- linux -- osx -osx_image: xcode9.3beta -branches: - only: - - dev - - /^release\/.*$/ - - /^(.*\/)?ci-.*$/ -before_install: -- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl nginx; - ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib - /usr/local/lib/; else ./install-nginx.sh; fi -install: -- export PATH="$PATH:$HOME/nginxinstall/sbin/" -script: -- ./build.sh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 64ff041d5c..0000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,4 +0,0 @@ -Contributing -====== - -Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/dev/CONTRIBUTING.md) in the Home repo. diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 7b2956ecee..0000000000 --- a/LICENSE.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. diff --git a/NuGet.config b/NuGet.config deleted file mode 100644 index e32bddfd51..0000000000 --- a/NuGet.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/build.cmd b/build.cmd deleted file mode 100644 index c0050bda12..0000000000 --- a/build.cmd +++ /dev/null @@ -1,2 +0,0 @@ -@ECHO OFF -PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE" diff --git a/build.sh b/build.sh deleted file mode 100755 index 98a4b22765..0000000000 --- a/build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -# Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs) -chmod +x "$DIR/run.sh"; sync -"$DIR/run.sh" default-build "$@" diff --git a/korebuild-lock.txt b/korebuild-lock.txt deleted file mode 100644 index 251c227c83..0000000000 --- a/korebuild-lock.txt +++ /dev/null @@ -1,2 +0,0 @@ -version:2.1.3-rtm-15802 -commithash:a7c08b45b440a7d2058a0aa1eaa3eb6ba811976a diff --git a/korebuild.json b/korebuild.json deleted file mode 100644 index 678d8bb948..0000000000 --- a/korebuild.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.1/tools/korebuild.schema.json", - "channel": "release/2.1" -} diff --git a/run.cmd b/run.cmd deleted file mode 100644 index d52d5c7e68..0000000000 --- a/run.cmd +++ /dev/null @@ -1,2 +0,0 @@ -@ECHO OFF -PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE" diff --git a/run.ps1 b/run.ps1 deleted file mode 100644 index 27dcf848f8..0000000000 --- a/run.ps1 +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/env powershell -#requires -version 4 - -<# -.SYNOPSIS -Executes KoreBuild commands. - -.DESCRIPTION -Downloads korebuild if required. Then executes the KoreBuild command. To see available commands, execute with `-Command help`. - -.PARAMETER Command -The KoreBuild command to run. - -.PARAMETER Path -The folder to build. Defaults to the folder containing this script. - -.PARAMETER Channel -The channel of KoreBuild to download. Overrides the value from the config file. - -.PARAMETER DotNetHome -The directory where .NET Core tools will be stored. - -.PARAMETER ToolsSource -The base url where build tools can be downloaded. Overrides the value from the config file. - -.PARAMETER Update -Updates KoreBuild to the latest version even if a lock file is present. - -.PARAMETER ConfigFile -The path to the configuration file that stores values. Defaults to korebuild.json. - -.PARAMETER ToolsSourceSuffix -The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores. - -.PARAMETER Arguments -Arguments to be passed to the command - -.NOTES -This function will create a file $PSScriptRoot/korebuild-lock.txt. This lock file can be committed to source, but does not have to be. -When the lockfile is not present, KoreBuild will create one using latest available version from $Channel. - -The $ConfigFile is expected to be an JSON file. It is optional, and the configuration values in it are optional as well. Any options set -in the file are overridden by command line parameters. - -.EXAMPLE -Example config file: -```json -{ - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json", - "channel": "dev", - "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools" -} -``` -#> -[CmdletBinding(PositionalBinding = $false)] -param( - [Parameter(Mandatory = $true, Position = 0)] - [string]$Command, - [string]$Path = $PSScriptRoot, - [Alias('c')] - [string]$Channel, - [Alias('d')] - [string]$DotNetHome, - [Alias('s')] - [string]$ToolsSource, - [Alias('u')] - [switch]$Update, - [string]$ConfigFile, - [string]$ToolsSourceSuffix, - [Parameter(ValueFromRemainingArguments = $true)] - [string[]]$Arguments -) - -Set-StrictMode -Version 2 -$ErrorActionPreference = 'Stop' - -# -# Functions -# - -function Get-KoreBuild { - - $lockFile = Join-Path $Path 'korebuild-lock.txt' - - if (!(Test-Path $lockFile) -or $Update) { - Get-RemoteFile "$ToolsSource/korebuild/channels/$Channel/latest.txt" $lockFile $ToolsSourceSuffix - } - - $version = Get-Content $lockFile | Where-Object { $_ -like 'version:*' } | Select-Object -first 1 - if (!$version) { - Write-Error "Failed to parse version from $lockFile. Expected a line that begins with 'version:'" - } - $version = $version.TrimStart('version:').Trim() - $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version) - - if (!(Test-Path $korebuildPath)) { - Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version" - New-Item -ItemType Directory -Path $korebuildPath | Out-Null - $remotePath = "$ToolsSource/korebuild/artifacts/$version/korebuild.$version.zip" - - try { - $tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip" - Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix - if (Get-Command -Name 'Expand-Archive' -ErrorAction Ignore) { - # Use built-in commands where possible as they are cross-plat compatible - Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath - } - else { - # Fallback to old approach for old installations of PowerShell - Add-Type -AssemblyName System.IO.Compression.FileSystem - [System.IO.Compression.ZipFile]::ExtractToDirectory($tmpfile, $korebuildPath) - } - } - catch { - Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore - throw - } - finally { - Remove-Item $tmpfile -ErrorAction Ignore - } - } - - return $korebuildPath -} - -function Join-Paths([string]$path, [string[]]$childPaths) { - $childPaths | ForEach-Object { $path = Join-Path $path $_ } - return $path -} - -function Get-RemoteFile([string]$RemotePath, [string]$LocalPath, [string]$RemoteSuffix) { - if ($RemotePath -notlike 'http*') { - Copy-Item $RemotePath $LocalPath - return - } - - $retries = 10 - while ($retries -gt 0) { - $retries -= 1 - try { - Invoke-WebRequest -UseBasicParsing -Uri $($RemotePath + $RemoteSuffix) -OutFile $LocalPath - return - } - catch { - Write-Verbose "Request failed. $retries retries remaining" - } - } - - Write-Error "Download failed: '$RemotePath'." -} - -# -# Main -# - -# Load configuration or set defaults - -$Path = Resolve-Path $Path -if (!$ConfigFile) { $ConfigFile = Join-Path $Path 'korebuild.json' } - -if (Test-Path $ConfigFile) { - try { - $config = Get-Content -Raw -Encoding UTF8 -Path $ConfigFile | ConvertFrom-Json - if ($config) { - if (!($Channel) -and (Get-Member -Name 'channel' -InputObject $config)) { [string] $Channel = $config.channel } - if (!($ToolsSource) -and (Get-Member -Name 'toolsSource' -InputObject $config)) { [string] $ToolsSource = $config.toolsSource} - } - } - catch { - Write-Warning "$ConfigFile could not be read. Its settings will be ignored." - Write-Warning $Error[0] - } -} - -if (!$DotNetHome) { - $DotNetHome = if ($env:DOTNET_HOME) { $env:DOTNET_HOME } ` - elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE '.dotnet'} ` - elseif ($env:HOME) {Join-Path $env:HOME '.dotnet'}` - else { Join-Path $PSScriptRoot '.dotnet'} -} - -if (!$Channel) { $Channel = 'dev' } -if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' } - -# Execute - -$korebuildPath = Get-KoreBuild -Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1') - -try { - Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile - Invoke-KoreBuildCommand $Command @Arguments -} -finally { - Remove-Module 'KoreBuild' -ErrorAction Ignore -} diff --git a/run.sh b/run.sh deleted file mode 100755 index 834961fc3a..0000000000 --- a/run.sh +++ /dev/null @@ -1,231 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -# -# variables -# - -RESET="\033[0m" -RED="\033[0;31m" -YELLOW="\033[0;33m" -MAGENTA="\033[0;95m" -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet" -verbose=false -update=false -repo_path="$DIR" -channel='' -tools_source='' -tools_source_suffix='' - -# -# Functions -# -__usage() { - echo "Usage: $(basename "${BASH_SOURCE[0]}") command [options] [[--] ...]" - echo "" - echo "Arguments:" - echo " command The command to be run." - echo " ... Arguments passed to the command. Variable number of arguments allowed." - echo "" - echo "Options:" - echo " --verbose Show verbose output." - echo " -c|--channel The channel of KoreBuild to download. Overrides the value from the config file.." - echo " --config-file The path to the configuration file that stores values. Defaults to korebuild.json." - echo " -d|--dotnet-home The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet." - echo " --path The directory to build. Defaults to the directory containing the script." - echo " -s|--tools-source|-ToolsSource The base url where build tools can be downloaded. Overrides the value from the config file." - echo " --tools-source-suffix|-ToolsSourceSuffix The suffix to append to tools-source. Useful for query strings." - echo " -u|--update Update to the latest KoreBuild even if the lock file is present." - echo "" - echo "Description:" - echo " This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be." - echo " When the lockfile is not present, KoreBuild will create one using latest available version from \$channel." - - if [[ "${1:-}" != '--no-exit' ]]; then - exit 2 - fi -} - -get_korebuild() { - local version - local lock_file="$repo_path/korebuild-lock.txt" - if [ ! -f "$lock_file" ] || [ "$update" = true ]; then - __get_remote_file "$tools_source/korebuild/channels/$channel/latest.txt" "$lock_file" "$tools_source_suffix" - fi - version="$(grep 'version:*' -m 1 "$lock_file")" - if [[ "$version" == '' ]]; then - __error "Failed to parse version from $lock_file. Expected a line that begins with 'version:'" - return 1 - fi - version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" - local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version" - - { - if [ ! -d "$korebuild_path" ]; then - mkdir -p "$korebuild_path" - local remote_path="$tools_source/korebuild/artifacts/$version/korebuild.$version.zip" - tmpfile="$(mktemp)" - echo -e "${MAGENTA}Downloading KoreBuild ${version}${RESET}" - if __get_remote_file "$remote_path" "$tmpfile" "$tools_source_suffix"; then - unzip -q -d "$korebuild_path" "$tmpfile" - fi - rm "$tmpfile" || true - fi - - source "$korebuild_path/KoreBuild.sh" - } || { - if [ -d "$korebuild_path" ]; then - echo "Cleaning up after failed installation" - rm -rf "$korebuild_path" || true - fi - return 1 - } -} - -__error() { - echo -e "${RED}error: $*${RESET}" 1>&2 -} - -__warn() { - echo -e "${YELLOW}warning: $*${RESET}" -} - -__machine_has() { - hash "$1" > /dev/null 2>&1 - return $? -} - -__get_remote_file() { - local remote_path=$1 - local local_path=$2 - local remote_path_suffix=$3 - - if [[ "$remote_path" != 'http'* ]]; then - cp "$remote_path" "$local_path" - return 0 - fi - - local failed=false - if __machine_has wget; then - wget --tries 10 --quiet -O "$local_path" "${remote_path}${remote_path_suffix}" || failed=true - else - failed=true - fi - - if [ "$failed" = true ] && __machine_has curl; then - failed=false - curl --retry 10 -sSL -f --create-dirs -o "$local_path" "${remote_path}${remote_path_suffix}" || failed=true - fi - - if [ "$failed" = true ]; then - __error "Download failed: $remote_path" 1>&2 - return 1 - fi -} - -# -# main -# - -command="${1:-}" -shift - -while [[ $# -gt 0 ]]; do - case $1 in - -\?|-h|--help) - __usage --no-exit - exit 0 - ;; - -c|--channel|-Channel) - shift - channel="${1:-}" - [ -z "$channel" ] && __usage - ;; - --config-file|-ConfigFile) - shift - config_file="${1:-}" - [ -z "$config_file" ] && __usage - if [ ! -f "$config_file" ]; then - __error "Invalid value for --config-file. $config_file does not exist." - exit 1 - fi - ;; - -d|--dotnet-home|-DotNetHome) - shift - DOTNET_HOME="${1:-}" - [ -z "$DOTNET_HOME" ] && __usage - ;; - --path|-Path) - shift - repo_path="${1:-}" - [ -z "$repo_path" ] && __usage - ;; - -s|--tools-source|-ToolsSource) - shift - tools_source="${1:-}" - [ -z "$tools_source" ] && __usage - ;; - --tools-source-suffix|-ToolsSourceSuffix) - shift - tools_source_suffix="${1:-}" - [ -z "$tools_source_suffix" ] && __usage - ;; - -u|--update|-Update) - update=true - ;; - --verbose|-Verbose) - verbose=true - ;; - --) - shift - break - ;; - *) - break - ;; - esac - shift -done - -if ! __machine_has unzip; then - __error 'Missing required command: unzip' - exit 1 -fi - -if ! __machine_has curl && ! __machine_has wget; then - __error 'Missing required command. Either wget or curl is required.' - exit 1 -fi - -[ -z "${config_file:-}" ] && config_file="$repo_path/korebuild.json" -if [ -f "$config_file" ]; then - if __machine_has jq ; then - if jq '.' "$config_file" >/dev/null ; then - config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")" - config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")" - else - __warn "$config_file is invalid JSON. Its settings will be ignored." - fi - elif __machine_has python ; then - if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then - config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")" - config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")" - else - __warn "$config_file is invalid JSON. Its settings will be ignored." - fi - else - __warn 'Missing required command: jq or pyton. Could not parse the JSON file. Its settings will be ignored.' - fi - - [ ! -z "${config_channel:-}" ] && channel="$config_channel" - [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source" -fi - -[ -z "$channel" ] && channel='dev' -[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' - -get_korebuild -set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" -invoke_korebuild_command "$command" "$@" diff --git a/.gitignore b/src/ServerTests/.gitignore similarity index 100% rename from .gitignore rename to src/ServerTests/.gitignore diff --git a/Directory.Build.props b/src/ServerTests/Directory.Build.props similarity index 100% rename from Directory.Build.props rename to src/ServerTests/Directory.Build.props diff --git a/Directory.Build.targets b/src/ServerTests/Directory.Build.targets similarity index 100% rename from Directory.Build.targets rename to src/ServerTests/Directory.Build.targets diff --git a/NuGetPackageVerifier.json b/src/ServerTests/NuGetPackageVerifier.json similarity index 100% rename from NuGetPackageVerifier.json rename to src/ServerTests/NuGetPackageVerifier.json diff --git a/README.md b/src/ServerTests/README.md similarity index 100% rename from README.md rename to src/ServerTests/README.md diff --git a/ServerTests.sln b/src/ServerTests/ServerTests.sln similarity index 100% rename from ServerTests.sln rename to src/ServerTests/ServerTests.sln diff --git a/build/dependencies.props b/src/ServerTests/build/dependencies.props similarity index 100% rename from build/dependencies.props rename to src/ServerTests/build/dependencies.props diff --git a/build/repo.props b/src/ServerTests/build/repo.props similarity index 100% rename from build/repo.props rename to src/ServerTests/build/repo.props diff --git a/build/sources.props b/src/ServerTests/build/sources.props similarity index 100% rename from build/sources.props rename to src/ServerTests/build/sources.props diff --git a/install-nginx.sh b/src/ServerTests/install-nginx.sh old mode 100755 new mode 100644 similarity index 100% rename from install-nginx.sh rename to src/ServerTests/install-nginx.sh diff --git a/test/Directory.Build.props b/src/ServerTests/test/Directory.Build.props similarity index 100% rename from test/Directory.Build.props rename to src/ServerTests/test/Directory.Build.props diff --git a/test/ServerComparison.FunctionalTests/HelloWorldTest.cs b/src/ServerTests/test/ServerComparison.FunctionalTests/HelloWorldTest.cs similarity index 100% rename from test/ServerComparison.FunctionalTests/HelloWorldTest.cs rename to src/ServerTests/test/ServerComparison.FunctionalTests/HelloWorldTest.cs diff --git a/test/ServerComparison.FunctionalTests/Helpers.cs b/src/ServerTests/test/ServerComparison.FunctionalTests/Helpers.cs similarity index 100% rename from test/ServerComparison.FunctionalTests/Helpers.cs rename to src/ServerTests/test/ServerComparison.FunctionalTests/Helpers.cs diff --git a/test/ServerComparison.FunctionalTests/Http.config b/src/ServerTests/test/ServerComparison.FunctionalTests/Http.config similarity index 100% rename from test/ServerComparison.FunctionalTests/Http.config rename to src/ServerTests/test/ServerComparison.FunctionalTests/Http.config diff --git a/test/ServerComparison.FunctionalTests/NoCompression.conf b/src/ServerTests/test/ServerComparison.FunctionalTests/NoCompression.conf similarity index 100% rename from test/ServerComparison.FunctionalTests/NoCompression.conf rename to src/ServerTests/test/ServerComparison.FunctionalTests/NoCompression.conf diff --git a/test/ServerComparison.FunctionalTests/NoCompression.config b/src/ServerTests/test/ServerComparison.FunctionalTests/NoCompression.config similarity index 100% rename from test/ServerComparison.FunctionalTests/NoCompression.config rename to src/ServerTests/test/ServerComparison.FunctionalTests/NoCompression.config diff --git a/test/ServerComparison.FunctionalTests/NtlmAuthentication.config b/src/ServerTests/test/ServerComparison.FunctionalTests/NtlmAuthentication.config similarity index 100% rename from test/ServerComparison.FunctionalTests/NtlmAuthentication.config rename to src/ServerTests/test/ServerComparison.FunctionalTests/NtlmAuthentication.config diff --git a/test/ServerComparison.FunctionalTests/NtlmAuthenticationTest.cs b/src/ServerTests/test/ServerComparison.FunctionalTests/NtlmAuthenticationTest.cs similarity index 100% rename from test/ServerComparison.FunctionalTests/NtlmAuthenticationTest.cs rename to src/ServerTests/test/ServerComparison.FunctionalTests/NtlmAuthenticationTest.cs diff --git a/test/ServerComparison.FunctionalTests/Properties/AssemblyInfo.cs b/src/ServerTests/test/ServerComparison.FunctionalTests/Properties/AssemblyInfo.cs similarity index 100% rename from test/ServerComparison.FunctionalTests/Properties/AssemblyInfo.cs rename to src/ServerTests/test/ServerComparison.FunctionalTests/Properties/AssemblyInfo.cs diff --git a/test/ServerComparison.FunctionalTests/ResponseCompressionTests.cs b/src/ServerTests/test/ServerComparison.FunctionalTests/ResponseCompressionTests.cs similarity index 100% rename from test/ServerComparison.FunctionalTests/ResponseCompressionTests.cs rename to src/ServerTests/test/ServerComparison.FunctionalTests/ResponseCompressionTests.cs diff --git a/test/ServerComparison.FunctionalTests/ResponseTests.cs b/src/ServerTests/test/ServerComparison.FunctionalTests/ResponseTests.cs similarity index 100% rename from test/ServerComparison.FunctionalTests/ResponseTests.cs rename to src/ServerTests/test/ServerComparison.FunctionalTests/ResponseTests.cs diff --git a/test/ServerComparison.FunctionalTests/ServerComparison.FunctionalTests.csproj b/src/ServerTests/test/ServerComparison.FunctionalTests/ServerComparison.FunctionalTests.csproj similarity index 100% rename from test/ServerComparison.FunctionalTests/ServerComparison.FunctionalTests.csproj rename to src/ServerTests/test/ServerComparison.FunctionalTests/ServerComparison.FunctionalTests.csproj diff --git a/test/ServerComparison.FunctionalTests/nginx.conf b/src/ServerTests/test/ServerComparison.FunctionalTests/nginx.conf similarity index 100% rename from test/ServerComparison.FunctionalTests/nginx.conf rename to src/ServerTests/test/ServerComparison.FunctionalTests/nginx.conf diff --git a/test/ServerComparison.TestSites/Program.cs b/src/ServerTests/test/ServerComparison.TestSites/Program.cs similarity index 100% rename from test/ServerComparison.TestSites/Program.cs rename to src/ServerTests/test/ServerComparison.TestSites/Program.cs diff --git a/test/ServerComparison.TestSites/Properties/launchSettings.json b/src/ServerTests/test/ServerComparison.TestSites/Properties/launchSettings.json similarity index 100% rename from test/ServerComparison.TestSites/Properties/launchSettings.json rename to src/ServerTests/test/ServerComparison.TestSites/Properties/launchSettings.json diff --git a/test/ServerComparison.TestSites/ServerComparison.TestSites.csproj b/src/ServerTests/test/ServerComparison.TestSites/ServerComparison.TestSites.csproj similarity index 100% rename from test/ServerComparison.TestSites/ServerComparison.TestSites.csproj rename to src/ServerTests/test/ServerComparison.TestSites/ServerComparison.TestSites.csproj diff --git a/test/ServerComparison.TestSites/StartupHelloWorld.cs b/src/ServerTests/test/ServerComparison.TestSites/StartupHelloWorld.cs similarity index 100% rename from test/ServerComparison.TestSites/StartupHelloWorld.cs rename to src/ServerTests/test/ServerComparison.TestSites/StartupHelloWorld.cs diff --git a/test/ServerComparison.TestSites/StartupNtlmAuthentication.cs b/src/ServerTests/test/ServerComparison.TestSites/StartupNtlmAuthentication.cs similarity index 100% rename from test/ServerComparison.TestSites/StartupNtlmAuthentication.cs rename to src/ServerTests/test/ServerComparison.TestSites/StartupNtlmAuthentication.cs diff --git a/test/ServerComparison.TestSites/StartupResponseCompression.cs b/src/ServerTests/test/ServerComparison.TestSites/StartupResponseCompression.cs similarity index 100% rename from test/ServerComparison.TestSites/StartupResponseCompression.cs rename to src/ServerTests/test/ServerComparison.TestSites/StartupResponseCompression.cs diff --git a/test/ServerComparison.TestSites/StartupResponses.cs b/src/ServerTests/test/ServerComparison.TestSites/StartupResponses.cs similarity index 100% rename from test/ServerComparison.TestSites/StartupResponses.cs rename to src/ServerTests/test/ServerComparison.TestSites/StartupResponses.cs diff --git a/test/ServerComparison.TestSites/web.config b/src/ServerTests/test/ServerComparison.TestSites/web.config similarity index 100% rename from test/ServerComparison.TestSites/web.config rename to src/ServerTests/test/ServerComparison.TestSites/web.config diff --git a/version.props b/src/ServerTests/version.props similarity index 100% rename from version.props rename to src/ServerTests/version.props