summaryrefslogtreecommitdiff
path: root/test/files/detach-run
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2010-11-18 17:46:38 +0000
committermichelou <michelou@epfl.ch>2010-11-18 17:46:38 +0000
commitc5c02cf4ff257bfb23386048ef9b3129eab2baf2 (patch)
tree4d1c08aa60c9d7f603e9d006f1bd851253bf6f00 /test/files/detach-run
parent13a20ba71ae1805c7361e95d66360bd0a9a7f3d8 (diff)
downloadscala-c5c02cf4ff257bfb23386048ef9b3129eab2baf2.tar.gz
scala-c5c02cf4ff257bfb23386048ef9b3129eab2baf2.tar.bz2
scala-c5c02cf4ff257bfb23386048ef9b3129eab2baf2.zip
removed duplicated error message for bad compil...
removed duplicated error message for bad compiler options made some cleanups in detach plugin code
Diffstat (limited to 'test/files/detach-run')
-rw-r--r--test/files/detach-run/actor/actor.scala185
-rw-r--r--test/files/detach-run/basic/basic.scala216
2 files changed, 211 insertions, 190 deletions
diff --git a/test/files/detach-run/actor/actor.scala b/test/files/detach-run/actor/actor.scala
index 0cf55462f6..958b209594 100644
--- a/test/files/detach-run/actor/actor.scala
+++ b/test/files/detach-run/actor/actor.scala
@@ -1,16 +1,6 @@
object Test {
- val actors_logLevel = "0"
- // = "3" // info+warning+error
- val logLevel = "silent"
- // = "info" // debug user code only
- // = "info,lib" // debug user & library code
-
- // we assume an Apache server is running locally for deployment
- private val sep = java.io.File.separator
- val docPath = System.getProperty("user.home")+sep+"public_html"
- val docRoot = "http://127.0.0.1/~"+System.getProperty("user.name")
-
+ val name = "actor"
val host = "127.0.0.1"
val port = 8889
@@ -24,19 +14,7 @@ object Test {
}
private def setenv() {
- import java.io._, java.util.jar._
-
- val policyTmpl =
- System.getProperty("partest.cwd")+sep+"actor"+sep+"java.policy"
- val outPath = System.getProperty("partest.output")
- val libPath = System.getProperty("partest.lib")
- val policyFile = outPath+sep+"java.policy"
- val codebaseDir = outPath+sep+"-"
-
- assert((new java.io.File(docPath)).isDirectory,
- "Root directory \""+docPath+"\" not found")
- val deployJar = docPath+sep+"actor_deploy.jar"
- val deployUrl = docRoot+"/actor_deploy.jar"
+ import Env._
// Java properties for server & client
System.setProperty("scala.actors.logLevel", actors_logLevel)
@@ -48,6 +26,8 @@ object Test {
System.setProperty("java.rmi.server.hostname", host)
System.setProperty("java.rmi.server.useCodebaseOnly", "true")
+ // application-specific classes to be deployed and accessed via URL
+ // (i.e. detached closure, proxy interfaces and proxy stubs)
val classNames = List(
"$anonfun$main$1$proxy",
"$anonfun$main$1$proxyImpl_Stub",
@@ -66,75 +46,106 @@ object Test {
generatePolicyFile()
generateRmiStubs(proxyImplNames)
generateJarFile(classNames)
+ }
+}
- def generatePolicyFile() {
- val in = new BufferedReader(new FileReader(policyTmpl))
- val out = new PrintWriter(new BufferedWriter(new FileWriter(policyFile)))
- var line = in.readLine()
- while (line != null) {
- val line1 = line.replaceAll("@PROJECT_LIB_BASE@", codebaseDir)
- out.println(line1)
- line = in.readLine()
- }
- in.close()
- out.close()
+object Env {
+ import java.io._, java.util.jar._
+
+ val actors_logLevel = "0"
+ // = "3" // info+warning+error
+ val logLevel = "silent"
+ // = "info" // debug user code only
+ // = "info,lib" // debug user & library code
+
+ // we assume an Apache server is running locally for deployment
+ private val sep = File.separator
+ val docPath = System.getProperty("user.home")+sep+"public_html"
+ val docRoot = "http://127.0.0.1/~"+System.getProperty("user.name")
+
+ private val policyTmpl =
+ System.getProperty("partest.cwd")+sep+Test.name+sep+"java.policy"
+ val outPath = System.getProperty("partest.output")
+ val libPath = System.getProperty("partest.lib")
+ val policyFile = outPath+sep+"java.policy"
+ val codebaseDir = outPath+sep+"-"
+
+ assert((new File(docPath)).isDirectory,
+ "Root directory \""+docPath+"\" not found")
+ val deployJar = docPath+sep+Test.name+"_deploy.jar"
+ val deployUrl = docRoot+"/"+Test.name+"_deploy.jar"
+
+ def generatePolicyFile() {
+ val in = new BufferedReader(new FileReader(policyTmpl))
+ val out = new PrintWriter(new BufferedWriter(new FileWriter(policyFile)))
+ var line = in.readLine()
+ while (line != null) {
+ val line1 = line.replaceAll("@PROJECT_LIB_BASE@", codebaseDir)
+ out.println(line1)
+ line = in.readLine()
}
- def exec(command: String) {
- val proc = Runtime.getRuntime exec command
- proc.waitFor()
- val out = new BufferedReader(new InputStreamReader(proc.getInputStream))
- var line = out.readLine()
- while (line != null) {
- println(line)
- line = out.readLine()
- }
- out.close()
- val err = new BufferedReader(new InputStreamReader(proc.getErrorStream))
- line = err.readLine()
- while (line != null) {
- println(line)
- line = err.readLine()
+ in.close()
+ out.close()
+ }
+
+ def generateRmiStubs(classNames: List[String]) {
+ val options = List(
+ "-v1.2",
+ "-classpath "+libPath+File.pathSeparator+outPath,
+ "-d "+outPath)
+ rmic(options, classNames)
+ //ls(outPath)
+ }
+
+ def generateJarFile(classNames: List[String]) {
+ val out = new JarOutputStream(new FileOutputStream(deployJar))
+ classNames foreach (name => {
+ val classFile = name+".class"
+ out putNextEntry new JarEntry(classFile)
+ val in = new FileInputStream(outPath+sep+classFile)
+ val buf = new Array[Byte](256)
+ var len = in read buf
+ while (len != -1) {
+ out.write(buf, 0, len)
+ len = in read buf
}
- err.close()
- }
+ in.close()
+ })
+ out.close()
+ }
- def ls(path: String) { exec("ls -al "+path) }
- def rmic(options: List[String], classNames: List[String]) {
- val javaHome = scala.util.Properties.javaHome
- val jdkHome =
- if (javaHome endsWith "jre") javaHome.substring(0, javaHome.length-4)
- else javaHome
- val rmicExt = if (scala.util.Properties.isWin) ".exe" else ""
- val rmicCmd = jdkHome+sep+"bin"+sep+"rmic"+rmicExt
- val cmdLine = rmicCmd+options.mkString(" ", " ", "")+
- classNames.mkString(" "," ","")
- // println(cmdLine)
- exec(cmdLine)
- }
- def generateRmiStubs(classNames: List[String]) {
- val options = List(
- "-v1.2",
- "-classpath "+libPath+File.pathSeparator+outPath,
- "-d "+outPath)
- rmic(options, classNames)
- //ls(outPath)
+ private def ls(path: String) { exec("ls -al "+path) }
+
+ private def rmic(options: List[String], classNames: List[String]) {
+ val javaHome = scala.util.Properties.javaHome
+ val jdkHome =
+ if (javaHome endsWith "jre") javaHome.substring(0, javaHome.length-4)
+ else javaHome
+ val rmicExt = if (scala.util.Properties.isWin) ".exe" else ""
+ val rmicCmd = jdkHome+sep+"bin"+sep+"rmic"+rmicExt
+ val cmdLine = rmicCmd+options.mkString(" ", " ", "")+
+ classNames.mkString(" "," ","")
+ // println(cmdLine)
+ exec(cmdLine)
+ }
+
+ private def exec(command: String) {
+ val proc = Runtime.getRuntime exec command
+ proc.waitFor()
+ val out = new BufferedReader(new InputStreamReader(proc.getInputStream))
+ var line = out.readLine()
+ while (line != null) {
+ println(line)
+ line = out.readLine()
}
- def generateJarFile(classNames: List[String]) {
- val out = new JarOutputStream(new FileOutputStream(deployJar))
- classNames foreach (name => {
- val className = name+".class"
- out putNextEntry new JarEntry(className)
- val in = new FileInputStream(outPath+sep+className)
- val buf = new Array[Byte](256)
- var len = in read buf
- while (len != -1) {
- out.write(buf, 0, len)
- len = in read buf
- }
- in.close()
- })
- out.close()
+ out.close()
+ val err = new BufferedReader(new InputStreamReader(proc.getErrorStream))
+ line = err.readLine()
+ while (line != null) {
+ println(line)
+ line = err.readLine()
}
+ err.close()
}
}
diff --git a/test/files/detach-run/basic/basic.scala b/test/files/detach-run/basic/basic.scala
index c8a1046d44..1bfb838b21 100644
--- a/test/files/detach-run/basic/basic.scala
+++ b/test/files/detach-run/basic/basic.scala
@@ -1,58 +1,36 @@
object Test {
+ val name = "basic"
val host = "127.0.0.1"
val port = 8889
- val logLevel = "silent"
- // = "info" // debug user code only
- // = "info,lib" // debug user & library code
-
- // we assume an Apache server is running locally for deployment
- private val sep = java.io.File.separator
- val docPath = System.getProperty("user.home")+sep+"public_html"
- val docRoot = "http://127.0.0.1/~"+System.getProperty("user.name")
-
- private var server = new ServerThread(port)
- private var client = new ClientThread(host, port)
def main(args: Array[String]) {
setenv()
+ println("Server.main "+port)
server.start()
- Thread.sleep(1000)
+ println("Client.main "+host+" "+port)
client.start()
- server.join()
- client.join()
- System.exit(0)
+ server.terminate()
}
- private class ServerThread(port: Int) extends Thread {
- override def run() {
- println("Server.main "+port)
- Server.main(Array(port.toString))
- }
+ private var server = new ServerThread(port)
+ private var client = new ClientThread(host, port)
+
+ private class ServerThread(port: Int) extends Runnable {
+ private var th = new Thread(this)
+ def start() { th.start(); Thread.sleep(1000) }
+ def run() { Server.main(Array(port.toString)) }
+ def terminate() { Server.terminate(); System.exit(0) }
}
- private class ClientThread(host: String, port: Int) extends Thread {
- override def run() {
- println("Client.main "+host+" "+port)
- Client.main(Array(host, port.toString))
- Server.terminate()
- }
+ private class ClientThread(host: String, port: Int) extends Runnable {
+ private var th = new Thread(this)
+ def start() { th.start(); th.join() }
+ def run() { Client.main(Array(host, port.toString)) }
}
private def setenv() {
- import java.io._, java.util.jar._
-
- val policyTmpl =
- System.getProperty("partest.cwd")+sep+"basic"+sep+"java.policy"
- val outPath = System.getProperty("partest.output")
- val libPath = System.getProperty("partest.lib")
- val policyFile = outPath+sep+"java.policy"
- val codebaseDir = outPath+sep+"-"
-
- assert((new java.io.File(docPath)).isDirectory,
- "Root directory \""+docPath+"\" not found")
- val deployJar = docPath+sep+"basic_deploy.jar"
- val deployUrl = docRoot+"/basic_deploy.jar"
+ import Env._
// Java properties for server & client
System.setProperty("scala.remoting.logLevel", logLevel)
@@ -63,6 +41,8 @@ object Test {
System.setProperty("java.rmi.server.hostname", host)
System.setProperty("java.rmi.server.useCodebaseOnly", "true")
+ // application-secific classes to be deployed and accessed via URL
+ // (i.e. detached closure, proxy interfaces and proxy stubs)
val classNames = List(
"Bar$proxy",
"Bar$proxyImpl_Stub",
@@ -79,75 +59,105 @@ object Test {
generatePolicyFile()
generateRmiStubs(proxyImplNames)
generateJarFile(classNames)
+ }
+}
- def generatePolicyFile() {
- val in = new BufferedReader(new FileReader(policyTmpl))
- val out = new PrintWriter(new BufferedWriter(new FileWriter(policyFile)))
- var line = in.readLine()
- while (line != null) {
- val line1 = line.replaceAll("@PROJECT_LIB_BASE@", codebaseDir)
- out.println(line1)
- line = in.readLine()
- }
- in.close()
- out.close()
+object Env {
+ import java.io._, java.util.jar._
+
+ val actors_logLevel = "0"
+ // = "3" // info+warning+error
+ val logLevel = "silent"
+ // = "info" // debug user code only
+ // = "info,lib" // debug user & library code
+
+ // we assume an Apache server is running locally for deployment
+ private val sep = File.separator
+ val docPath = System.getProperty("user.home")+sep+"public_html"
+ val docRoot = "http://127.0.0.1/~"+System.getProperty("user.name")
+
+ private val policyTmpl =
+ System.getProperty("partest.cwd")+sep+Test.name+sep+"java.policy"
+ val outPath = System.getProperty("partest.output")
+ val libPath = System.getProperty("partest.lib")
+ val policyFile = outPath+sep+"java.policy"
+ val codebaseDir = outPath+sep+"-"
+
+ assert((new File(docPath)).isDirectory,
+ "Root directory \""+docPath+"\" not found")
+ val deployJar = docPath+sep+Test.name+"_deploy.jar"
+ val deployUrl = docRoot+"/"+Test.name+"_deploy.jar"
+
+ def generatePolicyFile() {
+ val in = new BufferedReader(new FileReader(policyTmpl))
+ val out = new PrintWriter(new BufferedWriter(new FileWriter(policyFile)))
+ var line = in.readLine()
+ while (line != null) {
+ val line1 = line.replaceAll("@PROJECT_LIB_BASE@", codebaseDir)
+ out.println(line1)
+ line = in.readLine()
}
- def exec(command: String) {
- val proc = Runtime.getRuntime exec command
- proc.waitFor()
- val out = new BufferedReader(new InputStreamReader(proc.getInputStream))
- var line = out.readLine()
- while (line != null) {
- println(line)
- line = out.readLine()
- }
- out.close()
- val err = new BufferedReader(new InputStreamReader(proc.getErrorStream))
- line = err.readLine()
- while (line != null) {
- println(line)
- line = err.readLine()
+ in.close()
+ out.close()
+ }
+
+ def generateRmiStubs(classNames: List[String]) {
+ val options = List(
+ "-v1.2",
+ "-classpath "+libPath+File.pathSeparator+outPath,
+ "-d "+outPath)
+ rmic(options, classNames)
+ //ls(outPath)
+ }
+
+ def generateJarFile(classNames: List[String]) {
+ val out = new JarOutputStream(new FileOutputStream(deployJar))
+ classNames foreach (name => {
+ val classFile = name+".class"
+ out putNextEntry new JarEntry(classFile)
+ val in = new FileInputStream(outPath+sep+classFile)
+ val buf = new Array[Byte](256)
+ var len = in read buf
+ while (len != -1) {
+ out.write(buf, 0, len)
+ len = in read buf
}
- err.close()
- }
+ in.close()
+ })
+ out.close()
+ }
- def ls(path: String) { exec("ls -al "+path) }
- def rmic(options: List[String], classNames: List[String]) {
- val javaHome = scala.util.Properties.javaHome
- val jdkHome =
- if (javaHome endsWith "jre") javaHome.substring(0, javaHome.length-4)
- else javaHome
- val rmicExt = if (scala.util.Properties.isWin) ".exe" else ""
- val rmicCmd = jdkHome+sep+"bin"+sep+"rmic"+rmicExt
- val cmdLine = rmicCmd+options.mkString(" ", " ", "")+
- classNames.mkString(" "," ","")
- // println(cmdLine)
- exec(cmdLine)
- }
- def generateRmiStubs(classNames: List[String]) {
- val options = List(
- "-v1.2",
- "-classpath "+libPath+File.pathSeparator+outPath,
- "-d "+outPath)
- rmic(options, classNames)
- // ls(outPath)
+ private def ls(path: String) { exec("ls -al "+path) }
+
+ private def rmic(options: List[String], classNames: List[String]) {
+ val javaHome = scala.util.Properties.javaHome
+ val jdkHome =
+ if (javaHome endsWith "jre") javaHome.substring(0, javaHome.length-4)
+ else javaHome
+ val rmicExt = if (scala.util.Properties.isWin) ".exe" else ""
+ val rmicCmd = jdkHome+sep+"bin"+sep+"rmic"+rmicExt
+ val cmdLine = rmicCmd+options.mkString(" ", " ", "")+
+ classNames.mkString(" "," ","")
+ // println(cmdLine)
+ exec(cmdLine)
+ }
+
+ private def exec(command: String) {
+ val proc = Runtime.getRuntime exec command
+ proc.waitFor()
+ val out = new BufferedReader(new InputStreamReader(proc.getInputStream))
+ var line = out.readLine()
+ while (line != null) {
+ println(line)
+ line = out.readLine()
}
- def generateJarFile(classNames: List[String]) {
- val out = new JarOutputStream(new FileOutputStream(deployJar))
- classNames foreach (name => {
- val className = name+".class"
- out putNextEntry new JarEntry(className)
- val in = new FileInputStream(outPath+sep+className)
- val buf = new Array[Byte](256)
- var len = in read buf
- while (len != -1) {
- out.write(buf, 0, len)
- len = in read buf
- }
- in.close()
- })
- out.close()
+ out.close()
+ val err = new BufferedReader(new InputStreamReader(proc.getErrorStream))
+ line = err.readLine()
+ while (line != null) {
+ println(line)
+ line = err.readLine()
}
+ err.close()
}
}
-