diff --git a/README.md b/README.md index 0b552120..dba8a305 100644 --- a/README.md +++ b/README.md @@ -73,18 +73,20 @@ Many languages are currently supported in various states of completeness. This l | Language | Version | Basic Run | Project Mode | Test Integration | Codewars | Qualified | Docker Image | Examples | Notes | |----------------|---------------|------------|--------------|------------------|----------------|----------------|--------------|---------------| ------------------------------------------------------------------------| | Assembly (GAS) | | !!! | | | | | systems-runner | | Travis is failing, tests pass locally | -| Bash | | ✓ | ✓ | | Kumite Only | | * | | | +| Bash | | ✓ | ✓ | rspec | rspec | rspec | ruby-runner | | | +| Brainf**k | 20041219 | ✓ | ✓ | cw-2 | cw-2 | | esolangs-runner | | | | C | Clang 3.6/C11 | ✓ | | criterion | criterion | | systems-runner | | | | Clojure | 1.6.0 | ✓ | | clojure.test | clojure.test | clojure.test | jvm-runner | clojure.test | | | CoffeeScript | 1.10.0 | ✓ | | cw-2 | cw-2 | cw-2 | node-runner | cw-2 | | -| C++ | 14 | ✓ | | igloo | igloo | | systems-runner | | | +| C++ | 14 | ✓ | | igloo | igloo | igloo | systems-runner | | | | C# | Mono 4.8 | ✓ | ✓ | nunit | nunit | nunit | dotnet-runner | nunit | | +| Chapel | 1.15.0 | ✓ | ✓ | cw-2 | cw-2 | | chapel-runner | cw-2 | | | Crystal | 0.21.1 | ✓ | | spec | spec | spec | crystal-runner | spec | | | Dart | 1.16.1 | ✓ | | test | Kumite Only | | dart-runner | test | | | Elixir | 1.2.4 | ✓ | | exunit | exunit | | erlang-runner | | | | Erlang | 18 | ✓ | | | | | erlang-runner | | | | F# | 4.1 | ✓ | | fuchu | fuchu | | dotnet-runner | Fuchu | Tests should be placed in a module called "Tests", in a Fuchu testList | -| Go | 1.8 | ✓ | | ginkgo | ginkgo | | go-runner | ginkgo | | +| Go | 1.8 | ✓ | | ginkgo | ginkgo | ginkgo | go-runner | ginkgo | | | Groovy | | ✓ | | | Kumite Only | | jvm-runner | | | | Haskell | 7.6.3 | ✓ | | hspec!!! | hspec | hspec | haskell-runner | hspec | An older version is running on CW & Qualified that is fully functional | | Java | 1.8.0_91 | ✓ | | junit | Yes | Yes | jvm-runner | junit | | diff --git a/docker-compose.yml b/docker-compose.yml index 8bc28d98..81446fee 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -202,16 +202,17 @@ services: entrypoint: '' command: bash - # LANGUAGE SPECIFIC HELPERS - javascript: - image: codewars/node-runner + esolangs-runner: + image: codewars/esolangs-runner volumes: - ./lib:/runner/lib - ./examples:/runner/examples - ./frameworks:/runner/frameworks - ./test:/runner/test - entrypoint: 'node run -l javascript' + entrypoint: '' + command: bash + # LANGUAGE SPECIFIC HELPERS javascript_test: image: codewars/node-runner environment: diff --git a/listen.js b/listen.js index dae50ccd..3268d907 100644 --- a/listen.js +++ b/listen.js @@ -1,9 +1,13 @@ // this file is used to keep a image alive so that it can be pre-warmed and communicated with. const net = require('net'), - execSync = require('child_process').execSync; + execSync = require('child_process').execSync, + fs = require('fs'); // if the script is available, it will call it -console.log(execSync('sh /runner/prewarm.sh').toString()); +if (fs.existsSync('/runner/prewarm.sh')) { + console.log(execSync('sh /runner/prewarm.sh').toString()); +} + // Creates a new TCP server. The handler argument is automatically set as a listener for the 'connection' event var server = net.createServer(function(socket) {