From c27a6fceeafaeac7d7f34a332a43de713150b55c Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Fri, 29 Jul 2016 17:54:28 -0700 Subject: Move testing into developer documentation --- Documentation/developer.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ Documentation/testing.md | 40 ---------------------------------------- 2 files changed, 45 insertions(+), 40 deletions(-) delete mode 100644 Documentation/testing.md diff --git a/Documentation/developer.md b/Documentation/developer.md index 641724f..3f74890 100644 --- a/Documentation/developer.md +++ b/Documentation/developer.md @@ -2,6 +2,10 @@ layout: page title: Developer Guide --- +# Content +* TOC +{:toc} + # Building from Source A complete build of flow involves two parts @@ -56,6 +60,47 @@ The project and package versions follow a [semantic](http://semver.org/) pattern Usually (following most Linux distribution's conventions), shared libraries produced by a project `name` of version `M.m.p` are named `libname.so.M.m.p`. However, since when accessing shared libraries through the JVM, only the `name` can be specified and no particular version, the convention adopted by flow is to append `M` to the library name and always keep the major version at zero. E.g. `libflow.so.3.1.2` becomes `libflow3.so.0.1.2`. +# Testing + +`flow-samples` directory contains fully functional application examples of flow. To run an example, change to the base directory of flow and run sbt samples/run. +All projects, including samples, can be listed by running sbt projects. + +To be able connect You can use real device (arduino) burned with sample-echo (`dev/arduino-terminal`) code, or create Virtual Serial Port pair + +[socat (SOcket CAT)](http://www.dest-unreach.org/socat/) – multipurpose relay – is a command line based utility that establishes two bidirectional byte streams and transfers data between them. +socat is #4 on the Top 100 Network Security Tools list, available in most distro repositories (on Debian/Ubuntu sudo apt-get install socat does the trick), really light on resources, and very efficient. + +To create a pair of VSP’s +```socat -d -d pty,raw,echo=0 pty,raw,echo=0``` + +you will get something like +``` +socat[5894] N PTY is /dev/ttys002 +socat[5894] N PTY is /dev/ttys003 +socat[5894] N starting data transfer loop with FDs [5,5] and [7,7] +``` +and that’s it! As long as the socat is running, you have a pair of VSP’s open (their names are printed by socat on initialization). See [socat man page](http://www.dest-unreach.org/socat/doc/socat.html) for more details on what the above command does. +Now You can connect to first socket ( in this case `/dev/ttys002`) using some sample (or Your code), and use second for monitoring or/and sending messages +To send - use command +``` +echo 'Hello World' > /dev/ttys003 +``` +To listen - use command +``` +cat < /dev/ttys003 +``` + +Connecting executable and VSP +``` +socat -d -d pty,raw,echo=0 "exec:myprog ...,pty,raw,echo=0" +``` +where the executable `myprog` will be connected with the VSP through stdio. + +For example Echo-server would look like +``` +socat -d -d pty,raw,echo=0 "exec:/bin/cat,pty,raw,echo=0" +``` + # Publishing and Releasing The release process is managed with the `sbt-release` plugin. See 'project/Release.scala' for a description of the various steps involved. diff --git a/Documentation/testing.md b/Documentation/testing.md deleted file mode 100644 index 8b13086..0000000 --- a/Documentation/testing.md +++ /dev/null @@ -1,40 +0,0 @@ -#Testing - -`flow-samples` directory contains fully functional application examples of flow. To run an example, change to the base directory of flow and run sbt samples/run. -All projects, including samples, can be listed by running sbt projects. - -To be able connect You can use real device (arduino) burned with sample-echo (`dev/arduino-terminal`) code, or create Virtual Serial Port pair - -[socat (SOcket CAT)](http://www.dest-unreach.org/socat/) – multipurpose relay – is a command line based utility that establishes two bidirectional byte streams and transfers data between them. -socat is #4 on the Top 100 Network Security Tools list, available in most distro repositories (on Debian/Ubuntu sudo apt-get install socat does the trick), really light on resources, and very efficient. - -To create a pair of VSP’s -```socat -d -d pty,raw,echo=0 pty,raw,echo=0``` - -you will get something like -``` -socat[5894] N PTY is /dev/ttys002 -socat[5894] N PTY is /dev/ttys003 -socat[5894] N starting data transfer loop with FDs [5,5] and [7,7] -``` -and that’s it! As long as the socat is running, you have a pair of VSP’s open (their names are printed by socat on initialization). See [socat man page](http://www.dest-unreach.org/socat/doc/socat.html) for more details on what the above command does. -Now You can connect to first socket ( in this case `/dev/ttys002`) using some sample (or Your code), and use second for monitoring or/and sending messages -To send - use command -``` -echo 'Hello World' > /dev/ttys003 -``` -To listen - use command -``` -cat < /dev/ttys003 -``` - -Connecting executable and VSP -``` -socat -d -d pty,raw,echo=0 "exec:myprog ...,pty,raw,echo=0" -``` -where the executable `myprog` will be connected with the VSP through stdio. - -For example Echo-server would look like -``` -socat -d -d pty,raw,echo=0 "exec:/bin/cat,pty,raw,echo=0" -``` \ No newline at end of file -- cgit v1.2.3