Sebastian Serth
1609bd2e0e
Change default of raise_exception for execute_command
2021-11-01 17:13:11 +01:00
Sebastian Serth
01ec9343cf
Remove usage of DockerClient
2021-11-01 17:13:10 +01:00
Sebastian Serth
0db6f20933
Move MemoryLimit to Execution Environment
2021-11-01 17:13:06 +01:00
Sebastian Serth
d87e23b9a3
Add execute_command
method to runner.rb
...
* This is now used by the score and test runs
* This also re-enables the interactive shell for execution environments
2021-11-01 17:13:05 +01:00
Sebastian Serth
c676785d55
Fix order-dependent runner_spec.rb
2021-11-01 17:13:02 +01:00
Sebastian Serth
06ef4430f5
Change exposed_ports to array
2021-11-01 17:13:02 +01:00
Sebastian Serth
30603cb7ab
Generalize method and constant names for runner management
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
2dff81a510
Attach duration information to the exception object
2021-11-01 17:12:52 +01:00
Felix Auringer
db2d1e3164
Add tests for DockerContainerPool strategy
2021-11-01 17:12:51 +01:00
Felix Auringer
704407b9fc
Add strategy for DockerContainerPool
...
In order to provide an alternative to Poseidon, a strategy for the
DockerContainerPool is added that is used by the runner model.
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de >
2021-11-01 17:12:51 +01:00
Felix Auringer
1d3f0d7ad8
Handle Faraday errors
2021-11-01 17:12:50 +01:00
Felix Auringer
b48b45de9f
Refactor error classes
...
All runner errors are now in a single file. The not found error
has been splitted into an error for runner not found and for
environment not found.
2021-11-01 17:12:50 +01:00
Felix Auringer
413f9b2705
Improve error resilience and handling
...
Timeouts are now handled correctly and the Runner automatically
creates the execution environment if it could not be found in
Poseidon. The runner is deleted locally if Poseidon returns
a bad request error.
2021-11-01 17:12:50 +01:00
Felix Auringer
b6bc578aea
Move submission scoring from controller concern to submission model
...
Localization and markdown formatting is now done in a controller
spec in order to bring this logic away from the data and towards
the view.
2021-11-01 17:12:50 +01:00
Felix Auringer
d0d1b1bffd
Introduce strategy for runner behavior
...
The runner model is only a class responsible for storing information
now. Based on the configuration it picks a strategy for the runner
management. The Poseidon strategy is already implemented and tested.
The Docker strategy will follow.
2021-11-01 17:12:49 +01:00
Felix Auringer
0978a3be83
Add tests for the different runner errors
2021-11-01 17:12:48 +01:00
Konrad Hanff
d22d24df4d
Add tests for execution environment copy to Poseidon
2021-11-01 17:12:48 +01:00
Sebastian Serth
74e285e9fd
Fix rubocop offenses
2021-10-05 12:09:56 +02:00
Sebastian Serth
da0a682ffb
Apply manual rubocop fixes
2021-05-14 22:03:06 +02:00
Sebastian Serth
6cbecb5b39
Apply automatic rubocop fixes
2021-05-14 22:03:06 +02:00
Tobias Kantusch
44b32b6f6a
#46 Add Prometheus exporter
2021-04-07 14:06:32 +02:00
Sebastian Serth
66c1b99230
Fix spec for user redirect
...
* Very simple fix. I could also remove the test but as long as we still consider to switch back to the original implementation, I leave it here for now.
2020-09-28 19:17:30 +02:00
Karol
c89ee6c102
model and policy specs
2019-12-07 13:11:48 +01:00
Ralf Teusner
f89d740671
fix test
2019-03-29 15:46:42 +01:00
Sebastian Serth
56c59a616e
Completely remove old non-structured errors and migrate existing ones.
2018-11-30 11:27:25 +01:00
Sebastian Serth
efacb5a6a9
Completely remove old hints connected to the execution environment
2018-11-28 01:21:13 +01:00
Sebastian Serth
90defa8f89
Fix tests and rename request
variable in specs to perform_request
...
Explanation: Using the variable name `request` might interfere with methods in Rails core system prevent successful test execution. See this issue: https://github.com/turbolinks/turbolinks-rails/issues/38
2018-11-06 16:49:42 +01:00
Sebastian Serth
9666683bd7
Fix error, submission, hints and help views
2018-11-06 16:46:01 +01:00
Ralf Teusner
fc873cb053
second run of replacement regex from https://github.com/thoughtbot/factory_bot/blob/4-9-0-stable/UPGRADE_FROM_FACTORY_GIRL.md ...
...
Nested calls seem to be fun..
2017-11-15 15:37:42 +01:00
Ralf Teusner
0e26ab98c8
rename factory_girl_(rails) to factory_bot_(rails)
2017-11-15 15:18:07 +01:00
Maximilian Grundke
03141409e8
Fix tests for user_exercise_feedback
2017-11-08 15:41:48 +01:00
Maximilian Grundke
0fd993c1cd
Move submission url attributes to controller test
2017-10-26 15:48:21 +02:00
Maximilian Grundke
a00adbce25
Move *_url spec to controller, because the subscription model does not handle urls anymore
2017-10-16 14:02:40 +02:00
yqbk
41b0c1e530
solve extension probelm
2016-08-03 17:21:49 +02:00
yqbk
4183a16178
merge with master
2016-08-03 12:09:58 +02:00
yqbk
2bb1362520
further delete (spec files)
2016-07-04 16:59:30 +02:00
yqbk
7bc3c4e27c
Fix tests in models/execution_environment_spec.rb, uncomment @image in lib/docker_client.rb
2016-05-25 15:56:49 +02:00
yqbk
5dc8fb9774
Fix in models/exercise_spec.rb, repair average_score without submission
2016-05-25 14:41:53 +02:00
yqbk
b5c3d8170d
Fix in models/exercise_spec.rb, repair average_percentage without submission
2016-05-25 14:39:48 +02:00
Jan Renz
f5339e4664
Renamed tests, fix default
2015-04-28 11:40:49 +02:00
Ralf Teusner
c3a56e6429
fixed tests
2015-04-27 17:58:44 +02:00
Hauke Klement
d109663cb9
extracted boolean validation logic into stand-alone validator
2015-03-18 09:10:58 +01:00
Hauke Klement
15d8984a9e
added the ability to prohibit network access for code submissions executed using Docker
2015-03-17 17:14:25 +01:00
Hauke Klement
b1218e0b80
added the ability to limit memory consumption of code submissions executed using Docker
2015-03-17 15:51:59 +01:00
Hauke Klement
839fdebb71
fixed broken test
2015-03-12 19:08:13 +01:00
Hauke Klement
9aecfedc1b
added specs
2015-03-05 10:49:08 +01:00
Hauke Klement
8dfc92d8c9
added tests
2015-02-26 10:42:18 +01:00
Hauke Klement
9bcc27e129
added tests
2015-02-24 19:08:53 +01:00