Sebastian Serth
06ef4430f5
Change exposed_ports to array
2021-11-01 17:13:02 +01:00
Sebastian Serth
064c55b711
Add new validator for all elements of an array
2021-11-01 17:13:02 +01:00
Sebastian Serth
90eeb3bb9c
Move CodeOcean::FileNameValidator
2021-11-01 17:13:01 +01:00
Sebastian Serth
352e5f4329
Clarify strategy creation in runner.rb with comment
2021-11-01 17:13:01 +01:00
Sebastian Serth
7285978ea3
Re-add test method for SubmissionsController
2021-11-01 17:13:01 +01:00
Sebastian Serth
5f98456276
Extract run_test_file from submission.rb
2021-11-01 17:13:01 +01:00
Sebastian Serth
56a1d78793
Use correct embed_option to disable_score
2021-11-01 17:13:01 +01:00
Sebastian Serth
2377f8370c
Clarify set_file and set_files in SubmissionsController
2021-11-01 17:13:00 +01:00
Sebastian Serth
21e0571838
Remove unnecessary post parameter from sync_all view
2021-11-01 17:13:00 +01:00
Sebastian Serth
345860c779
Adapt output buffering to Poseidon and DCP
...
* Refactor flushing of messages
* Introduce two separate buffers for stdout and stderr
2021-11-01 17:13:00 +01:00
Sebastian Serth
1891cdd69c
Add check whether buffer is empty
2021-11-01 17:13:00 +01:00
Sebastian Serth
58e923abd8
Add custom websocket header to strategy class
2021-11-01 17:12:59 +01:00
Sebastian Serth
08f36a0a7a
Destroy runner at management in case of errors
2021-11-01 17:12:59 +01:00
Sebastian Serth
7e7b7ebdfa
Allow flushing the WebSocket connection
...
* This will prevent the current thread from crashing when a single newline character is received.
2021-11-01 17:12:59 +01:00
Sebastian Serth
788f6dba20
Specify TLS certificate for Faye::WebSocket::Client
2021-11-01 17:12:59 +01:00
Sebastian Serth
f4c806fe43
Forward JSON from runner to client if possible
2021-11-01 17:12:59 +01:00
Sebastian Serth
a074a5cb0d
Add buffering to output received from runner
2021-11-01 17:12:58 +01:00
Sebastian Serth
3240ea7076
Forward input as raw_event to runner
...
* Also, rename #send to #send_data in order to prevent debugging issues in RubyMine
2021-11-01 17:12:58 +01:00
Sebastian Serth
f896d041f8
Restructure submissions_controller and remove outdated copy_comments method
2021-11-01 17:12:58 +01:00
Sebastian Serth
0f92526494
Remove outdated output callback from Runner::Connection
2021-11-01 17:12:58 +01:00
Sebastian Serth
cc98dc2229
Split WebSocket event in multiple lines before processing
2021-11-01 17:12:58 +01:00
Sebastian Serth
1403fc03c4
Remove outdated lines from #download method
2021-11-01 17:12:57 +01:00
Sebastian Serth
601e1fab5c
Remove all occurrences of server-sent events
2021-11-01 17:12:57 +01:00
Sebastian Serth
82cab390ad
Remove outdated run method from turtle.js
2021-11-01 17:12:57 +01:00
Sebastian Serth
3fa6ba6c72
Use instance_double for Poseidon Strategy specs
2021-11-01 17:12:57 +01:00
Maximilian Paß
b51a45e9b1
Add token header option for requests to Poseidon
2021-11-01 17:12:57 +01:00
Maximilian Paß
44395b7792
Add ca file option for requests to Poseidon
2021-11-01 17:12:56 +01:00
Sebastian Serth
09b672eb08
DCP strategy: Use stdout for most test results
2021-11-01 17:12:56 +01:00
Sebastian Serth
6c5a5226b8
Preserve locale during Runner::Connections
2021-11-01 17:12:56 +01:00
Sebastian Serth
325720bd3b
Improve documentation in Runner::Connection
2021-11-01 17:12:56 +01:00
Sebastian Serth
cc17736bf5
Add CPU limit to Execution Environment index
2021-11-01 17:12:56 +01:00
Sebastian Serth
ee1751debf
Fix rubocop offenses
2021-11-01 17:12:55 +01:00
Sebastian Serth
8bd9a93944
Add NOT NULL constraint on cpu_limit
2021-11-01 17:12:55 +01:00
Sebastian Serth
0cc1c7a396
Combine runner waiting_time migrations
2021-11-01 17:12:55 +01:00
Sebastian Serth
0c22e1392a
Remove outdated mnemosyne traces
2021-11-01 17:12:55 +01:00
Sebastian Serth
13c378b980
Remove concurrent ruby gem no longer needed
2021-11-01 17:12:55 +01:00
Sebastian Serth
fd9e243064
Disable DCP if other strategy class is chosen
2021-11-01 17:12:54 +01:00
Sebastian Serth
4ad898ad8b
Remove set_docker_client method from submissions_controller.rb
2021-11-01 17:12:54 +01:00
Sebastian Serth
5037a73f36
Mock runner management settings for spec
2021-11-01 17:12:54 +01:00
Felix Auringer
f77e6d9df8
Simplify code in runner model
2021-11-01 17:12:54 +01:00
Felix Auringer
1bf92d8c90
Fix sentry error capturing in submissions controller
2021-11-01 17:12:53 +01:00
Sebastian Serth
30603cb7ab
Generalize method and constant names for runner management
2021-11-01 17:12:53 +01:00
Felix Auringer
e752df1b3c
Move EventMachine initialization to Runner::EventLoop
2021-11-01 17:12:53 +01:00
Felix Auringer
9e2cff7558
Attach connection errors to socket
...
Raising the errors would crash the current thread. As this thread
contains the Eventmachine, that would influence other connections
as well. Attaching the errors to the connection and reading them
after the connection was closed ensures that the thread stays
alive while handling the errors in the main thread of the current
request.
2021-11-01 17:12:53 +01:00
Felix Auringer
c8e1a0bbcb
Fix tests for Runner#attach_to_execution
...
These tests were blocking because of the newly introduced
EventLoop. The messages sent to the EventLoop are now mocked
and the EventLoop isn't blocking anymore in the tests.
2021-11-01 17:12:53 +01:00
Felix Auringer
c7369366d5
Ensure that only one EventMachine is running
2021-11-01 17:12:52 +01:00
Felix Auringer
5cc180d0e9
Fix rubocop, I18n, cleanup rebase
2021-11-01 17:12:52 +01:00
Felix Auringer
2dff81a510
Attach duration information to the exception object
2021-11-01 17:12:52 +01:00
Felix Auringer
36578a2817
Ensure to save Testrun even when an error occurs
2021-11-01 17:12:52 +01:00
Felix Auringer
f98a8b9e7a
Resolve error handling todos in dcp strategy
2021-11-01 17:12:52 +01:00