A compact parallel execution runtime for VIs saved in VI assembly format (.via files).
The Vireo project provides a subset of LabVIEW runtime functionality for smaller targets. An example of its use is the EV3 support in the LabVIEW Module for LEGO® MINDSTORMS®. The LabVIEW features supported is primarily defined by the features needed for the VIA files generated by LabVIEW.
Requirements:
- Node (> v4.4.7)
- Emscripten (v1.36.0)
- make
Setup:
npm install
Works with Visual Studio 2013 and 2015 (see the Vireo_VS folder).
esh & vireo.js
From the root directory:
$ makeThe esh and vireo.js files will be put into the ./dist directory.
$ make native$ make jsFrom the root directory:
$ make test - Runs all tests for Native and JS
From within the test-it directory:
$ ./test.js -n$ ./test.js -j$ ./test.js -n -t <test suite>$ ./test.js HelloWorld.viaSince the test suites can be created recursively from other test suites in the configuration file, the -l command line argument will list out all of the tests to be run with the test suite name provided. Example:
$ ./test.js -l nativeWill list out all of the tests that would be run against the native test suite.
$ ./test.js -h
Usage: ./test.js [options] [via test files]
Options:
-n Run the tests against the native vireo target (esh)
-j Run the tests against the javascript target (vireo.js)
-t [test suite] Run the tests in the given test suite
-l [test suite] List the tests that would be run in given test suite,
or list the test suite options if not provided
-e Execute the test suite or tests provided and show their
raw output; do not compute pass/fail
-h Print this usage message
--once Will only run the tests once (default is to run twice)The .via test files are put in the test-it folder and the results from the stdout of the test .via file from vireo is put in a file of the same name inside the test-it/results/ folder. The test name is then added to a test suite within the testList.json file in the test-it directory.
The testList.json file has two properties that are required for each test suite name:
This is an array of strings that are names to other test suites. These test suite names are processed recursively to add the other tests together into one list of tests to run. (Duplicates are omitted if overlaps exists between tests)
This is an array of strings that contain the list of .via files that the test suite should run.
This will be a simple example that will add the test suite rpi with the RpiTest.via file to the test manager.
- Put the
RpiTest.viain thetest-it/folder and put theRpiTest.vtrfile in thetest-it/results/folder. - Then to add the
rpitest suite to the testing manager, add this example code to thetestList.jsonfile:
"rpi": {
"include": [ "common" ],
"tests": [
"RpiTest.via"
]
}This will add a test suite rpi that will include the test RpiTest.via and all of the tests included in the common test suite.
3. Try it out to verify it all works and your tests pass:
$ ./test.js -n -t rpiFeatures beyond that core set, that can be accessed directly from VIA source written by hand, should be considered experimental, and subject to change at any time. A complete list of disclaimers and terms is described in LICENSE.txt