소스 검색

Port aspnetcore tests to docker (#3371)

* Port aspnetcore tests to docker

I removed the os:Windows tests since we have no plans to support Windows
anytime soon.

* Enable aspnetcore tests for Travis
Michael Hixson 7 년 전
부모
커밋
de3b620e4e
26개의 변경된 파일37개의 추가작업 그리고 129개의 파일을 삭제
  1. 1 1
      .travis.yml
  2. 1 1
      frameworks/CSharp/aspnetcore/Benchmarks/appsettings.postgresql.json
  3. 12 0
      frameworks/CSharp/aspnetcore/aspnetcore-base.dockerfile
  4. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore-middleware-dapper.dockerfile
  5. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore-middleware-ef.dockerfile
  6. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore-middleware-json.dockerfile
  7. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore-middleware-raw.dockerfile
  8. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore-mvc-dapper.dockerfile
  9. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore-mvc-ef.dockerfile
  10. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore-mvc-json.dockerfile
  11. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore-mvc-raw.dockerfile
  12. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore-mvc.dockerfile
  13. 2 0
      frameworks/CSharp/aspnetcore/aspnetcore.dockerfile
  14. 2 92
      frameworks/CSharp/aspnetcore/benchmark_config.json
  15. 1 3
      frameworks/CSharp/aspnetcore/run-linux.sh
  16. 0 8
      frameworks/CSharp/aspnetcore/run-windows.ps1
  17. 0 2
      frameworks/CSharp/aspnetcore/setup-dapper.sh
  18. 0 2
      frameworks/CSharp/aspnetcore/setup-ef.sh
  19. 0 3
      frameworks/CSharp/aspnetcore/setup-httpsys.sh
  20. 0 2
      frameworks/CSharp/aspnetcore/setup-mvc-dapper.sh
  21. 0 2
      frameworks/CSharp/aspnetcore/setup-mvc-ef.sh
  22. 0 3
      frameworks/CSharp/aspnetcore/setup-mvc-httpsys.sh
  23. 0 2
      frameworks/CSharp/aspnetcore/setup-mvc-raw.sh
  24. 0 3
      frameworks/CSharp/aspnetcore/setup-mvc-windows.sh
  25. 0 2
      frameworks/CSharp/aspnetcore/setup-raw.sh
  26. 0 3
      frameworks/CSharp/aspnetcore/setup-windows.sh

+ 1 - 1
.travis.yml

@@ -13,7 +13,7 @@ env:
   matrix:
      - "TESTLANG=C"
     # - "TESTDIR=CSharp/aspnet"
-    # - "TESTDIR=CSharp/aspnetcore"
+     - "TESTDIR=CSharp/aspnetcore"
     # ## - "TESTDIR=CSharp/aspnet-stripped"
     # - "TESTDIR=CSharp/evhttp-sharp"
     # ## - "TESTDIR=CSharp/HttpListener"

+ 1 - 1
frameworks/CSharp/aspnetcore/Benchmarks/appsettings.postgresql.json

@@ -1,4 +1,4 @@
 {
-  "ConnectionString": "Server={db_server_placeholder};Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;Maximum Pool Size=1024;NoResetOnClose=true;Max Auto Prepare=3",
+  "ConnectionString": "Server=TFB-database;Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;Maximum Pool Size=1024;NoResetOnClose=true;Max Auto Prepare=3",
   "Database": "postgresql"
 }

+ 12 - 0
frameworks/CSharp/aspnetcore/aspnetcore-base.dockerfile

@@ -0,0 +1,12 @@
+FROM tfb/base:latest
+
+ADD ./ /aspnetcore
+WORKDIR /aspnetcore
+
+RUN apt-get install apt-transport-https
+RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg
+RUN sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
+RUN apt-get update
+RUN apt-get install -y dotnet-sdk-2.0.0
+
+ENV PATH="/root/.dotnet:${PATH}"

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore-middleware-dapper.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-dapper.sh

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore-middleware-ef.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-ef.sh

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore-middleware-json.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-json.sh

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore-middleware-raw.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-raw.sh

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore-mvc-dapper.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-mvc-dapper.sh

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore-mvc-ef.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-mvc-ef.sh

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore-mvc-json.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-mvc-json.sh

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore-mvc-raw.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-mvc-raw.sh

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore-mvc.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-mvc-plaintext.sh

+ 2 - 0
frameworks/CSharp/aspnetcore/aspnetcore.dockerfile

@@ -0,0 +1,2 @@
+FROM tfb/aspnetcore-base:latest
+CMD bash setup-plaintext.sh

+ 2 - 92
frameworks/CSharp/aspnetcore/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "aspnetcore",
   "tests": [{
     "default": {
-      "setup_file": "setup-plaintext",
       "plaintext_url": "/plaintext",
       "port": 8080,
       "approach": "Realistic",
@@ -21,7 +20,6 @@
       "versus": ""
     },
     "middleware-json": {
-      "setup_file": "setup-json",
       "json_url": "/json",
       "port": 8080,
       "approach": "Realistic",
@@ -40,7 +38,6 @@
       "versus": ""
     },
     "middleware-raw": {
-      "setup_file": "setup-raw",
       "db_url": "/db/raw",
       "query_url": "/queries/raw?queries=",
       "update_url": "/updates/raw?queries=",
@@ -62,7 +59,6 @@
       "versus": ""
     },
     "middleware-ef": {
-      "setup_file": "setup-ef",
       "db_url": "/db/ef",
       "query_url": "/queries/ef?queries=",
       "update_url": "/updates/ef?queries=",
@@ -84,7 +80,6 @@
       "versus": ""
     },
     "middleware-dapper": {
-      "setup_file": "setup-dapper",
       "db_url": "/db/dapper",
       "query_url": "/queries/dapper?queries=",
       "update_url": "/updates/dapper?queries=",
@@ -105,8 +100,7 @@
       "notes": "",
       "versus": ""
     },
-    "mvc-linux": {
-      "setup_file": "setup-mvc-plaintext",
+    "mvc": {
       "plaintext_url": "/mvc/plaintext",
       "port": 8080,
       "approach": "Realistic",
@@ -124,8 +118,7 @@
       "notes": "",
       "versus": ""
     },
-    "mvc-linux-json": {
-      "setup_file": "setup-mvc-json",
+    "mvc-json": {
       "json_url": "/mvc/json",
       "port": 8080,
       "approach": "Realistic",
@@ -144,7 +137,6 @@
       "versus": ""
     },
     "mvc-raw": {
-      "setup_file": "setup-mvc-raw",
       "db_url": "/mvc/db/raw",
       "query_url": "/mvc/queries/raw?queries=",
       "update_url": "/mvc/updates/raw?queries=",
@@ -166,7 +158,6 @@
       "versus": ""
     },
     "mvc-ef": {
-      "setup_file": "setup-mvc-ef",
       "db_url": "/mvc/db/ef",
       "query_url": "/mvc/queries/ef?queries=",
       "update_url": "/mvc/updates/ef?queries=",
@@ -188,7 +179,6 @@
       "versus": ""
     },
     "mvc-dapper": {
-      "setup_file": "setup-mvc-dapper",
       "db_url": "/mvc/db/dapper",
       "query_url": "/mvc/queries/dapper?queries=",
       "update_url": "/mvc/updates/dapper?queries=",
@@ -208,86 +198,6 @@
       "display_name": "aspnetcore-mvc-dapper",
       "notes": "",
       "versus": ""
-    },
-    "win": {
-      "setup_file": "setup-windows",
-      "json_url": "/json",
-      "plaintext_url": "/plaintext",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Micro",
-      "database": "None",
-      "framework": "ASP.NET Core",
-      "language": "C#",
-      "orm": "Raw",
-      "platform": ".NET",
-      "flavor": "CoreCLR",
-      "webserver": "None",
-      "os": "Windows",
-      "database_os": "Linux",
-      "display_name": "aspnetcore-win",
-      "notes": "",
-      "versus": ""
-    },
-    "mvc-win": {
-      "setup_file": "setup-mvc-windows",
-      "json_url": "/mvc/json",
-      "plaintext_url": "/mvc/plaintext",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Fullstack",
-      "database": "None",
-      "framework": "ASP.NET Core",
-      "language": "C#",
-      "orm": "Raw",
-      "platform": ".NET",
-      "flavor": "CoreCLR",
-      "webserver": "None",
-      "os": "Windows",
-      "database_os": "Linux",
-      "display_name": "aspnetcore-mvc-win",
-      "notes": "",
-      "versus": ""
-    },
-    "httpsys": {
-      "setup_file": "setup-httpsys",
-      "json_url": "/json",
-      "plaintext_url": "/plaintext",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Micro",
-      "database": "None",
-      "framework": "ASP.NET Core",
-      "language": "C#",
-      "orm": "Raw",
-      "platform": ".NET",
-      "flavor": "CoreCLR",
-      "webserver": "None",
-      "os": "Windows",
-      "database_os": "Linux",
-      "display_name": "aspnetcore-httpsys",
-      "notes": "",
-      "versus": ""
-    },
-    "mvc-httpsys": {
-      "setup_file": "setup-mvc-httpsys",
-      "json_url": "/mvc/json",
-      "plaintext_url": "/mvc/plaintext",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Fullstack",
-      "database": "None",
-      "framework": "ASP.NET Core",
-      "language": "C#",
-      "orm": "Raw",
-      "platform": ".NET",
-      "flavor": "CoreCLR",
-      "webserver": "None",
-      "os": "Windows",
-      "database_os": "Linux",
-      "display_name": "aspnetcore-mvc-httpsys",
-      "notes": "",
-      "versus": ""
     }
   }]
 }

+ 1 - 3
frameworks/CSharp/aspnetcore/run-linux.sh

@@ -1,5 +1,4 @@
 #!/bin/bash
-fw_depends dotnetcore
 
 threadCount=$2
 if [ "$threadCount" -lt "1" ]
@@ -9,8 +8,7 @@ fi
 
 cd Benchmarks
 cp appsettings.postgresql.json appsettings.json
-sed -i 's|{db_server_placeholder}|'"${DBHOST}"'|g' appsettings.json
 dotnet restore
 dotnet publish --configuration Release --output bin/Release/publish
 
-dotnet bin/Release/publish/Benchmarks.dll server.urls=http://*:8080 scenarios=$1 server=kestrel threadCount=$threadCount NonInteractive=true &
+dotnet bin/Release/publish/Benchmarks.dll server.urls=http://*:8080 scenarios=$1 server=kestrel threadCount=$threadCount NonInteractive=true

+ 0 - 8
frameworks/CSharp/aspnetcore/run-windows.ps1

@@ -1,8 +0,0 @@
-param([string]$scenarios="[default]", [string]$server="kestrel")
-
-$scenarios = (-split $scenarios) -join ","
-
-cd Benchmarks
-dotnet restore
-dotnet publish --configuration Release --output bin\Release\publish
-Start-Process -NoNewWindow dotnet -ArgumentList "bin\Release\publish\Benchmarks.dll", "server.urls=http://*:8080", "server=$server", "threadCount=1", "NonInteractive=true", "scenarios=$scenarios"

+ 0 - 2
frameworks/CSharp/aspnetcore/setup-dapper.sh

@@ -1,5 +1,3 @@
 #!/bin/bash
 
-fw_depends postgresql
-
 source run-linux.sh 'DbSingleQueryDapper,DbMultiQueryDapper,DbMultiUpdateDapper,DbFortunesDapper' $(($(nproc)/2))

+ 0 - 2
frameworks/CSharp/aspnetcore/setup-ef.sh

@@ -1,5 +1,3 @@
 #!/bin/bash
 
-fw_depends postgresql
-
 source run-linux.sh 'DbSingleQueryEf,DbMultiQueryEf,DbMultiUpdateEf,DbFortunesEf' $(($(nproc)/2))

+ 0 - 3
frameworks/CSharp/aspnetcore/setup-httpsys.sh

@@ -1,3 +0,0 @@
-#!/bin/bash
-fw_depends dotnetcore
-powershell ./run-windows.ps1 -scenarios [default] -server httpsys

+ 0 - 2
frameworks/CSharp/aspnetcore/setup-mvc-dapper.sh

@@ -1,5 +1,3 @@
 #!/bin/bash
 
-fw_depends postgresql
-
 source run-linux.sh 'MvcDbSingleQueryDapper,MvcDbMultiQueryDapper,MvcDbMultiUpdateDapper,MvcDbFortunesDapper' $(($(nproc)/2))

+ 0 - 2
frameworks/CSharp/aspnetcore/setup-mvc-ef.sh

@@ -1,5 +1,3 @@
 #!/bin/bash
 
-fw_depends postgresql
-
 source run-linux.sh 'MvcDbSingleQueryEf,MvcDbMultiQueryEf,MvcDbMultiUpdateEf,MvcDbFortunesEf' $(($(nproc)/2))

+ 0 - 3
frameworks/CSharp/aspnetcore/setup-mvc-httpsys.sh

@@ -1,3 +0,0 @@
-#!/bin/bash
-fw_depends dotnetcore
-powershell ./run-windows.ps1 -scenarios 'mvcjson,mvcplain' -server httpsys

+ 0 - 2
frameworks/CSharp/aspnetcore/setup-mvc-raw.sh

@@ -1,5 +1,3 @@
 #!/bin/bash
 
-fw_depends postgresql
-
 source run-linux.sh 'MvcDbSingleQueryRaw,MvcDbMultiQueryRaw,MvcDbMultiUpdateRaw,MvcDbFortunesRaw' $(($(nproc)/2))

+ 0 - 3
frameworks/CSharp/aspnetcore/setup-mvc-windows.sh

@@ -1,3 +0,0 @@
-#!/bin/bash
-fw_depends dotnetcore
-powershell ./run-windows.ps1 -scenarios 'mvcjson,mvcplain' -server kestrel

+ 0 - 2
frameworks/CSharp/aspnetcore/setup-raw.sh

@@ -1,5 +1,3 @@
 #!/bin/bash
 
-fw_depends postgresql
-
 source run-linux.sh 'DbSingleQueryRaw,DbMultiQueryRaw,DbMultiUpdateRaw,DbFortunesRaw' $(($(nproc)/2))

+ 0 - 3
frameworks/CSharp/aspnetcore/setup-windows.sh

@@ -1,3 +0,0 @@
-#!/bin/bash
-fw_depends dotnetcore
-powershell ./run-windows.ps1 -scenarios [default] -server kestrel