Browse Source

added tests for plain's servlet 3.1 features

we took the ‚servlet‘ framework’s warfile as a test
weltermann17 11 years ago
parent
commit
9aa2e962c7

+ 49 - 3
plain/benchmark_config

@@ -1,7 +1,7 @@
 {
   "framework": "plain",
   "tests": [{
-    "default": {
+    "linux": {
       "setup_file": "setup",
       "json_url": "/json",
       "plaintext_url": "/plaintext",
@@ -20,7 +20,30 @@
       "webserver": "None",
       "os": "Linux",
       "database_os": "Linux",
-      "display_name": "plain",
+      "display_name": "plain-linux",
+      "notes": "",
+      "versus": ""
+    },
+    "linux-servlet": {
+      "setup_file": "setup",
+      "json_url": "/web-apps/servlet/json",
+      "plaintext_url": "/web-apps/servlet/plaintext",
+      "db_url": "/web-apps/servlet/db",
+      "query_url": "/web-apps/servlet/db?queries=",
+      "update_url": "/web-apps/servlet/update?queries=",
+      "fortune_url": "/web-apps/servlet/fortunes",
+      "port": 9080,
+      "approach": "Realistic",
+      "classification": "Fullstack",
+      "database": "MySQL",
+      "framework": "plain",
+      "language": "Scala",
+      "orm": "Full",
+      "platform": "Plain",
+      "webserver": "None",
+      "os": "Linux",
+      "database_os": "Linux",
+      "display_name": "plain-servlet-linux",
       "notes": "",
       "versus": ""
     },
@@ -43,7 +66,30 @@
       "webserver": "None",
       "os": "Windows",
       "database_os": "Linux",
-      "display_name": "plain-win",
+      "display_name": "plain-windows",
+      "notes": "",
+      "versus": ""
+    },
+    "win-servlet": {
+      "setup_file": "setup",
+      "json_url": "/web-apps/servlet/json",
+      "plaintext_url": "/web-apps/servlet/plaintext",
+      "db_url": "/web-apps/servlet/db",
+      "query_url": "/web-apps/servlet/db?queries=",
+      "update_url": "/web-apps/servlet/update?queries=",
+      "fortune_url": "/web-apps/servlet/fortunes",
+      "port": 9080,
+      "approach": "Realistic",
+      "classification": "Fullstack",
+      "database": "MySQL",
+      "framework": "plain",
+      "language": "Scala",
+      "orm": "Full",
+      "platform": "Plain",
+      "webserver": "None",
+      "os": "Windows",
+      "database_os": "Linux",
+      "display_name": "plain-servlet-windows",
       "notes": "",
       "versus": ""
     }

+ 11 - 8
plain/build.sbt

@@ -1,4 +1,5 @@
 import sbt._
+import Keys._
 import spray.revolver.RevolverPlugin.Revolver
 import sbtassembly.Plugin._
 import AssemblyKeys._
@@ -16,7 +17,7 @@ test in Compile := {}
 mainClass in Compile := Some("com.ibm.plain.bootstrap.Main")
 
 scalacOptions in Compile ++= Seq(
-	"-g:none",
+	"-g:vars",
 	"-encoding", "UTF-8", 
 	"-target:jvm-1.7", 
 	"-deprecation", 
@@ -38,20 +39,22 @@ libraryDependencies ++= Seq(
   "commons-io" % "commons-io" % "2.4",
   "commons-net" % "commons-net" % "3.3",
   "commons-codec" % "commons-codec" % "1.8",
+  "javax.servlet" % "javax.servlet-api" % "3.1.0",
+  "org.glassfish.web" % "javax.servlet.jsp" % "2.3.1",
   "com.googlecode.concurrentlinkedhashmap" % "concurrentlinkedhashmap-lru" % "1.3.2",
   "net.jpountz.lz4" % "lz4" % "1.2.0",
+  "net.lingala.zip4j" % "zip4j" % "1.3.1", 
   "com.fasterxml.jackson.core" % "jackson-databind" % "2.2.3",
   "com.sun.jersey" % "jersey-json" % "1.17.1",
   "org.jvnet.mimepull" % "mimepull" % "1.9.3",
-  "org.apache.derby" % "derby" % "10.10.1.1",
-  "org.apache.derby" % "derbyclient" % "10.10.1.1",
-  "com.h2database" % "h2" % "1.3.172",
-  "mysql" % "mysql-connector-java" % "5.1.26",
-  "javax.servlet" % "javax.servlet-api" % "3.1.0"
+  "mysql" % "mysql-connector-java" % "5.1.27"
 )
 
 Revolver.settings
 
-sbtassembly.Plugin.assemblySettings
-
 scalariformSettings
+
+assemblySettings
+
+test in assembly := {}
+

BIN
plain/lib/plain-library_2.10-1.0.1-SNAPSHOT.jar


+ 6 - 2
plain/src/main/resources/application.conf

@@ -14,6 +14,8 @@ plain {
 	http.ignore-accept-header = on
 	http.startup-servers = [ benchmark-server ]
 	jdbc.startup-connection-factories = [ benchmark-mysql ]
+	servlet.web-applications-directory = "../web-apps"
+	servlet.unpack-web-applications-directory = "../web-apps"
 }
 
 benchmark-server {
@@ -27,15 +29,17 @@ benchmark-dispatcher.routes = [
 	{ uri = db, resource-class-name = com.ibm.techempower.Db }
 	{ uri = update, resource-class-name = com.ibm.techempower.Update }
 	{ uri = fortunes, resource-class-name = com.ibm.techempower.Fortunes }
+	{ uri = "web-apps*", resource-class-name = com.ibm.plain.rest.resource.ServletResource }
 ]
 
 benchmark-mysql {
 	name = MysqlBenchmark
+	jndi-lookup-name = "jdbc/hello_world"
 	driver = mysql-5-6-12
 	datasource-settings {	
 		setUrl = "jdbc:mysql://127.0.0.1:3306/hello_world?jdbcCompliantTruncation=false&elideSetAutoCommits=false&dontTrackOpenResources=true&enableQueryTimeouts=false&useLocalSessionState=false&cachePrepStmts=true&cacheCallableStmts=true&alwaysSendSetIsolation=false&prepStmtCacheSize=1024&cacheServerConfiguration=true&prepStmtCacheSqlLimit=2048&zeroDateTimeBehavior=convertToNull&traceProtocol=false&useUnbufferedInput=false&useReadAheadInput=true&maintainTimeStats=false&useServerPrepStmts&cacheRSMetadata=true&poolPreparedStatements=true"
-		setUser = "benchmarkdbuser"
-		setPassword = "benchmarkdbpass"
+		setUser = benchmarkdbuser
+		setPassword = benchmarkdbpass
 	}	
 	min-pool-size = 8
 	max-pool-size = 128

BIN
plain/web-apps/servlet.war