From 357ffeb609331a985591a75e369a82ac39eea655 Mon Sep 17 00:00:00 2001 From: yqbk Date: Thu, 30 Jun 2016 11:33:46 +0200 Subject: [PATCH 01/64] first commit --- app/assets/.DS_Store | Bin 6148 -> 0 bytes app/assets/javascripts/.DS_Store | Bin 6148 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/assets/.DS_Store delete mode 100644 app/assets/javascripts/.DS_Store diff --git a/app/assets/.DS_Store b/app/assets/.DS_Store deleted file mode 100644 index 29fe53759e99b0e6225cfa58801e096c0a08493d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}OId5U!3jD{5y_WJqm${vaAwkb_UWCWAT&-oBL(Xb zh^RP63g4g)3VM*uM6=_6WPr}D0vF)J5cTQ#rNJoe1>GdTh(AHEtJ17i`z;C!#l@v% zr&O-c=dP5`TAgIn%KU7QHvIlq-BV!{Si9+GoqzUGl60rG9~`S_)OJ67PU6g0anyg3 zdU~SbFc~$HK^&&1Ei>PV3bRhzU2FEEA*MF{I679T3RG8RmrjX393780tFkt!%5i;T zXS*u5ck7dh`_pkge%jhQ{L-6TUEh5FaeH_F@MsQ15Cbkr2R8Z%fLKJg7PRRtK{?W*XE8U3BPhb8BAQfT zpBTcVqhH!M&th)Sq=V2a<2-g{VP7ahua17H!$Eikxn%~Jf#(b?n669p|KRoa|MMj7 zF$2uNTrnVu`>p*3ZpqfxnaxqHm8j>aBovn$oTi|mOEJb$DPBj_f__N`qGvHTh#nOF O5zsVn!wkGD1AhV6j9;k$ diff --git a/app/assets/javascripts/.DS_Store b/app/assets/javascripts/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Thu, 30 Jun 2016 11:47:36 +0200 Subject: [PATCH 02/64] remove sumbission button --- app/views/application/_navigation.html.slim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/application/_navigation.html.slim b/app/views/application/_navigation.html.slim index 4ab39e30..bf9b5a84 100644 --- a/app/views/application/_navigation.html.slim +++ b/app/views/application/_navigation.html.slim @@ -8,7 +8,7 @@ - if current_user.admin? li = link_to(t('breadcrumbs.dashboard.show'), admin_dashboard_path) li.divider - - models = [ExecutionEnvironment, Exercise, Consumer, CodeHarborLink, ExternalUser, FileType, InternalUser, Submission, Team].sort_by { |model| model.model_name.human(count: 2) } + - models = [ExecutionEnvironment, Exercise, Consumer, CodeHarborLink, ExternalUser, FileType, InternalUser, Team].sort_by { |model| model.model_name.human(count: 2) } - models.each do |model| - if policy(model).index? li = link_to(model.model_name.human(count: 2), send(:"#{model.model_name.collection}_path")) From 6050d80060ccb8aa7164ed137d40baa9b41bab97 Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 5 Jul 2016 17:12:15 +0200 Subject: [PATCH 03/64] first try... --- app/views/exercises/_file_form.html.slim | 2 ++ app/views/exercises/_form.html.slim | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 7bb4cd27..276ceb08 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,4 +1,5 @@ - id = f.object.id +- file = form_files.file_id=id li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" @@ -37,3 +38,4 @@ li.panel.panel-default = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index f0f69f7a..7c0dfbbf 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -2,7 +2,7 @@ - file_types = FileType.where('file_extension IS NOT NULL').select(:file_extension, :id) = form_for(@exercise, data: {execution_environments: execution_environments, file_types: file_types}, multipart: true) do |f| - = render('shared/form_errors', object: @exercise) + = render('shared/form_errors', object: @exercise, files: @files) .form-group = f.label(:title) = f.text_field(:title, class: 'form-control', required: true) @@ -35,7 +35,8 @@ h2 = t('activerecord.attributes.exercise.files') ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form) + = render('file_form', f: files_form, form_files: @files) + a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| = render('file_form', f: files_form) From 43f23f5a06e8b168c3f29d3642541bcd5cea935b Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 6 Jul 2016 14:34:02 +0200 Subject: [PATCH 04/64] remove some code --- app/views/exercises/_file_form.html.slim | 3 ++- app/views/exercises/_form.html.slim | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 276ceb08..3f3c9e9e 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,5 +1,6 @@ - id = f.object.id -- file = form_files.file_id=id +- file = object.file + li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 7c0dfbbf..b0ed068b 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -2,7 +2,7 @@ - file_types = FileType.where('file_extension IS NOT NULL').select(:file_extension, :id) = form_for(@exercise, data: {execution_environments: execution_environments, file_types: file_types}, multipart: true) do |f| - = render('shared/form_errors', object: @exercise, files: @files) + = render('shared/form_errors', object: @exercise) .form-group = f.label(:title) = f.text_field(:title, class: 'form-control', required: true) @@ -35,7 +35,7 @@ h2 = t('activerecord.attributes.exercise.files') ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form, form_files: @files) + = render('file_form', f: files_form) a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| From 4b6ec8c79c1166c6c25238e89ca5c6ebc52eb45d Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 6 Jul 2016 14:59:52 +0200 Subject: [PATCH 05/64] file.id = 34 before .frame, after it is nil... --- app/views/exercises/_file_form.html.slim | 20 +++++++++++++++++--- app/views/exercises/_form.html.slim | 5 ++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 3f3c9e9e..642e0ee7 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,5 +1,6 @@ - id = f.object.id -- file = object.file +- file= f.object.files.first +//- exercise_arg = @exercise li.panel.panel-default .panel-heading role="tab" id="heading" @@ -38,5 +39,18 @@ li.panel.panel-default .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id + .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type + - if file.file_type.binary? + .binary-file data-file-id=file.ancestor_id + - if file.file_type.renderable? + - if file.file_type.audio? + = audio_tag(file.native_file.url, controls: true) + - elsif file.file_type.image? + = image_tag(file.native_file.url) + - elsif file.file_type.video? + = video_tag(file.native_file.url, controls: true) + - else + = link_to(file.native_file.file.name_with_extension, file.native_file.url) + - else + .editor-content.hidden data-file-id=file.ancestor_id = file.content + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index b0ed068b..5f26b5fc 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -35,9 +35,8 @@ h2 = t('activerecord.attributes.exercise.files') ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form) - + = render('file_form', f: files_form, object: @exercise) a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| - = render('file_form', f: files_form) + = render('file_form', f: files_form, e: @exercise) .actions = render('shared/submit_button', f: f, object: @exercise) From 625ec68e5aed905dec12bb3cc0521ddee24e35e0 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 11 Jul 2016 15:28:34 +0200 Subject: [PATCH 06/64] change log_level --- app/assets/.DS_Store | Bin 6148 -> 0 bytes app/assets/javascripts/.DS_Store | Bin 6148 -> 0 bytes app/views/exercises/_file_form.html.slim | 4 ++-- config/application.rb | 2 ++ 4 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 app/assets/.DS_Store delete mode 100644 app/assets/javascripts/.DS_Store diff --git a/app/assets/.DS_Store b/app/assets/.DS_Store deleted file mode 100644 index 29fe53759e99b0e6225cfa58801e096c0a08493d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}OId5U!3jD{5y_WJqm${vaAwkb_UWCWAT&-oBL(Xb zh^RP63g4g)3VM*uM6=_6WPr}D0vF)J5cTQ#rNJoe1>GdTh(AHEtJ17i`z;C!#l@v% zr&O-c=dP5`TAgIn%KU7QHvIlq-BV!{Si9+GoqzUGl60rG9~`S_)OJ67PU6g0anyg3 zdU~SbFc~$HK^&&1Ei>PV3bRhzU2FEEA*MF{I679T3RG8RmrjX393780tFkt!%5i;T zXS*u5ck7dh`_pkge%jhQ{L-6TUEh5FaeH_F@MsQ15Cbkr2R8Z%fLKJg7PRRtK{?W*XE8U3BPhb8BAQfT zpBTcVqhH!M&th)Sq=V2a<2-g{VP7ahua17H!$Eikxn%~Jf#(b?n669p|KRoa|MMj7 zF$2uNTrnVu`>p*3ZpqfxnaxqHm8j>aBovn$oTi|mOEJb$DPBj_f__N`qGvHTh#nOF O5zsVn!wkGD1AhV6j9;k$ diff --git a/app/assets/javascripts/.DS_Store b/app/assets/javascripts/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Mon, 11 Jul 2016 15:52:48 +0200 Subject: [PATCH 07/64] test --- app/views/exercises/_file_form.html.slim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 2acafa34..2b3ce9de 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -38,7 +38,8 @@ li.panel.panel-default .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - = f.label(file.id) + = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + /= f.label(file.id) /.frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type - if file.file_type.binary? .binary-file data-file-id=file.ancestor_id From 70c5f9c3ad04cc0f457ecc02743a2832803e0d08 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 11 Jul 2016 16:54:19 +0200 Subject: [PATCH 08/64] test2 --- app/views/exercises/_file_form.html.slim | 25 +++++++----------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 2b3ce9de..4fd6ba1d 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,5 +1,9 @@ - id = f.object.id -- file= f.object.files.first + + +.editor-content.hidden data-file-id=:ancestor_id = :content +.editor data-file-id=:ancestor_id data-indent-size=2 data-mode="ace/mode/python" data-read-only=true data-id=:id + li.panel.panel-default .panel-heading role="tab" id="heading" @@ -33,25 +37,10 @@ li.panel.panel-default .test-related-fields style="display: #{f.object.teacher_defined_test? ? 'initial' : 'none'};" .form-group = f.label(:name, t('activerecord.attributes.file.feedback_message')) + = f.label(:ancestor_id, t('activerecord.attributes.file.name')) = f.text_area(:feedback_message, class: 'form-control', maxlength: 255) .help-block = t('.hints.feedback_message') .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) - /= f.label(file.id) - /.frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type - - if file.file_type.binary? - .binary-file data-file-id=file.ancestor_id - - if file.file_type.renderable? - - if file.file_type.audio? - = audio_tag(file.native_file.url, controls: true) - - elsif file.file_type.image? - = image_tag(file.native_file.url) - - elsif file.file_type.video? - = video_tag(file.native_file.url, controls: true) - - else - = link_to(file.native_file.file.name_with_extension, file.native_file.url) - - else - .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id + = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) From 6029d5745099b6b19d8e0b95f95e921955a7efb6 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 12:03:25 +0200 Subject: [PATCH 09/64] pagedown --- Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Gemfile b/Gemfile index abdca69c..b0c324f6 100644 --- a/Gemfile +++ b/Gemfile @@ -28,6 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' +gem 'pagedown-bootstrap-rails' gem 'sorcery' gem 'thread_safe' gem 'turbolinks' From 00cdbf00f8fd4f076d0e2f9a6c839c3d00b4a832 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 14:48:25 +0200 Subject: [PATCH 10/64] editor --- Gemfile | 2 +- Gemfile.lock | 6 ++++++ app/assets/javascripts/application.js | 4 ++++ app/assets/javascripts/markdown_editor.js | 19 +++++++++++-------- app/assets/stylesheets/application.css | 3 ++- app/views/exercises/_form.html.slim | 5 ++++- config/application.rb | 3 ++- 7 files changed, 30 insertions(+), 12 deletions(-) diff --git a/Gemfile b/Gemfile index b0c324f6..8b7105ac 100644 --- a/Gemfile +++ b/Gemfile @@ -28,7 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' -gem 'pagedown-bootstrap-rails' +gem 'pagedown-rails', '~> 1.1.4' gem 'sorcery' gem 'thread_safe' gem 'turbolinks' diff --git a/Gemfile.lock b/Gemfile.lock index 9f115474..97c6b626 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -175,6 +175,8 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) + pagedown-rails (1.1.4) + railties (> 3.1) parser (2.3.0.6) ast (~> 2.2) pg (0.18.4) @@ -382,6 +384,7 @@ DEPENDENCIES newrelic_rpm nokogiri nyan-cat-formatter + pagedown-rails (~> 1.1.4) pg pry puma (~> 2.15.3) @@ -410,3 +413,6 @@ DEPENDENCIES uglifier (>= 1.3.0) web-console (~> 2.0) will_paginate (~> 3.0) + +BUNDLED WITH + 1.12.4 diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index a78c7a67..ef5b9fc2 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -21,3 +21,7 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . +//= require markdown.converter +//= require markdown.sanitizer +//= require markdown.editor + diff --git a/app/assets/javascripts/markdown_editor.js b/app/assets/javascripts/markdown_editor.js index 91292da1..08fe1e60 100644 --- a/app/assets/javascripts/markdown_editor.js +++ b/app/assets/javascripts/markdown_editor.js @@ -1,16 +1,19 @@ -(function() { - var ACE_FILES_PATH = '/assets/ace/'; - - window.MarkdownEditor = function(selector) { +(function() +{ + var converter = Markdown.getSanitizingConverter(); + var editor = new Markdown.Editor(converter); + editor.run(); +/* + window.MarkdownEditor = function(selector) + { ace.config.set('modePath', ACE_FILES_PATH); var editor = ace.edit($(selector).next()[0]); - editor.on('change', function() { - $(selector).val(editor.getValue()); - }); + editor.on('change', function(){ $(selector).val(editor.getValue()); }); editor.setShowPrintMargin(false); var session = editor.getSession(); session.setMode('markdown'); session.setUseWrapMode(true); session.setValue($(selector).val()); - }; + }; + */ })(); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 622f35c1..f11a8dd8 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -14,4 +14,5 @@ *= require_tree ../../../lib *= require_tree ../../../vendor/assets/stylesheets/ *= require_self - */ + *= require markdown +*/ diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index f0f69f7a..b67fe821 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -9,7 +9,10 @@ .form-group = f.label(:description) = f.hidden_field(:description) - .form-control.markdown + .wmd-panel + #wmd-button-bar + textarea.wmd-input + /=f.input :description, :as => :pagedown, :input_html => { :preview => true } .form-group = f.label(:execution_environment_id) = f.collection_select(:execution_environment_id, @execution_environments, :id, :name, {}, class: 'form-control') diff --git a/config/application.rb b/config/application.rb index 4b2a543a..dbe137d7 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,7 +22,8 @@ module CodeOcean # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Berlin' - + config.assets.precompile += %w( markdown-buttons.png ) + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] # config.i18n.default_locale = :de From f4abc1fec3e671b89ecfd90ddd8d6a51a8ccb03c Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 15:14:38 +0200 Subject: [PATCH 11/64] change gem and add preview --- Gemfile | 2 +- Gemfile.lock | 6 ++--- app/assets/javascripts/application.js | 4 +--- app/assets/javascripts/markdown_editor.js | 27 +++++++---------------- app/assets/stylesheets/application.css | 2 +- app/views/exercises/_form.html.slim | 5 ++++- 6 files changed, 18 insertions(+), 28 deletions(-) diff --git a/Gemfile b/Gemfile index 8b7105ac..41c25080 100644 --- a/Gemfile +++ b/Gemfile @@ -28,7 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' -gem 'pagedown-rails', '~> 1.1.4' +gem "bootstrap_pagedown" gem 'sorcery' gem 'thread_safe' gem 'turbolinks' diff --git a/Gemfile.lock b/Gemfile.lock index 97c6b626..ea22935c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,6 +48,8 @@ GEM debug_inspector (>= 0.0.1) bootstrap-will_paginate (0.0.10) will_paginate + bootstrap_pagedown (1.1.0) + rails (>= 3.2) builder (3.2.2) byebug (8.2.2) capistrano (3.3.5) @@ -175,8 +177,6 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) - pagedown-rails (1.1.4) - railties (> 3.1) parser (2.3.0.6) ast (~> 2.2) pg (0.18.4) @@ -357,6 +357,7 @@ DEPENDENCIES better_errors binding_of_caller bootstrap-will_paginate + bootstrap_pagedown byebug capistrano (~> 3.3.0) capistrano-rails @@ -384,7 +385,6 @@ DEPENDENCIES newrelic_rpm nokogiri nyan-cat-formatter - pagedown-rails (~> 1.1.4) pg pry puma (~> 2.15.3) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index ef5b9fc2..175fa4da 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -21,7 +21,5 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . -//= require markdown.converter -//= require markdown.sanitizer -//= require markdown.editor +//= require bootstrap_pagedown diff --git a/app/assets/javascripts/markdown_editor.js b/app/assets/javascripts/markdown_editor.js index 08fe1e60..702450d5 100644 --- a/app/assets/javascripts/markdown_editor.js +++ b/app/assets/javascripts/markdown_editor.js @@ -1,19 +1,8 @@ -(function() -{ - var converter = Markdown.getSanitizingConverter(); - var editor = new Markdown.Editor(converter); - editor.run(); -/* - window.MarkdownEditor = function(selector) - { - ace.config.set('modePath', ACE_FILES_PATH); - var editor = ace.edit($(selector).next()[0]); - editor.on('change', function(){ $(selector).val(editor.getValue()); }); - editor.setShowPrintMargin(false); - var session = editor.getSession(); - session.setMode('markdown'); - session.setUseWrapMode(true); - session.setValue($(selector).val()); - }; - */ -})(); +$(document).ready(function () { + var converter = Markdown.getSanitizingConverter(); + var editor = new Markdown.Editor( converter ); + + Markdown.Extra.init( converter ); + + editor.run(); +}); \ No newline at end of file diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index f11a8dd8..e21a40df 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -14,5 +14,5 @@ *= require_tree ../../../lib *= require_tree ../../../vendor/assets/stylesheets/ *= require_self - *= require markdown + *= require bootstrap_pagedown */ diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index b67fe821..b160c5d5 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -9,9 +9,12 @@ .form-group = f.label(:description) = f.hidden_field(:description) + = f.pagedown_editor :description + /.form-control.markdown .wmd-panel - #wmd-button-bar + .wmd-button-bar textarea.wmd-input + .wmd-preview /=f.input :description, :as => :pagedown, :input_html => { :preview => true } .form-group = f.label(:execution_environment_id) From bff02a3005f99813469fccd4cda024e116bcfcfa Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 16:08:12 +0200 Subject: [PATCH 12/64] test view --- Gemfile | 2 +- app/assets/javascripts/application.js | 3 ++- app/assets/javascripts/markdown_editor.js | 24 ++++++++++++++++++----- app/views/exercises/_form.html.slim | 11 ++++++++++- app/views/exercises/edit.html.slim | 2 +- 5 files changed, 33 insertions(+), 9 deletions(-) diff --git a/Gemfile b/Gemfile index 41c25080..83a19f9a 100644 --- a/Gemfile +++ b/Gemfile @@ -28,7 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' -gem "bootstrap_pagedown" +gem 'bootstrap_pagedown' gem 'sorcery' gem 'thread_safe' gem 'turbolinks' diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 175fa4da..98e16d51 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -13,6 +13,7 @@ //= require jquery // //= require ace/ace +//= require bootstrap_pagedown //= require chosen.jquery.min //= require d3 //= require jquery.turbolinks @@ -21,5 +22,5 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . -//= require bootstrap_pagedown + diff --git a/app/assets/javascripts/markdown_editor.js b/app/assets/javascripts/markdown_editor.js index 702450d5..8923a6ca 100644 --- a/app/assets/javascripts/markdown_editor.js +++ b/app/assets/javascripts/markdown_editor.js @@ -1,8 +1,22 @@ -$(document).ready(function () { - var converter = Markdown.getSanitizingConverter(); - var editor = new Markdown.Editor( converter ); +(function() { + var ACE_FILES_PATH = '/assets/ace/'; - Markdown.Extra.init( converter ); + converter = Markdown.getSanitizingConverter() + editor = new Markdown.Editor converter editor.run(); -}); \ No newline at end of file + editor.refreshPreview() + + window.MarkdownEditor = function(selector) { + ace.config.set('modePath', ACE_FILES_PATH); + var editor = ace.edit($(selector).next()[0]); + editor.on('change', function() { + $(selector).val(editor.getValue()); + }); + editor.setShowPrintMargin(false); + var session = editor.getSession(); + session.setMode('markdown'); + session.setUseWrapMode(true); + session.setValue($(selector).val()); + }; +})(); \ No newline at end of file diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index b160c5d5..718dec83 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -9,9 +9,18 @@ .form-group = f.label(:description) = f.hidden_field(:description) - = f.pagedown_editor :description /.form-control.markdown .wmd-panel + #wmd-button-bar + textarea#wmd-input + #wmd-preview + = f.pagedown_editor :description, {skip_preview: false, panel_class: 'wmd-panel', button_bar_id: 'wmd-button-bar', button_bar_class: '', editor_id: 'wmd-input', editor_class: 'wmd-input', preview_id: 'wmd-preview', preview_class: '', } + /.form-group + = f.label(:description) + = f.hidden_field(:description) + + .form-control.markdown + /.wmd-panel .wmd-button-bar textarea.wmd-input .wmd-preview diff --git a/app/views/exercises/edit.html.slim b/app/views/exercises/edit.html.slim index 43550759..d12ee9a6 100644 --- a/app/views/exercises/edit.html.slim +++ b/app/views/exercises/edit.html.slim @@ -1,3 +1,3 @@ h1 = @exercise -= render('form') += render('test') From 52fd18c80ed4651c1a4e15ce9c408532e5623f54 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 16:45:54 +0200 Subject: [PATCH 13/64] working pagedown!!!! --- app/assets/javascripts/exercises.js | 1 + app/assets/javascripts/markdown_editor.js | 22 ---------------------- app/assets/javascripts/pagedown.js | 11 +++++++++++ app/views/exercises/_form.html.slim | 7 +------ config/application.rb | 1 - 5 files changed, 13 insertions(+), 29 deletions(-) delete mode 100644 app/assets/javascripts/markdown_editor.js create mode 100644 app/assets/javascripts/pagedown.js diff --git a/app/assets/javascripts/exercises.js b/app/assets/javascripts/exercises.js index e6773f40..a0e2e193 100644 --- a/app/assets/javascripts/exercises.js +++ b/app/assets/javascripts/exercises.js @@ -160,6 +160,7 @@ $(function() { // new MarkdownEditor('#exercise_instructions'); new MarkdownEditor('#exercise_description'); // todo: add an ace editor for each file + new PagedownEditor('#exercise_description'); enableInlineFileCreation(); inferFileAttributes(); diff --git a/app/assets/javascripts/markdown_editor.js b/app/assets/javascripts/markdown_editor.js deleted file mode 100644 index 8923a6ca..00000000 --- a/app/assets/javascripts/markdown_editor.js +++ /dev/null @@ -1,22 +0,0 @@ -(function() { - var ACE_FILES_PATH = '/assets/ace/'; - - converter = Markdown.getSanitizingConverter() - editor = new Markdown.Editor converter - - editor.run(); - editor.refreshPreview() - - window.MarkdownEditor = function(selector) { - ace.config.set('modePath', ACE_FILES_PATH); - var editor = ace.edit($(selector).next()[0]); - editor.on('change', function() { - $(selector).val(editor.getValue()); - }); - editor.setShowPrintMargin(false); - var session = editor.getSession(); - session.setMode('markdown'); - session.setUseWrapMode(true); - session.setValue($(selector).val()); - }; -})(); \ No newline at end of file diff --git a/app/assets/javascripts/pagedown.js b/app/assets/javascripts/pagedown.js new file mode 100644 index 00000000..7c602194 --- /dev/null +++ b/app/assets/javascripts/pagedown.js @@ -0,0 +1,11 @@ +(function() { + var ACE_FILES_PATH = '/assets/ace/'; + + window.PagedownEditor = function(selector) { + var converter = Markdown.getSanitizingConverter(); + var editor = new Markdown.Editor( converter ); + + editor.run(); + + }; +})(); \ No newline at end of file diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 718dec83..a91f301c 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -9,12 +9,7 @@ .form-group = f.label(:description) = f.hidden_field(:description) - /.form-control.markdown - .wmd-panel - #wmd-button-bar - textarea#wmd-input - #wmd-preview - = f.pagedown_editor :description, {skip_preview: false, panel_class: 'wmd-panel', button_bar_id: 'wmd-button-bar', button_bar_class: '', editor_id: 'wmd-input', editor_class: 'wmd-input', preview_id: 'wmd-preview', preview_class: '', } + .form-control.markdown /.form-group = f.label(:description) = f.hidden_field(:description) diff --git a/config/application.rb b/config/application.rb index dbe137d7..c1438aaa 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,7 +22,6 @@ module CodeOcean # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Berlin' - config.assets.precompile += %w( markdown-buttons.png ) # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] From 9c1b221fba67066c2687e00ce386749c8afd94f6 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 15:59:48 +0200 Subject: [PATCH 14/64] working icons --- Gemfile | 1 + Gemfile.lock | 3 +++ app/assets/javascripts/application.js | 3 +++ app/assets/javascripts/exercises.js | 2 +- app/assets/stylesheets/application.css | 1 + app/views/exercises/_form.html.slim | 12 +----------- app/views/exercises/edit.html.slim | 2 +- 7 files changed, 11 insertions(+), 13 deletions(-) diff --git a/Gemfile b/Gemfile index 83a19f9a..1194e30a 100644 --- a/Gemfile +++ b/Gemfile @@ -29,6 +29,7 @@ gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' gem 'bootstrap_pagedown' +gem 'pagedown-rails', '~> 1.1.4' gem 'sorcery' gem 'thread_safe' gem 'turbolinks' diff --git a/Gemfile.lock b/Gemfile.lock index ea22935c..46fe1057 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -177,6 +177,8 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) + pagedown-rails (1.1.4) + railties (> 3.1) parser (2.3.0.6) ast (~> 2.2) pg (0.18.4) @@ -385,6 +387,7 @@ DEPENDENCIES newrelic_rpm nokogiri nyan-cat-formatter + pagedown-rails (~> 1.1.4) pg pry puma (~> 2.15.3) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 98e16d51..e812a7db 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -22,5 +22,8 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . +//= require markdown.converter +//= require markdown.sanitizer +//= require markdown.editor diff --git a/app/assets/javascripts/exercises.js b/app/assets/javascripts/exercises.js index a0e2e193..444192f5 100644 --- a/app/assets/javascripts/exercises.js +++ b/app/assets/javascripts/exercises.js @@ -158,7 +158,7 @@ $(function() { execution_environments = $('form').data('execution-environments'); file_types = $('form').data('file-types'); // new MarkdownEditor('#exercise_instructions'); - new MarkdownEditor('#exercise_description'); + //new MarkdownEditor('#exercise_description'); // todo: add an ace editor for each file new PagedownEditor('#exercise_description'); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index e21a40df..47163008 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -15,4 +15,5 @@ *= require_tree ../../../vendor/assets/stylesheets/ *= require_self *= require bootstrap_pagedown + *= require markdown */ diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index a91f301c..984e52c6 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -8,18 +8,8 @@ = f.text_field(:title, class: 'form-control', required: true) .form-group = f.label(:description) - = f.hidden_field(:description) - .form-control.markdown - /.form-group - = f.label(:description) - = f.hidden_field(:description) + = f.pagedown_editor :description - .form-control.markdown - /.wmd-panel - .wmd-button-bar - textarea.wmd-input - .wmd-preview - /=f.input :description, :as => :pagedown, :input_html => { :preview => true } .form-group = f.label(:execution_environment_id) = f.collection_select(:execution_environment_id, @execution_environments, :id, :name, {}, class: 'form-control') diff --git a/app/views/exercises/edit.html.slim b/app/views/exercises/edit.html.slim index d12ee9a6..43550759 100644 --- a/app/views/exercises/edit.html.slim +++ b/app/views/exercises/edit.html.slim @@ -1,3 +1,3 @@ h1 = @exercise -= render('test') += render('form') From b11c319e7c4afe30f4cca8b203260fca1bcd34a5 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:04:04 +0200 Subject: [PATCH 15/64] cleanup --- Gemfile | 1 - Gemfile.lock | 3 --- app/assets/javascripts/application.js | 1 - app/assets/stylesheets/application.css | 1 - 4 files changed, 6 deletions(-) diff --git a/Gemfile b/Gemfile index 1194e30a..8b7105ac 100644 --- a/Gemfile +++ b/Gemfile @@ -28,7 +28,6 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' -gem 'bootstrap_pagedown' gem 'pagedown-rails', '~> 1.1.4' gem 'sorcery' gem 'thread_safe' diff --git a/Gemfile.lock b/Gemfile.lock index 46fe1057..97c6b626 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,8 +48,6 @@ GEM debug_inspector (>= 0.0.1) bootstrap-will_paginate (0.0.10) will_paginate - bootstrap_pagedown (1.1.0) - rails (>= 3.2) builder (3.2.2) byebug (8.2.2) capistrano (3.3.5) @@ -359,7 +357,6 @@ DEPENDENCIES better_errors binding_of_caller bootstrap-will_paginate - bootstrap_pagedown byebug capistrano (~> 3.3.0) capistrano-rails diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index e812a7db..ed72ef61 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -13,7 +13,6 @@ //= require jquery // //= require ace/ace -//= require bootstrap_pagedown //= require chosen.jquery.min //= require d3 //= require jquery.turbolinks diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 47163008..0258a5fd 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -14,6 +14,5 @@ *= require_tree ../../../lib *= require_tree ../../../vendor/assets/stylesheets/ *= require_self - *= require bootstrap_pagedown *= require markdown */ From f43b4acf746d94dc7ecab0ef250c5a6b81fe96c4 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:05:13 +0200 Subject: [PATCH 16/64] cleanup2 --- app/assets/javascripts/pagedown.js | 1 - config/application.rb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/assets/javascripts/pagedown.js b/app/assets/javascripts/pagedown.js index 7c602194..b48c2ae6 100644 --- a/app/assets/javascripts/pagedown.js +++ b/app/assets/javascripts/pagedown.js @@ -6,6 +6,5 @@ var editor = new Markdown.Editor( converter ); editor.run(); - }; })(); \ No newline at end of file diff --git a/config/application.rb b/config/application.rb index c1438aaa..4b2a543a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,7 +22,7 @@ module CodeOcean # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Berlin' - + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] # config.i18n.default_locale = :de From 615aa841d91a6fa12fbc3be40a2c5b6d9827101f Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:42:51 +0200 Subject: [PATCH 17/64] cleanup3 --- Gemfile | 1 + Gemfile.lock | 3 +++ app/assets/javascripts/application.js | 1 + app/assets/javascripts/exercises.js | 4 ++-- app/assets/stylesheets/application.css | 1 + 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 8b7105ac..1194e30a 100644 --- a/Gemfile +++ b/Gemfile @@ -28,6 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' +gem 'bootstrap_pagedown' gem 'pagedown-rails', '~> 1.1.4' gem 'sorcery' gem 'thread_safe' diff --git a/Gemfile.lock b/Gemfile.lock index 97c6b626..46fe1057 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,6 +48,8 @@ GEM debug_inspector (>= 0.0.1) bootstrap-will_paginate (0.0.10) will_paginate + bootstrap_pagedown (1.1.0) + rails (>= 3.2) builder (3.2.2) byebug (8.2.2) capistrano (3.3.5) @@ -357,6 +359,7 @@ DEPENDENCIES better_errors binding_of_caller bootstrap-will_paginate + bootstrap_pagedown byebug capistrano (~> 3.3.0) capistrano-rails diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index ed72ef61..e812a7db 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -13,6 +13,7 @@ //= require jquery // //= require ace/ace +//= require bootstrap_pagedown //= require chosen.jquery.min //= require d3 //= require jquery.turbolinks diff --git a/app/assets/javascripts/exercises.js b/app/assets/javascripts/exercises.js index 444192f5..cd8df5a9 100644 --- a/app/assets/javascripts/exercises.js +++ b/app/assets/javascripts/exercises.js @@ -157,8 +157,8 @@ $(function() { } else if ($('.edit_exercise, .new_exercise').isPresent()) { execution_environments = $('form').data('execution-environments'); file_types = $('form').data('file-types'); - // new MarkdownEditor('#exercise_instructions'); - //new MarkdownEditor('#exercise_description'); + // new MarkdownEditor('#exercise_instructions'); + // new MarkdownEditor('#exercise_description') // todo: add an ace editor for each file new PagedownEditor('#exercise_description'); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 0258a5fd..47163008 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -14,5 +14,6 @@ *= require_tree ../../../lib *= require_tree ../../../vendor/assets/stylesheets/ *= require_self + *= require bootstrap_pagedown *= require markdown */ From 0aa63d8b8acb3adaa786c692d7a63edfdd09d39f Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:44:35 +0200 Subject: [PATCH 18/64] cleanup4 --- app/assets/javascripts/application.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index e812a7db..c5cd0339 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -13,7 +13,6 @@ //= require jquery // //= require ace/ace -//= require bootstrap_pagedown //= require chosen.jquery.min //= require d3 //= require jquery.turbolinks @@ -22,6 +21,7 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . +//= require bootstrap_pagedown //= require markdown.converter //= require markdown.sanitizer //= require markdown.editor From f61b696e6a11dca520768200d353ee29c2e63bd6 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:45:45 +0200 Subject: [PATCH 19/64] cleanup5 --- app/assets/javascripts/application.js | 4 +--- app/assets/javascripts/markdown_ace_editor.js | 16 ++++++++++++++++ app/views/exercises/_test.html.slim | 12 ++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 app/assets/javascripts/markdown_ace_editor.js create mode 100644 app/views/exercises/_test.html.slim diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index c5cd0339..ebdcc08d 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -24,6 +24,4 @@ //= require bootstrap_pagedown //= require markdown.converter //= require markdown.sanitizer -//= require markdown.editor - - +//= require markdown.editor \ No newline at end of file diff --git a/app/assets/javascripts/markdown_ace_editor.js b/app/assets/javascripts/markdown_ace_editor.js new file mode 100644 index 00000000..42e566fe --- /dev/null +++ b/app/assets/javascripts/markdown_ace_editor.js @@ -0,0 +1,16 @@ +(function() { + var ACE_FILES_PATH = '/assets/ace/'; + + window.MarkdownEditor = function(selector) { + ace.config.set('modePath', ACE_FILES_PATH); + var editor = ace.edit($(selector).next()[0]); + editor.on('change', function() { + $(selector).val(editor.getValue()); + }); + editor.setShowPrintMargin(false); + var session = editor.getSession(); + session.setMode('markdown'); + session.setUseWrapMode(true); + session.setValue($(selector).val()); + }; +})(); \ No newline at end of file diff --git a/app/views/exercises/_test.html.slim b/app/views/exercises/_test.html.slim new file mode 100644 index 00000000..5801005f --- /dev/null +++ b/app/views/exercises/_test.html.slim @@ -0,0 +1,12 @@ +- execution_environments = ExecutionEnvironment.where('file_type_id IS NOT NULL').select(:file_type_id, :id) +- file_types = FileType.where('file_extension IS NOT NULL').select(:file_extension, :id) + += form_for(@exercise, data: {execution_environments: execution_environments, file_types: file_types}, multipart: true) do |f| + .form-group + = f.label(:description) + = f.hidden_field(:description) + .form-control.markdown + + = f.pagedown_editor :description + /= f.input :description, :as => :pagedown, :input_html => { :preview => true } +end \ No newline at end of file From 649f7117044c7c9fab3d33ce8a769b04f3e3b5ac Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:47:20 +0200 Subject: [PATCH 20/64] delete test --- app/views/exercises/_test.html.slim | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 app/views/exercises/_test.html.slim diff --git a/app/views/exercises/_test.html.slim b/app/views/exercises/_test.html.slim deleted file mode 100644 index 5801005f..00000000 --- a/app/views/exercises/_test.html.slim +++ /dev/null @@ -1,12 +0,0 @@ -- execution_environments = ExecutionEnvironment.where('file_type_id IS NOT NULL').select(:file_type_id, :id) -- file_types = FileType.where('file_extension IS NOT NULL').select(:file_extension, :id) - -= form_for(@exercise, data: {execution_environments: execution_environments, file_types: file_types}, multipart: true) do |f| - .form-group - = f.label(:description) - = f.hidden_field(:description) - .form-control.markdown - - = f.pagedown_editor :description - /= f.input :description, :as => :pagedown, :input_html => { :preview => true } -end \ No newline at end of file From 9b66d61998c90cdf923991ea8de2ab6b897088c1 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 18:41:52 +0200 Subject: [PATCH 21/64] tests --- app/views/exercises/_code_field.html.slim | 1 + app/views/exercises/_file_form.html.slim | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/exercises/_code_field.html.slim b/app/views/exercises/_code_field.html.slim index 3ad55f16..55b751d7 100644 --- a/app/views/exercises/_code_field.html.slim +++ b/app/views/exercises/_code_field.html.slim @@ -3,4 +3,5 @@ |   a.toggle-input data={text_initial: t('shared.upload_file'), text_toggled: t('shared.back')} href='#' = t('shared.upload_file') = form.text_area(attribute, class: 'code-field form-control original-input', rows: 16) + = render('editor_frame', exercise: e, file: @files) = form.file_field(attribute, class: 'alternative-input form-control', disabled: true) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 4fd6ba1d..af9cfbf0 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -43,4 +43,4 @@ li.panel.panel-default .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + = render('code_field', attribute: :content, form: f, e: @exercise, label: t('activerecord.attributes.file.content')) From e86a8f538ecc4f8ba4a775ad194496f88d77b3f0 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 27 Jul 2016 17:15:07 +0200 Subject: [PATCH 22/64] comments --- app/views/exercises/_code_field.html.slim | 1 + app/views/exercises/_file_form.html.slim | 8 +------- app/views/exercises/_form.html.slim | 4 ++-- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/app/views/exercises/_code_field.html.slim b/app/views/exercises/_code_field.html.slim index 55b751d7..6afcc9e3 100644 --- a/app/views/exercises/_code_field.html.slim +++ b/app/views/exercises/_code_field.html.slim @@ -3,5 +3,6 @@ |   a.toggle-input data={text_initial: t('shared.upload_file'), text_toggled: t('shared.back')} href='#' = t('shared.upload_file') = form.text_area(attribute, class: 'code-field form-control original-input', rows: 16) + // Need to render content in ace editor instead of plain text = render('editor_frame', exercise: e, file: @files) = form.file_field(attribute, class: 'alternative-input form-control', disabled: true) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index af9cfbf0..618f6d12 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,10 +1,5 @@ - id = f.object.id - -.editor-content.hidden data-file-id=:ancestor_id = :content -.editor data-file-id=:ancestor_id data-indent-size=2 data-mode="ace/mode/python" data-read-only=true data-id=:id - - li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" @@ -37,10 +32,9 @@ li.panel.panel-default .test-related-fields style="display: #{f.object.teacher_defined_test? ? 'initial' : 'none'};" .form-group = f.label(:name, t('activerecord.attributes.file.feedback_message')) - = f.label(:ancestor_id, t('activerecord.attributes.file.name')) = f.text_area(:feedback_message, class: 'form-control', maxlength: 255) .help-block = t('.hints.feedback_message') .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - = render('code_field', attribute: :content, form: f, e: @exercise, label: t('activerecord.attributes.file.content')) + = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 5f26b5fc..f0f69f7a 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -35,8 +35,8 @@ h2 = t('activerecord.attributes.exercise.files') ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form, object: @exercise) + = render('file_form', f: files_form) a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| - = render('file_form', f: files_form, e: @exercise) + = render('file_form', f: files_form) .actions = render('shared/submit_button', f: f, object: @exercise) From e851101f53f5b61b39e27ac62268a3cc3ddc08fd Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 27 Jul 2016 17:15:07 +0200 Subject: [PATCH 23/64] ace editor in edit view! --- app/controllers/exercises_controller.rb | 12 ++- app/views/exercises/_code_field.html.slim | 4 +- app/views/exercises/_editor2.html.slim | 0 app/views/exercises/_file_form.html.slim | 12 ++- app/views/exercises/_form.html.slim | 8 +- app/views/exercises/_form2.html.slim | 7 ++ app/views/exercises/implement.html.slim | 92 ++--------------------- app/views/exercises/implement2.html.slim | 7 ++ 8 files changed, 43 insertions(+), 99 deletions(-) create mode 100644 app/views/exercises/_editor2.html.slim create mode 100644 app/views/exercises/_form2.html.slim create mode 100644 app/views/exercises/implement2.html.slim diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index 0304abb4..a090e6a2 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -6,7 +6,7 @@ class ExercisesController < ApplicationController before_action :handle_file_uploads, only: [:create, :update] before_action :set_execution_environments, only: [:create, :edit, :new, :update] - before_action :set_exercise, only: MEMBER_ACTIONS + [:clone, :implement, :run, :statistics, :submit, :reload] + before_action :set_exercise, only: MEMBER_ACTIONS + [:clone, :implement, :edit, :run, :statistics, :submit, :reload] before_action :set_external_user, only: [:statistics] before_action :set_file_types, only: [:create, :edit, :new, :update] before_action :set_teams, only: [:create, :edit, :new, :update] @@ -64,6 +64,16 @@ class ExercisesController < ApplicationController end def edit + redirect_to(@exercise, alert: t('exercises.implement.no_files')) unless @exercise.files.visible.exists? + @submission = current_user.submissions.where(exercise_id: @exercise.id).order('created_at DESC').first + @files = (@submission ? @submission.collect_files : @exercise.files).select(&:visible).sort_by(&:name_with_extension) + @paths = collect_paths(@files) + + if current_user.respond_to? :external_id + @user_id = current_user.external_id + else + @user_id = current_user.id + end end def import_proforma_xml diff --git a/app/views/exercises/_code_field.html.slim b/app/views/exercises/_code_field.html.slim index 55b751d7..a5b2a48d 100644 --- a/app/views/exercises/_code_field.html.slim +++ b/app/views/exercises/_code_field.html.slim @@ -3,5 +3,7 @@ |   a.toggle-input data={text_initial: t('shared.upload_file'), text_toggled: t('shared.back')} href='#' = t('shared.upload_file') = form.text_area(attribute, class: 'code-field form-control original-input', rows: 16) - = render('editor_frame', exercise: e, file: @files) + // Need to render content in ace editor instead of plain text + /= render('editor_frame', exercise: @exercise, file: @exercise.files.first) = form.file_field(attribute, class: 'alternative-input form-control', disabled: true) + diff --git a/app/views/exercises/_editor2.html.slim b/app/views/exercises/_editor2.html.slim new file mode 100644 index 00000000..e69de29b diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index af9cfbf0..0f22260c 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,10 +1,5 @@ - id = f.object.id - -.editor-content.hidden data-file-id=:ancestor_id = :content -.editor data-file-id=:ancestor_id data-indent-size=2 data-mode="ace/mode/python" data-read-only=true data-id=:id - - li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" @@ -37,10 +32,13 @@ li.panel.panel-default .test-related-fields style="display: #{f.object.teacher_defined_test? ? 'initial' : 'none'};" .form-group = f.label(:name, t('activerecord.attributes.file.feedback_message')) - = f.label(:ancestor_id, t('activerecord.attributes.file.name')) = f.text_area(:feedback_message, class: 'form-control', maxlength: 255) .help-block = t('.hints.feedback_message') .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - = render('code_field', attribute: :content, form: f, e: @exercise, label: t('activerecord.attributes.file.content')) + = render('code_field', attribute: :content, form: f, exercise: @exercise, files: @exercise.files, label: t('activerecord.attributes.file.content')) + + /=render('editor', exercise: @exercise, files: @files, submission: @submission) + /= render('editor_frame', exercise: @exercise, file: @exercise.files.take) + diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 5f26b5fc..d56e2ae4 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -35,8 +35,10 @@ h2 = t('activerecord.attributes.exercise.files') ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form, object: @exercise) - a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') + = render('file_form', f: files_form) + /a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') + = render('editor', exercise: @exercise, files: @files, submission: @submission) ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| - = render('file_form', f: files_form, e: @exercise) + = render('file_form', f: files_form, exercise: @exercise) + /= render('editor2', exercise: @exercise, files: @exercise.files, submission: @submission) .actions = render('shared/submit_button', f: f, object: @exercise) diff --git a/app/views/exercises/_form2.html.slim b/app/views/exercises/_form2.html.slim new file mode 100644 index 00000000..1c344e58 --- /dev/null +++ b/app/views/exercises/_form2.html.slim @@ -0,0 +1,7 @@ +#editor.row data-exercise-id=@exercise.id + #files style=("display: none;") data-entries=FileTree.new(@files).to_js_tree + div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') + - @files.each do |file| + .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type + .editor-content.hidden data-file-id=file.ancestor_id = file.content + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id diff --git a/app/views/exercises/implement.html.slim b/app/views/exercises/implement.html.slim index 0c5e109b..c3fb9f08 100644 --- a/app/views/exercises/implement.html.slim +++ b/app/views/exercises/implement.html.slim @@ -1,87 +1,5 @@ -.row - #editor-column.col-md-10.col-md-offset-1 - h1 = @exercise - - span.badge.pull-right.score - - p.lead = render_markdown(@exercise.description) - - #alert.alert.alert-danger role='alert' - h4 = t('.alert.title') - p = t('.alert.text', application_name: application_name) - - #development-environment - ul.nav.nav-justified.nav-tabs role='tablist' - li.active - a data-placement='top' data-toggle='tab' data-tooltip=true href='#workspace' role='tab' title=t('shared.tooltips.shortcut', shortcut: 'ALT + 1') - i.fa.fa-code - = t('.workspace') - li - a data-placement='top' data-toggle='tab' data-tooltip=true href='#outputInformation' role='tab' title=t('shared.tooltips.shortcut', shortcut: 'ALT + 2') - i.fa.fa-terminal - = t('.output') - li - a data-placement='top' data-toggle='tab' data-tooltip=true href='#progress' role='tab' title=t('shared.tooltips.shortcut', shortcut: 'ALT + 3') - i.fa.fa-line-chart - = t('.progress') - - hr - - .tab-content - #workspace.tab-pane.active = render('editor', exercise: @exercise, files: @files, submission: @submission) - #outputInformation.tab-pane data-message-no-output=t('.no_output') - #hint - .panel.panel-warning - .panel-heading = t('.hint') - .panel-body - .row - / #output-col1.col-sm-12 - #output-col1 - // todo set to full width if turtle isnt used - #prompt.input-group.hidden - span.input-group-addon data-prompt=t('exercises.editor.input') = t('exercises.editor.input') - input#prompt-input.form-control type='text' - span.input-group-btn - button#prompt-submit.btn.btn-primary type="button" = t('exercises.editor.send') - #output - pre = t('.no_output_yet') - - if CodeOcean::Config.new(:code_ocean).read[:flowr][:enabled] - #flowrHint.panel.panel-info data-url=CodeOcean::Config.new(:code_ocean).read[:flowr][:url] role='tab' - .panel-heading = 'Gain more insights here' - .panel-body - #output-col2.col-lg-5.col-md-5 - #turtlediv - // todo what should the canvas default size be? - canvas#turtlecanvas.hidden width=400 height=400 style='border-style:solid;border-width:thin' - #progress.tab-pane - #results - h2 = t('.results') - p.test-count == t('.test_count', count: 0) - ul.list-unstyled - ul#dummies.hidden.list-unstyled - li.panel.panel-default - .panel-heading - h3.panel-title == t('.file', filename: '', number: 0) - .panel-body - = row(label: '.passed_tests', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe) - = row(label: 'activerecord.attributes.submission.score', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe) - = row(label: '.feedback') - = row(label: '.error_messages') - = row(label: '.output', value: link_to(t('shared.show'), '#')) - #score data-maximum-score=@exercise.maximum_score data-score=@submission.try(:score) - h4 - span == "#{t('activerecord.attributes.submission.score')}: " - span.score - .progress - .progress-bar role='progressbar' - - br - - if session[:lti_parameters].try(:has_key?, 'lis_outcome_service_url') - p.text-center = render('editor_button', classes: 'btn-lg btn-success', data: {:'data-url' => submit_exercise_path(@exercise)}, icon: 'fa fa-send', id: 'submit', label: t('exercises.editor.submit')) - - else - p.text-center = render('editor_button', classes: 'btn-lg btn-warning-outline', data: {:'data-placement' => 'bottom', :'data-tooltip' => true} , icon: 'fa fa-clock-o', id: 'submit_outdated', label: t('exercises.editor.exercise_deadline_passed'), title: t('exercises.editor.tooltips.exercise_deadline_passed')) - - - if qa_url - #questions-column - #questions-holder data-url="#{qa_url}/qa/index/#{@exercise.id}/#{@user_id}" - = qa_js_tag +#editor.row data-exercise-id=@exercise.id + #files style=("display: none;") data-entries=FileTree.new(@files).to_js_tree + div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') + - @files.each do |file| + = render('editor_frame', exercise: @exercise, file: file) diff --git a/app/views/exercises/implement2.html.slim b/app/views/exercises/implement2.html.slim new file mode 100644 index 00000000..30d35f87 --- /dev/null +++ b/app/views/exercises/implement2.html.slim @@ -0,0 +1,7 @@ +#editor.row data-exercise-id=@exercise.id + #files style=("display: none;") data-entries=FileTree.new(@files).to_js_tree + div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') + - @files.each do |file| + /= render('editor_frame', exercise: @exercise, file: file) + .editor-content.hidden data-file-id=file.ancestor_id = file.content + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id From f7eaa24a1d46b41c40b8b710800acc38a8986589 Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 2 Aug 2016 12:47:11 +0200 Subject: [PATCH 24/64] revert mistakes --- app/views/exercises/_code_field.html.slim | 1 - app/views/exercises/_file_form.html.slim | 2 +- app/views/exercises/implement.html.slim | 92 +++++++++++++++++++++-- 3 files changed, 88 insertions(+), 7 deletions(-) diff --git a/app/views/exercises/_code_field.html.slim b/app/views/exercises/_code_field.html.slim index 4fedfcea..6afcc9e3 100644 --- a/app/views/exercises/_code_field.html.slim +++ b/app/views/exercises/_code_field.html.slim @@ -6,4 +6,3 @@ // Need to render content in ace editor instead of plain text = render('editor_frame', exercise: e, file: @files) = form.file_field(attribute, class: 'alternative-input form-control', disabled: true) - diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 618f6d12..cb6792a7 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -37,4 +37,4 @@ li.panel.panel-default .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) diff --git a/app/views/exercises/implement.html.slim b/app/views/exercises/implement.html.slim index c3fb9f08..fd7d3fcb 100644 --- a/app/views/exercises/implement.html.slim +++ b/app/views/exercises/implement.html.slim @@ -1,5 +1,87 @@ -#editor.row data-exercise-id=@exercise.id - #files style=("display: none;") data-entries=FileTree.new(@files).to_js_tree - div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') - - @files.each do |file| - = render('editor_frame', exercise: @exercise, file: file) +.row + #editor-column.col-md-10.col-md-offset-1 + h1 = @exercise + + span.badge.pull-right.score + + p.lead = render_markdown(@exercise.description) + + #alert.alert.alert-danger role='alert' + h4 = t('.alert.title') + p = t('.alert.text', application_name: application_name) + + #development-environment + ul.nav.nav-justified.nav-tabs role='tablist' + li.active + a data-placement='top' data-toggle='tab' data-tooltip=true href='#workspace' role='tab' title=t('shared.tooltips.shortcut', shortcut: 'ALT + 1') + i.fa.fa-code + = t('.workspace') + li + a data-placement='top' data-toggle='tab' data-tooltip=true href='#outputInformation' role='tab' title=t('shared.tooltips.shortcut', shortcut: 'ALT + 2') + i.fa.fa-terminal + = t('.output') + li + a data-placement='top' data-toggle='tab' data-tooltip=true href='#progress' role='tab' title=t('shared.tooltips.shortcut', shortcut: 'ALT + 3') + i.fa.fa-line-chart + = t('.progress') + + hr + + .tab-content + #workspace.tab-pane.active = render('editor', exercise: @exercise, files: @files, submission: @submission) + #outputInformation.tab-pane data-message-no-output=t('.no_output') + #hint + .panel.panel-warning + .panel-heading = t('.hint') + .panel-body + .row + / #output-col1.col-sm-12 + #output-col1 + // todo set to full width if turtle isnt used + #prompt.input-group.hidden + span.input-group-addon data-prompt=t('exercises.editor.input') = t('exercises.editor.input') + input#prompt-input.form-control type='text' + span.input-group-btn + button#prompt-submit.btn.btn-primary type="button" = t('exercises.editor.send') + #output + pre = t('.no_output_yet') + - if CodeOcean::Config.new(:code_ocean).read[:flowr][:enabled] + #flowrHint.panel.panel-info data-url=CodeOcean::Config.new(:code_ocean).read[:flowr][:url] role='tab' + .panel-heading = 'Gain more insights here' + .panel-body + #output-col2.col-lg-5.col-md-5 + #turtlediv + // todo what should the canvas default size be? + canvas#turtlecanvas.hidden width=400 height=400 style='border-style:solid;border-width:thin' + #progress.tab-pane + #results + h2 = t('.results') + p.test-count == t('.test_count', count: 0) + ul.list-unstyled + ul#dummies.hidden.list-unstyled + li.panel.panel-default + .panel-heading + h3.panel-title == t('.file', filename: '', number: 0) + .panel-body + = row(label: '.passed_tests', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe) + = row(label: 'activerecord.attributes.submission.score', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe) + = row(label: '.feedback') + = row(label: '.error_messages') + = row(label: '.output', value: link_to(t('shared.show'), '#')) + #score data-maximum-score=@exercise.maximum_score data-score=@submission.try(:score) + h4 + span == "#{t('activerecord.attributes.submission.score')}: " + span.score + .progress + .progress-bar role='progressbar' + + br + - if session[:lti_parameters].try(:has_key?, 'lis_outcome_service_url') + p.text-center = render('editor_button', classes: 'btn-lg btn-success', data: {:'data-url' => submit_exercise_path(@exercise)}, icon: 'fa fa-send', id: 'submit', label: t('exercises.editor.submit')) + - else + p.text-center = render('editor_button', classes: 'btn-lg btn-warning-outline', data: {:'data-placement' => 'bottom', :'data-tooltip' => true} , icon: 'fa fa-clock-o', id: 'submit_outdated', label: t('exercises.editor.exercise_deadline_passed'), title: t('exercises.editor.tooltips.exercise_deadline_passed')) + + - if qa_url + #questions-column + #questions-holder data-url="#{qa_url}/qa/index/#{@exercise.id}/#{@user_id}" + = qa_js_tag \ No newline at end of file From de866d00ca40f050b2ba8bda1fe4c8e59727f18c Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 2 Aug 2016 15:02:02 +0200 Subject: [PATCH 25/64] ace with files --- app/assets/stylesheets/editor.css.scss | 15 +++++++++++++++ app/views/exercises/_code_field.html.slim | 4 +++- app/views/exercises/_file_form.html.slim | 3 +++ app/views/exercises/_form.html.slim | 13 +++++++++++-- app/views/exercises/_form2.html.slim | 4 ++-- app/views/exercises/edit.html.slim | 5 ++++- 6 files changed, 38 insertions(+), 6 deletions(-) diff --git a/app/assets/stylesheets/editor.css.scss b/app/assets/stylesheets/editor.css.scss index e41153e2..602574d7 100644 --- a/app/assets/stylesheets/editor.css.scss +++ b/app/assets/stylesheets/editor.css.scss @@ -7,6 +7,12 @@ button i.fa-spin { width: 100%; } +.editor2 { + + height: 100%; + width: 100%; +} + .frame { display: none; height: 400px; @@ -16,6 +22,15 @@ button i.fa-spin { } } +.frame2 { + display: none; + height: 100px; + + audio, img, video { + max-width: 100%; + } +} + .score { display: none; } diff --git a/app/views/exercises/_code_field.html.slim b/app/views/exercises/_code_field.html.slim index 6afcc9e3..c19f67f7 100644 --- a/app/views/exercises/_code_field.html.slim +++ b/app/views/exercises/_code_field.html.slim @@ -1,8 +1,10 @@ + .form-group class="form-group-#{attribute.to_s.gsub('_', '-')}" = form.label(attribute, label) |   a.toggle-input data={text_initial: t('shared.upload_file'), text_toggled: t('shared.back')} href='#' = t('shared.upload_file') = form.text_area(attribute, class: 'code-field form-control original-input', rows: 16) // Need to render content in ace editor instead of plain text - = render('editor_frame', exercise: e, file: @files) + /= render('editor_frame', exercise: e, file: @files) = form.file_field(attribute, class: 'alternative-input form-control', disabled: true) + diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index cb6792a7..1213ae55 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,5 +1,7 @@ - id = f.object.id + + li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" @@ -38,3 +40,4 @@ li.panel.panel-default = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + /= render('form2', exercise: @exercise, file: @files) diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index f0f69f7a..5d824b19 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -33,10 +33,19 @@ = f.check_box(:allow_file_creation) = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') + + + + + = render('form2', exercise: @exercise, file: @files) + + + + ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form) + = render('file_form', f: files_form, exercise: @exercise, file: @files) a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| - = render('file_form', f: files_form) + = render('file_form', f: files_form, exercise: @exercise, file: @files) .actions = render('shared/submit_button', f: f, object: @exercise) diff --git a/app/views/exercises/_form2.html.slim b/app/views/exercises/_form2.html.slim index 1c344e58..9e141afc 100644 --- a/app/views/exercises/_form2.html.slim +++ b/app/views/exercises/_form2.html.slim @@ -1,5 +1,5 @@ -#editor.row data-exercise-id=@exercise.id - #files style=("display: none;") data-entries=FileTree.new(@files).to_js_tree +#editor.panel-group.row data-exercise-id=@exercise.id + #files style=("") data-entries=FileTree.new(@files).to_js_tree div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') - @files.each do |file| .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type diff --git a/app/views/exercises/edit.html.slim b/app/views/exercises/edit.html.slim index 43550759..88c6ff2d 100644 --- a/app/views/exercises/edit.html.slim +++ b/app/views/exercises/edit.html.slim @@ -1,3 +1,6 @@ h1 = @exercise -= render('form') +/= render('form') + + += render('form', exercise: @exercise, files: @files) From cb35a8808070c2e4a92b2257f714aa84ede60ac5 Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 2 Aug 2016 15:12:06 +0200 Subject: [PATCH 26/64] ace editor in edit mode --- app/views/exercises/implement2.html.slim | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/views/exercises/implement2.html.slim b/app/views/exercises/implement2.html.slim index 30d35f87..9e141afc 100644 --- a/app/views/exercises/implement2.html.slim +++ b/app/views/exercises/implement2.html.slim @@ -1,7 +1,7 @@ -#editor.row data-exercise-id=@exercise.id - #files style=("display: none;") data-entries=FileTree.new(@files).to_js_tree +#editor.panel-group.row data-exercise-id=@exercise.id + #files style=("") data-entries=FileTree.new(@files).to_js_tree div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') - @files.each do |file| - /= render('editor_frame', exercise: @exercise, file: file) - .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id + .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type + .editor-content.hidden data-file-id=file.ancestor_id = file.content + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id From 341e4cb5c8684bbc095106f9af53fe51586bd45a Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 2 Aug 2016 16:07:31 +0200 Subject: [PATCH 27/64] cleanup --- "\033" | 5 + .gitignore.save | 25 + app/assets/stylesheets/editor.css.scss | 15 - app/controllers/exercises_controller.rb | 8 - app/views/exercises/_ace.html.slim | 7 + app/views/exercises/_code_field.html.slim | 4 - app/views/exercises/_file_form.html.slim | 4 - app/views/exercises/_form.html.slim | 15 +- app/views/exercises/edit.html.slim | 3 - app/views/exercises/implement2.html.slim | 2 +- config/application.rb | 2 - examples.txt | 993 ++++++++++++++++++++++ spec/additional_setting_spec.rb | 3 + spec/examples.txt | 0 14 files changed, 1038 insertions(+), 48 deletions(-) create mode 100644 "\033" create mode 100644 .gitignore.save create mode 100644 app/views/exercises/_ace.html.slim create mode 100644 examples.txt create mode 100644 spec/additional_setting_spec.rb create mode 100644 spec/examples.txt diff --git "a/\033" "b/\033" new file mode 100644 index 00000000..8f1010d8 --- /dev/null +++ "b/\033" @@ -0,0 +1,5 @@ +=> [#, + #, + #, + #, + #] diff --git a/.gitignore.save b/.gitignore.save new file mode 100644 index 00000000..5f486cf1 --- /dev/null +++ b/.gitignore.save @@ -0,0 +1,25 @@ +/config/action_mailer.yml +/config/code_ocean.yml +/config/database.yml +/config/secrets.yml +/config/sendmail.yml +/config/smtp.yml +/config/*.production.yml +/coverage +/log +/public/assets +/public/uploads +/rubocop.html +/tmp +/vagrant/ +/.vagrant +*.sublime-* +/.idea +/.vagrant +*.iml +*.DS_Store + + +RSpec.configure do |c| + c.example_status_persistence_file_path = "./spec/examples.txt" +end diff --git a/app/assets/stylesheets/editor.css.scss b/app/assets/stylesheets/editor.css.scss index 602574d7..e41153e2 100644 --- a/app/assets/stylesheets/editor.css.scss +++ b/app/assets/stylesheets/editor.css.scss @@ -7,12 +7,6 @@ button i.fa-spin { width: 100%; } -.editor2 { - - height: 100%; - width: 100%; -} - .frame { display: none; height: 400px; @@ -22,15 +16,6 @@ button i.fa-spin { } } -.frame2 { - display: none; - height: 100px; - - audio, img, video { - max-width: 100%; - } -} - .score { display: none; } diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index a090e6a2..6499c99c 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -64,16 +64,8 @@ class ExercisesController < ApplicationController end def edit - redirect_to(@exercise, alert: t('exercises.implement.no_files')) unless @exercise.files.visible.exists? - @submission = current_user.submissions.where(exercise_id: @exercise.id).order('created_at DESC').first @files = (@submission ? @submission.collect_files : @exercise.files).select(&:visible).sort_by(&:name_with_extension) @paths = collect_paths(@files) - - if current_user.respond_to? :external_id - @user_id = current_user.external_id - else - @user_id = current_user.id - end end def import_proforma_xml diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_ace.html.slim new file mode 100644 index 00000000..9e141afc --- /dev/null +++ b/app/views/exercises/_ace.html.slim @@ -0,0 +1,7 @@ +#editor.panel-group.row data-exercise-id=@exercise.id + #files style=("") data-entries=FileTree.new(@files).to_js_tree + div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') + - @files.each do |file| + .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type + .editor-content.hidden data-file-id=file.ancestor_id = file.content + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id diff --git a/app/views/exercises/_code_field.html.slim b/app/views/exercises/_code_field.html.slim index c19f67f7..3ad55f16 100644 --- a/app/views/exercises/_code_field.html.slim +++ b/app/views/exercises/_code_field.html.slim @@ -1,10 +1,6 @@ - .form-group class="form-group-#{attribute.to_s.gsub('_', '-')}" = form.label(attribute, label) |   a.toggle-input data={text_initial: t('shared.upload_file'), text_toggled: t('shared.back')} href='#' = t('shared.upload_file') = form.text_area(attribute, class: 'code-field form-control original-input', rows: 16) - // Need to render content in ace editor instead of plain text - /= render('editor_frame', exercise: e, file: @files) = form.file_field(attribute, class: 'alternative-input form-control', disabled: true) - diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 1213ae55..7bb4cd27 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,7 +1,4 @@ - id = f.object.id - - - li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" @@ -40,4 +37,3 @@ li.panel.panel-default = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) - /= render('form2', exercise: @exercise, file: @files) diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 5d824b19..f69e7d43 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -33,19 +33,12 @@ = f.check_box(:allow_file_creation) = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') - - - - - = render('form2', exercise: @exercise, file: @files) - - - - + //render ace editor for not hidden files + = render('ace', exercise: @exercise, file: @files) ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form, exercise: @exercise, file: @files) + = render('file_form', f: files_form) a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| - = render('file_form', f: files_form, exercise: @exercise, file: @files) + = render('file_form', f: files_form) .actions = render('shared/submit_button', f: f, object: @exercise) diff --git a/app/views/exercises/edit.html.slim b/app/views/exercises/edit.html.slim index 88c6ff2d..6681eff5 100644 --- a/app/views/exercises/edit.html.slim +++ b/app/views/exercises/edit.html.slim @@ -1,6 +1,3 @@ h1 = @exercise -/= render('form') - - = render('form', exercise: @exercise, files: @files) diff --git a/app/views/exercises/implement2.html.slim b/app/views/exercises/implement2.html.slim index 9e141afc..7a843dfd 100644 --- a/app/views/exercises/implement2.html.slim +++ b/app/views/exercises/implement2.html.slim @@ -4,4 +4,4 @@ - @files.each do |file| .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-id=file.id diff --git a/config/application.rb b/config/application.rb index b450c891..4b2a543a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,8 +22,6 @@ module CodeOcean # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Berlin' - - config.log_level = :warn # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] diff --git a/examples.txt b/examples.txt new file mode 100644 index 00000000..185f2807 --- /dev/null +++ b/examples.txt @@ -0,0 +1,993 @@ +example_id | status | run_time | +------------------------------------------------------------------------ | ------- | ---------------------- | +./spec/concerns/lti_spec.rb[1:1:1] | passed | 0.05388 seconds | +./spec/concerns/lti_spec.rb[1:2:1] | passed | 0.05226 seconds | +./spec/concerns/lti_spec.rb[1:3:1:1] | passed | 0.05346 seconds | +./spec/concerns/lti_spec.rb[1:3:2:1] | passed | 0.05029 seconds | +./spec/concerns/lti_spec.rb[1:3:3:1] | passed | 0.04876 seconds | +./spec/concerns/lti_spec.rb[1:4:1] | passed | 0.04732 seconds | +./spec/concerns/lti_spec.rb[1:5:1:1] | passed | 0.05313 seconds | +./spec/concerns/lti_spec.rb[1:5:1:2] | passed | 0.04713 seconds | +./spec/concerns/lti_spec.rb[1:5:2:1] | passed | 0.04836 seconds | +./spec/concerns/lti_spec.rb[1:5:2:2] | passed | 0.05332 seconds | +./spec/concerns/lti_spec.rb[1:5:2:3] | passed | 0.04993 seconds | +./spec/concerns/lti_spec.rb[1:6:1:1] | passed | 0.05333 seconds | +./spec/concerns/lti_spec.rb[1:6:2:1:1:1] | passed | 0.0603 seconds | +./spec/concerns/lti_spec.rb[1:6:2:1:2:1] | passed | 0.06167 seconds | +./spec/concerns/lti_spec.rb[1:6:2:1:2:2] | passed | 0.06537 seconds | +./spec/concerns/lti_spec.rb[1:6:2:2:1] | passed | 0.05288 seconds | +./spec/concerns/lti_spec.rb[1:7:1] | passed | 0.07108 seconds | +./spec/concerns/lti_spec.rb[1:7:2] | passed | 0.06749 seconds | +./spec/concerns/lti_spec.rb[1:8:1] | passed | 0.04952 seconds | +./spec/concerns/submission_scoring_spec.rb[1:1:1] | passed | 0.08771 seconds | +./spec/concerns/submission_scoring_spec.rb[1:2:1] | passed | 0.07049 seconds | +./spec/concerns/submission_scoring_spec.rb[1:2:2] | passed | 0.07268 seconds | +./spec/controllers/admin/dashboard_controller_spec.rb[1:1:1:1] | passed | 0.42948 seconds | +./spec/controllers/admin/dashboard_controller_spec.rb[1:1:1:2] | passed | 0.66093 seconds | +./spec/controllers/admin/dashboard_controller_spec.rb[1:1:2:1] | passed | 0.28222 seconds | +./spec/controllers/admin/dashboard_controller_spec.rb[1:1:2:2] | passed | 0.3202 seconds | +./spec/controllers/application_controller_spec.rb[1:1:1:1] | passed | 0.3774 seconds | +./spec/controllers/application_controller_spec.rb[1:1:2:1] | passed | 0.68006 seconds | +./spec/controllers/application_controller_spec.rb[1:2:1] | passed | 0.29975 seconds | +./spec/controllers/application_controller_spec.rb[1:2:2] | passed | 0.31365 seconds | +./spec/controllers/application_controller_spec.rb[1:3:1:1:1] | passed | 0.29236 seconds | +./spec/controllers/application_controller_spec.rb[1:3:1:2:1] | passed | 0.30014 seconds | +./spec/controllers/application_controller_spec.rb[1:3:2:1] | passed | 0.9501 seconds | +./spec/controllers/application_controller_spec.rb[1:3:3:1] | passed | 0.36802 seconds | +./spec/controllers/application_controller_spec.rb[1:4:1] | passed | 0.42095 seconds | +./spec/controllers/application_controller_spec.rb[1:4:2] | passed | 0.31325 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:1] | passed | 2.23 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:2] | passed | 2.63 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:3] | passed | 2.4 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:4] | passed | 2.3 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:1] | passed | 2.02 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:2] | passed | 2.24 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:3] | passed | 2.06 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:2:1] | passed | 2.29 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:2:2] | passed | 3.45 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:2:3] | passed | 2.01 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:1:1] | passed | 0.58056 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:1:2] | passed | 0.61798 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:1:3] | passed | 0.50093 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:2:1] | passed | 0.81274 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:2:2] | passed | 0.51096 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:2:3] | passed | 0.83042 seconds | +./spec/controllers/consumers_controller_spec.rb[1:2:1] | passed | 0.81097 seconds | +./spec/controllers/consumers_controller_spec.rb[1:2:2] | passed | 0.60336 seconds | +./spec/controllers/consumers_controller_spec.rb[1:2:3] | passed | 0.48202 seconds | +./spec/controllers/consumers_controller_spec.rb[1:3:1] | passed | 0.62955 seconds | +./spec/controllers/consumers_controller_spec.rb[1:3:2] | passed | 0.54483 seconds | +./spec/controllers/consumers_controller_spec.rb[1:3:3] | passed | 0.5219 seconds | +./spec/controllers/consumers_controller_spec.rb[1:4:1] | passed | 0.53688 seconds | +./spec/controllers/consumers_controller_spec.rb[1:4:2] | passed | 0.68758 seconds | +./spec/controllers/consumers_controller_spec.rb[1:4:3] | passed | 0.64265 seconds | +./spec/controllers/consumers_controller_spec.rb[1:5:1] | passed | 0.52463 seconds | +./spec/controllers/consumers_controller_spec.rb[1:5:2] | passed | 0.52728 seconds | +./spec/controllers/consumers_controller_spec.rb[1:5:3] | passed | 0.58288 seconds | +./spec/controllers/consumers_controller_spec.rb[1:6:1] | passed | 0.52539 seconds | +./spec/controllers/consumers_controller_spec.rb[1:6:2] | passed | 0.50418 seconds | +./spec/controllers/consumers_controller_spec.rb[1:6:3] | passed | 0.63746 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:1:1] | passed | 0.53542 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:1:2] | passed | 0.5016 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:2:1] | passed | 0.55682 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:2:2] | passed | 0.53387 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:2:3] | passed | 0.55788 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:1] | failed | 1.96 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:2] | failed | 2.36 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:3] | failed | 1.18 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:4] | failed | 1.27 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:5] | failed | 1.18 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:2:1] | failed | 1.39 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:2:2] | failed | 0.8815 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:2:3] | failed | 0.86151 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:2:4] | failed | 1.39 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:2:1] | failed | 1.96 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:2:2] | failed | 1.78 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:2:3] | failed | 1.11 seconds | +./spec/controllers/errors_controller_spec.rb[1:2:1] | failed | 0.79434 seconds | +./spec/controllers/errors_controller_spec.rb[1:2:2] | failed | 0.87153 seconds | +./spec/controllers/errors_controller_spec.rb[1:2:3] | failed | 1.99 seconds | +./spec/controllers/errors_controller_spec.rb[1:2:4] | failed | 1.97 seconds | +./spec/controllers/errors_controller_spec.rb[1:3:1] | failed | 0.90122 seconds | +./spec/controllers/errors_controller_spec.rb[1:3:2] | failed | 0.84712 seconds | +./spec/controllers/errors_controller_spec.rb[1:3:3] | failed | 1.23 seconds | +./spec/controllers/errors_controller_spec.rb[1:3:4] | failed | 1.12 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:1:1] | passed | 0.70875 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:1:2] | passed | 0.54489 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:1:3] | passed | 0.89081 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:1:4] | passed | 0.51258 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:2:1] | passed | 0.52053 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:2:2] | passed | 0.48337 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:2:3] | passed | 0.69658 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:2:1] | passed | 0.92356 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:2:2] | passed | 1.26 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:2:3] | passed | 0.88205 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:3:1] | passed | 0.94887 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:3:2] | passed | 0.91546 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:3:3] | passed | 0.98788 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:3:4] | passed | 1.07 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:4:1] | passed | 1.05 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:4:2] | passed | 0.89247 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:4:3] | passed | 0.88503 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:4:4] | passed | 1 second | +./spec/controllers/execution_environments_controller_spec.rb[1:5:1] | passed | 0.47142 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:5:2] | passed | 0.5298 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:5:3] | passed | 0.5247 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:6:1] | passed | 0.52958 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:6:2] | passed | 0.75957 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:6:3] | passed | 0.57441 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:6:4] | passed | 0.51306 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:7:1:1] | passed | 0.4847 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:7:2:1] | passed | 0.47169 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:7:2:2] | passed | 0.53817 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:7:2:3] | passed | 0.49187 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:8:1] | passed | 0.90694 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:8:2] | passed | 0.90327 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:8:3] | passed | 0.92948 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:9:1] | passed | 0.94092 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:9:2] | passed | 1.01 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:9:3] | passed | 0.87026 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:10:1] | passed | 1.01 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:10:2] | passed | 1.13 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:10:3] | passed | 0.90735 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:1:1] | passed | 0.97962 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:1:2] | passed | 1.02 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:1:3] | passed | 1.04 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:2:1] | passed | 1.05 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:2:2] | passed | 1.05 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:2:3] | passed | 0.97916 seconds | +./spec/controllers/exercises_controller_spec.rb[1:1:1] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:1:2] | passed | 1.25 seconds | +./spec/controllers/exercises_controller_spec.rb[1:1:3] | passed | 1.15 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:1:1] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:1:2] | passed | 1.14 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:1:3] | passed | 1.04 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:1:4] | passed | 1.18 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:2:1] | passed | 1.12 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:2:2] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:2:3] | passed | 1.17 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:1:1] | passed | 1.05 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:1:2] | passed | 1.15 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:1:3] | passed | 1.12 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:1:1] | passed | 2.91 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:2:1:1] | passed | 3.18 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:2:1:2] | passed | 3.23 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:2:2:1] | passed | 2.76 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:2:2:2] | passed | 2.79 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:3:1] | passed | 0.90433 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:3:2] | passed | 0.68602 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:3:3] | passed | 0.72294 seconds | +./spec/controllers/exercises_controller_spec.rb[1:4:1] | passed | 1.13 seconds | +./spec/controllers/exercises_controller_spec.rb[1:4:2] | passed | 1.63 seconds | +./spec/controllers/exercises_controller_spec.rb[1:4:3] | passed | 1.12 seconds | +./spec/controllers/exercises_controller_spec.rb[1:5:1] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:5:2] | passed | 1.08 seconds | +./spec/controllers/exercises_controller_spec.rb[1:5:3] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:1] | passed | 2.07 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:2:1] | passed | 2.01 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:3:1] | passed | 2.05 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:4] | passed | 2.08 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:5] | passed | 2.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:2:1] | passed | 1.09 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:2:2] | passed | 1.35 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:2:3] | passed | 1.31 seconds | +./spec/controllers/exercises_controller_spec.rb[1:7:1] | passed | 0.45366 seconds | +./spec/controllers/exercises_controller_spec.rb[1:7:2] | passed | 0.56032 seconds | +./spec/controllers/exercises_controller_spec.rb[1:7:3] | passed | 0.46597 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:1] | passed | 0.51851 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:2] | passed | 0.52441 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:3] | passed | 0.50381 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:4] | passed | 0.56026 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:5] | passed | 0.50493 seconds | +./spec/controllers/exercises_controller_spec.rb[1:9:1:1] | passed | 1.07 seconds | +./spec/controllers/exercises_controller_spec.rb[1:9:1:2] | passed | 1.14 seconds | +./spec/controllers/exercises_controller_spec.rb[1:9:1:3] | passed | 1.33 seconds | +./spec/controllers/exercises_controller_spec.rb[1:10:1:1] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:10:1:2] | passed | 1.14 seconds | +./spec/controllers/exercises_controller_spec.rb[1:10:1:3] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:11:1] | passed | 1.25 seconds | +./spec/controllers/exercises_controller_spec.rb[1:11:2] | passed | 1.02 seconds | +./spec/controllers/exercises_controller_spec.rb[1:11:3] | passed | 1.07 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:1:1] | passed | 1.16 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:1:2] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:1:3] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:1:4] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:2:1] | passed | 1.19 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:2:2] | passed | 1.15 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:2:3] | passed | 1.25 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:2:4] | passed | 1.35 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:2:1] | passed | 1.24 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:2:2] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:2:3] | passed | 1.07 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:2:4] | passed | 1.05 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:1:1] | passed | 1.92 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:1:2] | passed | 1.66 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:2:1] | passed | 1.13 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:2:2] | passed | 1.18 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:2:3] | passed | 1.22 seconds | +./spec/controllers/external_users_controller_spec.rb[1:1:1] | passed | 0.47717 seconds | +./spec/controllers/external_users_controller_spec.rb[1:1:2] | passed | 0.3431 seconds | +./spec/controllers/external_users_controller_spec.rb[1:1:3] | passed | 0.41034 seconds | +./spec/controllers/external_users_controller_spec.rb[1:2:1] | passed | 0.47422 seconds | +./spec/controllers/external_users_controller_spec.rb[1:2:2] | passed | 0.35718 seconds | +./spec/controllers/external_users_controller_spec.rb[1:2:3] | passed | 0.35027 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:1:1] | passed | 0.51875 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:1:2] | passed | 0.49511 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:1:3] | passed | 0.65131 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:1:4] | passed | 0.65157 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:2:1] | passed | 0.58255 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:2:2] | passed | 0.54964 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:2:3] | passed | 0.70094 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:2:4] | passed | 0.52823 seconds | +./spec/controllers/file_types_controller_spec.rb[1:2:1] | passed | 0.7025 seconds | +./spec/controllers/file_types_controller_spec.rb[1:2:2] | passed | 0.81924 seconds | +./spec/controllers/file_types_controller_spec.rb[1:2:3] | passed | 1.05 seconds | +./spec/controllers/file_types_controller_spec.rb[1:3:1] | passed | 0.82095 seconds | +./spec/controllers/file_types_controller_spec.rb[1:3:2] | passed | 0.97098 seconds | +./spec/controllers/file_types_controller_spec.rb[1:3:3] | passed | 0.70247 seconds | +./spec/controllers/file_types_controller_spec.rb[1:3:4] | passed | 0.70796 seconds | +./spec/controllers/file_types_controller_spec.rb[1:4:1] | passed | 0.79963 seconds | +./spec/controllers/file_types_controller_spec.rb[1:4:2] | passed | 0.52003 seconds | +./spec/controllers/file_types_controller_spec.rb[1:4:3] | passed | 0.55009 seconds | +./spec/controllers/file_types_controller_spec.rb[1:5:1] | passed | 0.48244 seconds | +./spec/controllers/file_types_controller_spec.rb[1:5:2] | passed | 0.57857 seconds | +./spec/controllers/file_types_controller_spec.rb[1:5:3] | passed | 0.52193 seconds | +./spec/controllers/file_types_controller_spec.rb[1:5:4] | passed | 0.49106 seconds | +./spec/controllers/file_types_controller_spec.rb[1:6:1] | passed | 0.67506 seconds | +./spec/controllers/file_types_controller_spec.rb[1:6:2] | passed | 0.71581 seconds | +./spec/controllers/file_types_controller_spec.rb[1:6:3] | passed | 0.75251 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:1:1] | passed | 1.12 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:1:2] | passed | 0.70886 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:1:3] | passed | 0.72567 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:2:1] | passed | 0.70726 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:2:2] | passed | 0.70036 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:2:3] | passed | 0.96331 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:2:4] | passed | 0.72221 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:1:1] | passed | 0.89467 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:1:2] | passed | 1.01 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:1:3] | passed | 0.96557 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:1:4] | passed | 1.05 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:2:1] | passed | 0.94989 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:2:2] | passed | 1.33 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:2:3] | passed | 0.88133 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:2:4] | passed | 1.05 seconds | +./spec/controllers/hints_controller_spec.rb[1:2:1] | passed | 1.3 seconds | +./spec/controllers/hints_controller_spec.rb[1:2:2] | passed | 1.4 seconds | +./spec/controllers/hints_controller_spec.rb[1:2:3] | passed | 1.61 seconds | +./spec/controllers/hints_controller_spec.rb[1:2:4] | passed | 1.52 seconds | +./spec/controllers/hints_controller_spec.rb[1:3:1] | passed | 1.38 seconds | +./spec/controllers/hints_controller_spec.rb[1:3:2] | passed | 1.36 seconds | +./spec/controllers/hints_controller_spec.rb[1:3:3] | passed | 1.29 seconds | +./spec/controllers/hints_controller_spec.rb[1:3:4] | passed | 1.78 seconds | +./spec/controllers/hints_controller_spec.rb[1:4:1] | passed | 0.95889 seconds | +./spec/controllers/hints_controller_spec.rb[1:4:2] | passed | 0.90212 seconds | +./spec/controllers/hints_controller_spec.rb[1:4:3] | passed | 0.90994 seconds | +./spec/controllers/hints_controller_spec.rb[1:4:4] | passed | 0.88076 seconds | +./spec/controllers/hints_controller_spec.rb[1:5:1] | passed | 1.05 seconds | +./spec/controllers/hints_controller_spec.rb[1:5:2] | passed | 1.27 seconds | +./spec/controllers/hints_controller_spec.rb[1:5:3] | passed | 0.83885 seconds | +./spec/controllers/hints_controller_spec.rb[1:5:4] | passed | 1.13 seconds | +./spec/controllers/hints_controller_spec.rb[1:6:1] | passed | 1.82 seconds | +./spec/controllers/hints_controller_spec.rb[1:6:2] | passed | 1.31 seconds | +./spec/controllers/hints_controller_spec.rb[1:6:3] | passed | 1.3 seconds | +./spec/controllers/hints_controller_spec.rb[1:6:4] | passed | 1.34 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:1:1] | passed | 1.74 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:1:2] | passed | 1.31 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:1:3] | passed | 1.36 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:2:1] | passed | 1.31 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:2:2] | passed | 1.39 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:2:3] | passed | 1.36 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:2:4] | passed | 1.28 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:1:1] | passed | 0.93653 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:2:1] | passed | 1.07 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:3:1] | passed | 0.85398 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:3:2] | passed | 1.02 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:3:3] | passed | 0.90663 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:1:1] | passed | 0.9466 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:2:1] | passed | 0.94167 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:3:1] | passed | 0.8878 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:3:2] | passed | 1 second | +./spec/controllers/internal_users_controller_spec.rb[1:2:3:3] | passed | 0.88129 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:4:1] | passed | 1.02 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:4:2] | passed | 1 second | +./spec/controllers/internal_users_controller_spec.rb[1:2:4:3] | passed | 1.04 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:5:1] | passed | 1.19 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:5:2] | passed | 1.04 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:5:3] | passed | 1.27 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:5:4] | passed | 1.11 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:1] | passed | 0.74172 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:2] | passed | 0.7571 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:3] | passed | 0.72091 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:4] | passed | 0.76376 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:5] | passed | 1.01 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:6] | passed | 0.75806 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:2:1] | passed | 0.67078 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:2:2] | passed | 0.69978 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:2:3] | passed | 0.7253 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:4:1] | passed | 0.70981 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:4:2] | passed | 1.16 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:4:3] | passed | 0.95224 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:5:1] | passed | 1.19 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:5:2] | passed | 0.74226 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:5:3] | passed | 0.69343 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:6:1:1] | passed | 0.7506 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:6:1:2] | passed | 0.94879 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:6:2:1] | passed | 0.72029 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:6:2:2] | passed | 0.80326 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:7:1:1] | passed | 0.71071 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:7:1:2] | passed | 0.76412 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:7:2:1] | passed | 0.71613 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:7:2:2] | passed | 0.75737 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:8:1] | passed | 0.72195 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:8:2] | passed | 0.75732 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:8:3] | passed | 0.71156 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:9:1] | passed | 1.64 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:9:2] | passed | 0.75199 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:9:3] | passed | 0.71997 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:10:1:1] | passed | 0.67374 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:10:2:1] | passed | 0.89616 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:10:2:2] | passed | 0.89143 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:10:2:3] | passed | 0.68439 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:1:1] | passed | 0.75883 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:1] | passed | 1.12 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:2] | passed | 1.34 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:3] | passed | 1.17 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:1] | passed | 0.94258 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:2] | passed | 0.92263 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:3] | passed | 1.19 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:12:1] | passed | 0.71737 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:12:2] | passed | 0.71684 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:12:3] | passed | 0.74044 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:1:1] | passed | 0.71091 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:1:2] | passed | 1.55 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:2:1] | passed | 0.67754 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:2:2] | passed | 0.70417 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:2:3] | passed | 0.71035 seconds | +./spec/controllers/sessions_controller_spec.rb[1:1:1:1] | passed | 1.26 seconds | +./spec/controllers/sessions_controller_spec.rb[1:1:1:2] | passed | 0.68359 seconds | +./spec/controllers/sessions_controller_spec.rb[1:1:2:1] | passed | 0.79514 seconds | +./spec/controllers/sessions_controller_spec.rb[1:1:2:2] | passed | 0.52831 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:1:1] | passed | 0.37032 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:2:1] | passed | 0.40997 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:3:1] | passed | 0.26585 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:4:1] | passed | 0.47495 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:5:1] | passed | 0.63658 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:1] | passed | 1.24 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:2] | passed | 0.99964 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:3] | passed | 1.08 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:4] | passed | 1.08 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:5] | passed | 1.25 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:6:1] | passed | 1.25 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:7:1] | passed | 0.93837 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:8] | passed | 1.75 seconds | +./spec/controllers/sessions_controller_spec.rb[1:3:1:1] | passed | 0.33515 seconds | +./spec/controllers/sessions_controller_spec.rb[1:3:1:2] | passed | 0.39173 seconds | +./spec/controllers/sessions_controller_spec.rb[1:3:2:1] | passed | 0.33611 seconds | +./spec/controllers/sessions_controller_spec.rb[1:3:2:2] | passed | 0.35244 seconds | +./spec/controllers/sessions_controller_spec.rb[1:4:1] | passed | 1.23 seconds | +./spec/controllers/sessions_controller_spec.rb[1:4:2] | passed | 0.97189 seconds | +./spec/controllers/sessions_controller_spec.rb[1:4:3] | passed | 0.93231 seconds | +./spec/controllers/sessions_controller_spec.rb[1:5:1:1] | passed | 0.84563 seconds | +./spec/controllers/sessions_controller_spec.rb[1:5:1:2] | passed | 0.38509 seconds | +./spec/controllers/sessions_controller_spec.rb[1:5:2:1] | passed | 0.32513 seconds | +./spec/controllers/sessions_controller_spec.rb[1:5:2:2] | passed | 0.44308 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:1:1] | passed | 1.5 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:1:2] | passed | 1.59 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:1:3] | passed | 1.48 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:1:4] | passed | 1.43 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:2:1] | passed | 0.54507 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:2:2] | passed | 0.55113 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:2:3] | passed | 0.50523 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:1:1] | passed | 2.4 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:1] | passed | 2.92 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:2] | passed | 3.2 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:3] | passed | 3.27 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:4] | passed | 3.4 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:5] | passed | 3.52 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:1] | passed | 3.74 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:2] | passed | 3.1 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:3] | passed | 3.82 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:4] | passed | 3.25 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:5] | passed | 3 seconds | +./spec/controllers/submissions_controller_spec.rb[1:3:1] | passed | 0.80581 seconds | +./spec/controllers/submissions_controller_spec.rb[1:3:2] | passed | 0.49216 seconds | +./spec/controllers/submissions_controller_spec.rb[1:3:3] | passed | 0.50166 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:1:1] | passed | 2.07 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:1] | passed | 2.88 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:2] | passed | 3.44 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:3] | passed | 3 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:4] | passed | 3.42 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:5] | passed | 3.56 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:1] | passed | 3.5 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:2] | passed | 2.96 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:3] | passed | 3.11 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:4] | passed | 2.76 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:5] | passed | 3.47 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:1:1] | failed | 2.02 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:1:2] | failed | 2.21 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:1:3] | failed | 1.99 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:1:4] | failed | 2.01 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:2:1:1] | pending | 2.07 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:2:2:1] | pending | 2.15 seconds | +./spec/controllers/submissions_controller_spec.rb[1:6:1] | passed | 2.13 seconds | +./spec/controllers/submissions_controller_spec.rb[1:6:2] | passed | 2.09 seconds | +./spec/controllers/submissions_controller_spec.rb[1:6:3] | passed | 2 seconds | +./spec/controllers/submissions_controller_spec.rb[1:7:1] | passed | 2.07 seconds | +./spec/controllers/submissions_controller_spec.rb[1:7:2] | passed | 2.11 seconds | +./spec/controllers/submissions_controller_spec.rb[1:7:3] | passed | 2.24 seconds | +./spec/controllers/submissions_controller_spec.rb[1:8:1:1] | passed | 2.3 seconds | +./spec/controllers/submissions_controller_spec.rb[1:8:1:2] | passed | 2.03 seconds | +./spec/controllers/submissions_controller_spec.rb[1:8:2:1] | passed | 2.45 seconds | +./spec/controllers/submissions_controller_spec.rb[1:8:2:2] | passed | 2.03 seconds | +./spec/controllers/submissions_controller_spec.rb[1:9:1] | passed | 2.02 seconds | +./spec/controllers/submissions_controller_spec.rb[1:9:2] | passed | 2.08 seconds | +./spec/controllers/submissions_controller_spec.rb[1:9:3] | passed | 2.12 seconds | +./spec/controllers/submissions_controller_spec.rb[1:9:4] | passed | 2.21 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:1:1] | passed | 0.52306 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:1:2] | passed | 0.85799 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:1:3] | passed | 0.81074 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:1:4] | passed | 0.43519 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:2:1] | passed | 0.46153 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:2:2] | passed | 0.42009 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:2:3] | passed | 0.52245 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:2:4] | passed | 0.47165 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:1:1] | passed | 0.50978 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:1:2] | passed | 0.55994 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:1:3] | passed | 0.55707 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:2:1] | passed | 0.70031 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:2:2] | passed | 0.5281 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:2:3] | passed | 0.47249 seconds | +./spec/controllers/teams_controller_spec.rb[1:2:1] | passed | 1.17 seconds | +./spec/controllers/teams_controller_spec.rb[1:2:2] | passed | 1.96 seconds | +./spec/controllers/teams_controller_spec.rb[1:2:3] | passed | 1.26 seconds | +./spec/controllers/teams_controller_spec.rb[1:3:1] | passed | 1.4 seconds | +./spec/controllers/teams_controller_spec.rb[1:3:2] | passed | 1.22 seconds | +./spec/controllers/teams_controller_spec.rb[1:3:3] | passed | 1.22 seconds | +./spec/controllers/teams_controller_spec.rb[1:4:1] | passed | 0.93686 seconds | +./spec/controllers/teams_controller_spec.rb[1:4:2] | passed | 0.50114 seconds | +./spec/controllers/teams_controller_spec.rb[1:4:3] | passed | 0.44898 seconds | +./spec/controllers/teams_controller_spec.rb[1:5:1] | passed | 0.5113 seconds | +./spec/controllers/teams_controller_spec.rb[1:5:2] | passed | 0.49347 seconds | +./spec/controllers/teams_controller_spec.rb[1:5:3] | passed | 0.68706 seconds | +./spec/controllers/teams_controller_spec.rb[1:6:1] | passed | 1.2 seconds | +./spec/controllers/teams_controller_spec.rb[1:6:2] | passed | 1.21 seconds | +./spec/controllers/teams_controller_spec.rb[1:6:3] | passed | 1.24 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:1:1] | passed | 1.23 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:1:2] | passed | 1.87 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:2:1] | passed | 1.17 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:2:2] | passed | 1.22 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:2:3] | passed | 1.43 seconds | +./spec/features/authentication_spec.rb[1:1:1] | passed | 0.49429 seconds | +./spec/features/authentication_spec.rb[1:1:2:1] | passed | 0.60044 seconds | +./spec/features/authentication_spec.rb[1:1:3:1] | passed | 0.48862 seconds | +./spec/features/authentication_spec.rb[1:2:1] | passed | 0.43804 seconds | +./spec/features/authentication_spec.rb[1:2:2] | passed | 0.45646 seconds | +./spec/features/authentication_spec.rb[1:2:3] | passed | 0.47432 seconds | +./spec/features/authorization_spec.rb[1:1:1] | passed | 0.38984 seconds | +./spec/features/authorization_spec.rb[1:1:2] | passed | 0.56208 seconds | +./spec/features/authorization_spec.rb[1:1:3] | passed | 0.41139 seconds | +./spec/features/authorization_spec.rb[1:1:4] | passed | 0.42773 seconds | +./spec/features/authorization_spec.rb[1:1:5] | passed | 0.34909 seconds | +./spec/features/authorization_spec.rb[1:1:6] | passed | 0.38089 seconds | +./spec/features/authorization_spec.rb[1:2:1] | passed | 0.10333 seconds | +./spec/features/authorization_spec.rb[1:2:2] | failed | 0.23435 seconds | +./spec/features/authorization_spec.rb[1:2:3] | passed | 0.10429 seconds | +./spec/features/authorization_spec.rb[1:2:4] | passed | 0.16712 seconds | +./spec/features/authorization_spec.rb[1:2:5] | passed | 0.10363 seconds | +./spec/features/authorization_spec.rb[1:2:6] | passed | 0.10498 seconds | +./spec/features/authorization_spec.rb[1:3:1] | passed | 0.28455 seconds | +./spec/features/authorization_spec.rb[1:3:2] | passed | 0.29486 seconds | +./spec/features/authorization_spec.rb[1:3:3] | passed | 0.44396 seconds | +./spec/features/authorization_spec.rb[1:3:4] | passed | 0.30501 seconds | +./spec/features/authorization_spec.rb[1:3:5] | passed | 0.33616 seconds | +./spec/features/authorization_spec.rb[1:3:6] | passed | 0.27512 seconds | +./spec/features/editor_spec.rb[1:1] | failed | 0.91726 seconds | +./spec/features/editor_spec.rb[1:2:1] | failed | 0.38425 seconds | +./spec/features/editor_spec.rb[1:3:1] | failed | 0.3683 seconds | +./spec/features/editor_spec.rb[1:3:2] | failed | 0.35491 seconds | +./spec/features/editor_spec.rb[1:3:3:1:1:1] | failed | 0.35493 seconds | +./spec/features/editor_spec.rb[1:3:3:1:2:1] | failed | 0.35738 seconds | +./spec/features/editor_spec.rb[1:3:3:1:3:1] | failed | 0.36695 seconds | +./spec/features/editor_spec.rb[1:3:3:2:1] | failed | 0.49427 seconds | +./spec/features/editor_spec.rb[1:4:1] | failed | 0.38213 seconds | +./spec/features/factories_spec.rb[1:1] | passed | 30.81 seconds | +./spec/helpers/admin/dashboard_helper_spec.rb[1:1:1] | passed | 0.04949 seconds | +./spec/helpers/admin/dashboard_helper_spec.rb[1:2:1] | passed | 0.4322 seconds | +./spec/helpers/admin/dashboard_helper_spec.rb[1:2:2] | passed | 0.42845 seconds | +./spec/helpers/admin/dashboard_helper_spec.rb[1:2:3] | passed | 0.43619 seconds | +./spec/helpers/application_helper_spec.rb[1:1:1:1] | passed | 0.04601 seconds | +./spec/helpers/application_helper_spec.rb[1:1:1:2] | passed | 0.05083 seconds | +./spec/helpers/application_helper_spec.rb[1:1:2:1] | passed | 0.04312 seconds | +./spec/helpers/application_helper_spec.rb[1:2:1] | passed | 0.05053 seconds | +./spec/helpers/application_helper_spec.rb[1:3:1] | passed | 0.04669 seconds | +./spec/helpers/application_helper_spec.rb[1:4:1] | passed | 0.05579 seconds | +./spec/helpers/application_helper_spec.rb[1:5:1:1] | passed | 0.04768 seconds | +./spec/helpers/application_helper_spec.rb[1:5:1:2] | passed | 0.05455 seconds | +./spec/helpers/application_helper_spec.rb[1:5:1:3] | passed | 0.0449 seconds | +./spec/helpers/application_helper_spec.rb[1:5:2:1] | passed | 0.04644 seconds | +./spec/helpers/application_helper_spec.rb[1:5:2:2] | passed | 0.05222 seconds | +./spec/helpers/application_helper_spec.rb[1:5:2:3] | passed | 0.04625 seconds | +./spec/helpers/application_helper_spec.rb[1:6:1] | passed | 0.04555 seconds | +./spec/helpers/application_helper_spec.rb[1:7:1:1] | passed | 0.0475 seconds | +./spec/helpers/application_helper_spec.rb[1:7:1:2] | passed | 0.04511 seconds | +./spec/helpers/application_helper_spec.rb[1:7:2:1] | passed | 0.05068 seconds | +./spec/helpers/application_helper_spec.rb[1:7:2:2] | passed | 0.04573 seconds | +./spec/helpers/application_helper_spec.rb[1:7:3:1] | passed | 0.05091 seconds | +./spec/helpers/application_helper_spec.rb[1:7:3:2] | passed | 0.05068 seconds | +./spec/helpers/application_helper_spec.rb[1:7:4:1] | passed | 0.05306 seconds | +./spec/helpers/application_helper_spec.rb[1:7:4:2] | passed | 0.05163 seconds | +./spec/helpers/application_helper_spec.rb[1:8:1] | passed | 0.04636 seconds | +./spec/helpers/exercise_helper_spec.rb[1:1:1] | passed | 0.6475 seconds | +./spec/helpers/exercise_helper_spec.rb[1:1:2] | passed | 0.62291 seconds | +./spec/lib/assessor_spec.rb[1:1:1:1] | passed | 0.46695 seconds | +./spec/lib/assessor_spec.rb[1:1:1:2] | passed | 0.46151 seconds | +./spec/lib/assessor_spec.rb[1:1:2:1] | passed | 0.51 seconds | +./spec/lib/assessor_spec.rb[1:1:2:2] | passed | 0.45934 seconds | +./spec/lib/assessor_spec.rb[1:2:1] | passed | 0.83966 seconds | +./spec/lib/assessor_spec.rb[1:3:1:1] | passed | 0.46642 seconds | +./spec/lib/assessor_spec.rb[1:3:2:1] | passed | 0.47094 seconds | +./spec/lib/code_ocean/config_spec.rb[1:1:1:1:1] | passed | 0.05578 seconds | +./spec/lib/code_ocean/config_spec.rb[1:1:1:2:1] | passed | 0.04735 seconds | +./spec/lib/code_ocean/config_spec.rb[1:1:2:1:1] | passed | 0.0479 seconds | +./spec/lib/code_ocean/config_spec.rb[1:1:2:2:1] | passed | 0.04498 seconds | +./spec/lib/docker_client_spec.rb[1:1:1:1] | passed | 0.05104 seconds | +./spec/lib/docker_client_spec.rb[1:1:2:1] | passed | 0.05096 seconds | +./spec/lib/docker_client_spec.rb[1:2:1] | passed | 0.45035 seconds | +./spec/lib/docker_client_spec.rb[1:2:2] | passed | 0.44681 seconds | +./spec/lib/docker_client_spec.rb[1:2:3] | passed | 0.4424 seconds | +./spec/lib/docker_client_spec.rb[1:2:4] | passed | 0.43693 seconds | +./spec/lib/docker_client_spec.rb[1:3:1] | passed | 0.44354 seconds | +./spec/lib/docker_client_spec.rb[1:3:2] | passed | 0.428 seconds | +./spec/lib/docker_client_spec.rb[1:4:1] | failed | 0.4641 seconds | +./spec/lib/docker_client_spec.rb[1:4:2] | failed | 0.48352 seconds | +./spec/lib/docker_client_spec.rb[1:4:3] | failed | 0.45244 seconds | +./spec/lib/docker_client_spec.rb[1:4:4] | failed | 0.45568 seconds | +./spec/lib/docker_client_spec.rb[1:4:5] | failed | 0.44904 seconds | +./spec/lib/docker_client_spec.rb[1:4:6] | failed | 0.46663 seconds | +./spec/lib/docker_client_spec.rb[1:4:7:1:1] | failed | 0.45626 seconds | +./spec/lib/docker_client_spec.rb[1:4:7:2:1] | pending | 0.45135 seconds | +./spec/lib/docker_client_spec.rb[1:5:1] | passed | 1.99 seconds | +./spec/lib/docker_client_spec.rb[1:5:2] | passed | 1.97 seconds | +./spec/lib/docker_client_spec.rb[1:5:3] | passed | 1.96 seconds | +./spec/lib/docker_client_spec.rb[1:6:1] | passed | 2.1 seconds | +./spec/lib/docker_client_spec.rb[1:7:1] | failed | 0.52902 seconds | +./spec/lib/docker_client_spec.rb[1:7:2] | failed | 0.47791 seconds | +./spec/lib/docker_client_spec.rb[1:7:3] | failed | 0.4794 seconds | +./spec/lib/docker_client_spec.rb[1:7:4] | failed | 0.45839 seconds | +./spec/lib/docker_client_spec.rb[1:7:5] | failed | 0.52342 seconds | +./spec/lib/docker_client_spec.rb[1:8:1] | failed | 0.47863 seconds | +./spec/lib/docker_client_spec.rb[1:8:2] | failed | 0.52634 seconds | +./spec/lib/docker_client_spec.rb[1:8:3:1:1] | failed | 0.46634 seconds | +./spec/lib/docker_client_spec.rb[1:8:3:2:1] | pending | 0.44356 seconds | +./spec/lib/docker_client_spec.rb[1:9:1] | failed | 1.97 seconds | +./spec/lib/docker_client_spec.rb[1:9:2] | failed | 1.97 seconds | +./spec/lib/docker_client_spec.rb[1:9:3] | failed | 2 seconds | +./spec/lib/docker_client_spec.rb[1:10:1] | failed | 1.96 seconds | +./spec/lib/docker_client_spec.rb[1:10:2] | failed | 1.97 seconds | +./spec/lib/docker_client_spec.rb[1:10:3] | failed | 2.02 seconds | +./spec/lib/docker_client_spec.rb[1:11:1] | passed | 0.04751 seconds | +./spec/lib/docker_client_spec.rb[1:11:2] | passed | 0.04688 seconds | +./spec/lib/docker_client_spec.rb[1:12:1:1] | passed | 0.05314 seconds | +./spec/lib/docker_client_spec.rb[1:12:2:1] | passed | 0.04604 seconds | +./spec/lib/docker_client_spec.rb[1:13:1] | failed | 0.47195 seconds | +./spec/lib/docker_client_spec.rb[1:13:2] | failed | 0.45205 seconds | +./spec/lib/docker_client_spec.rb[1:14:1] | passed | 0.05023 seconds | +./spec/lib/docker_client_spec.rb[1:15:1:1] | passed | 0.42814 seconds | +./spec/lib/docker_client_spec.rb[1:15:1:2] | passed | 0.43627 seconds | +./spec/lib/docker_client_spec.rb[1:15:2:1] | passed | 0.42761 seconds | +./spec/lib/docker_client_spec.rb[1:16:1] | failed | 0.82555 seconds | +./spec/lib/docker_client_spec.rb[1:16:2] | pending | 0.89455 seconds | +./spec/lib/docker_client_spec.rb[1:16:3] | pending | 0.82313 seconds | +./spec/lib/docker_client_spec.rb[1:16:4:1] | failed | 0.8775 seconds | +./spec/lib/docker_client_spec.rb[1:16:4:2] | failed | 0.89195 seconds | +./spec/lib/docker_client_spec.rb[1:16:5:1] | pending | 0.84039 seconds | +./spec/lib/docker_client_spec.rb[1:16:5:2] | failed | 0.85046 seconds | +./spec/lib/docker_client_spec.rb[1:16:5:3] | failed | 0.8589 seconds | +./spec/lib/docker_container_mixin_spec.rb[1:1:1] | passed | 0.0606 seconds | +./spec/lib/docker_container_mixin_spec.rb[1:1:2] | passed | 0.04567 seconds | +./spec/lib/docker_container_mixin_spec.rb[1:2:1] | passed | 0.06373 seconds | +./spec/lib/docker_container_mixin_spec.rb[1:2:2] | passed | 0.06955 seconds | +./spec/lib/docker_container_pool_spec.rb[1:1] | passed | 0.43583 seconds | +./spec/lib/docker_container_pool_spec.rb[1:2:1] | passed | 0.43681 seconds | +./spec/lib/docker_container_pool_spec.rb[1:2:2] | passed | 0.44123 seconds | +./spec/lib/docker_container_pool_spec.rb[1:3:1:1:1] | passed | 0.43728 seconds | +./spec/lib/docker_container_pool_spec.rb[1:3:1:2:1] | passed | 0.43581 seconds | +./spec/lib/docker_container_pool_spec.rb[1:3:2:1] | passed | 0.4393 seconds | +./spec/lib/docker_container_pool_spec.rb[1:4:1] | passed | 0.43248 seconds | +./spec/lib/docker_container_pool_spec.rb[1:5:1:1] | passed | 0.44943 seconds | +./spec/lib/docker_container_pool_spec.rb[1:5:2:1] | passed | 0.45709 seconds | +./spec/lib/docker_container_pool_spec.rb[1:6:1:1] | passed | 0.44414 seconds | +./spec/lib/docker_container_pool_spec.rb[1:6:2:1] | passed | 0.4425 seconds | +./spec/lib/docker_container_pool_spec.rb[1:7:1] | passed | 0.44224 seconds | +./spec/lib/docker_container_pool_spec.rb[1:7:2] | passed | 0.48752 seconds | +./spec/lib/file_tree_spec.rb[1:1:1:1:1] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:1:1:2:1] | passed | 1.75 seconds | +./spec/lib/file_tree_spec.rb[1:1:1:3:1] | passed | 1.76 seconds | +./spec/lib/file_tree_spec.rb[1:1:2:1:1] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:1:2:2:1] | passed | 1.78 seconds | +./spec/lib/file_tree_spec.rb[1:1:2:3:1] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:1:2:4:1] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:2:1] | passed | 0.04513 seconds | +./spec/lib/file_tree_spec.rb[1:3:1] | passed | 1.78 seconds | +./spec/lib/file_tree_spec.rb[1:3:2] | passed | 1.78 seconds | +./spec/lib/file_tree_spec.rb[1:3:3] | passed | 1.78 seconds | +./spec/lib/file_tree_spec.rb[1:4:1:1] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:4:1:2] | passed | 1.76 seconds | +./spec/lib/file_tree_spec.rb[1:4:1:3] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:4:2:1] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:4:2:2] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:4:2:3] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:4:2:4] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:5:1:1] | passed | 0.04461 seconds | +./spec/lib/file_tree_spec.rb[1:5:2:1] | passed | 0.04648 seconds | +./spec/lib/file_tree_spec.rb[1:5:3:1] | passed | 0.04946 seconds | +./spec/lib/file_tree_spec.rb[1:6:1] | passed | 0.04706 seconds | +./spec/lib/file_tree_spec.rb[1:6:2] | passed | 0.0554 seconds | +./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:1] | passed | 0.13097 seconds | +./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:2] | passed | 0.13694 seconds | +./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:3] | passed | 0.15343 seconds | +./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:4] | passed | 0.16829 seconds | +./spec/lib/junit_adapter_spec.rb[1:1:1:1] | passed | 0.0468 seconds | +./spec/lib/junit_adapter_spec.rb[1:1:2:1] | passed | 0.0495 seconds | +./spec/lib/mocha_adapter_spec.rb[1:1:1] | passed | 0.07256 seconds | +./spec/lib/nonce_store_spec.rb[1:1:1] | passed | 0.04928 seconds | +./spec/lib/nonce_store_spec.rb[1:2:1] | passed | 0.05167 seconds | +./spec/lib/nonce_store_spec.rb[1:3:1] | passed | 0.06516 seconds | +./spec/lib/nonce_store_spec.rb[1:3:2] | passed | 1.07 seconds | +./spec/lib/nonce_store_spec.rb[1:3:3] | passed | 0.05538 seconds | +./spec/lib/port_pool_spec.rb[1:1:1] | passed | 0.04779 seconds | +./spec/lib/port_pool_spec.rb[1:1:2:1] | passed | 0.05225 seconds | +./spec/lib/port_pool_spec.rb[1:1:2:2] | passed | 0.04625 seconds | +./spec/lib/port_pool_spec.rb[1:1:3:1] | passed | 0.04389 seconds | +./spec/lib/port_pool_spec.rb[1:2:1:1] | passed | 0.04476 seconds | +./spec/lib/port_pool_spec.rb[1:2:2:1] | passed | 0.04679 seconds | +./spec/lib/port_pool_spec.rb[1:2:3:1] | passed | 0.05205 seconds | +./spec/lib/py_unit_adapter_spec.rb[1:1:1] | passed | 0.0464 seconds | +./spec/lib/rspec_adapter_spec.rb[1:1:1] | passed | 0.04745 seconds | +./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:1:1] | passed | 0.05192 seconds | +./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:2:1] | passed | 0.04797 seconds | +./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:3:1] | passed | 0.05233 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:1:1:1] | passed | 0.06723 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:1:2:1] | passed | 0.05049 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:1:3:1] | passed | 0.0499 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:2:1] | passed | 0.04968 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:3:1] | passed | 0.0518 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:4:1] | passed | 0.05101 seconds | +./spec/lib/whistleblower_spec.rb[1:1:1] | passed | 0.4526 seconds | +./spec/lib/whistleblower_spec.rb[1:1:2] | passed | 0.43831 seconds | +./spec/lib/whistleblower_spec.rb[1:2:1] | passed | 0.43577 seconds | +./spec/mailers/user_mailer_spec.rb[1:1:1] | passed | 0.25795 seconds | +./spec/mailers/user_mailer_spec.rb[1:1:2] | passed | 0.27475 seconds | +./spec/mailers/user_mailer_spec.rb[1:1:3] | passed | 0.2699 seconds | +./spec/mailers/user_mailer_spec.rb[1:1:4] | passed | 0.25876 seconds | +./spec/mailers/user_mailer_spec.rb[1:2:1] | passed | 0.23646 seconds | +./spec/mailers/user_mailer_spec.rb[1:3:1] | passed | 0.21859 seconds | +./spec/mailers/user_mailer_spec.rb[1:3:2] | passed | 0.22282 seconds | +./spec/mailers/user_mailer_spec.rb[1:3:3] | passed | 0.33699 seconds | +./spec/mailers/user_mailer_spec.rb[1:3:4] | passed | 0.21741 seconds | +./spec/models/code_ocean/file_spec.rb[1:1] | passed | 0.05281 seconds | +./spec/models/code_ocean/file_spec.rb[1:2] | passed | 0.06111 seconds | +./spec/models/code_ocean/file_spec.rb[1:3] | passed | 0.05727 seconds | +./spec/models/code_ocean/file_spec.rb[1:4] | passed | 0.06252 seconds | +./spec/models/code_ocean/file_spec.rb[1:5:1] | passed | 0.05775 seconds | +./spec/models/code_ocean/file_spec.rb[1:5:2] | passed | 0.06536 seconds | +./spec/models/code_ocean/file_spec.rb[1:5:3] | passed | 0.06164 seconds | +./spec/models/code_ocean/file_spec.rb[1:6:1] | passed | 0.06148 seconds | +./spec/models/code_ocean/file_spec.rb[1:6:2] | passed | 0.06278 seconds | +./spec/models/consumer_spec.rb[1:1] | passed | 0.05116 seconds | +./spec/models/consumer_spec.rb[1:2] | passed | 0.05519 seconds | +./spec/models/consumer_spec.rb[1:3] | passed | 0.07053 seconds | +./spec/models/consumer_spec.rb[1:4] | passed | 0.0555 seconds | +./spec/models/error_spec.rb[1:1] | passed | 0.04672 seconds | +./spec/models/error_spec.rb[1:2] | passed | 0.04962 seconds | +./spec/models/error_spec.rb[1:3:1] | passed | 0.04457 seconds | +./spec/models/execution_environment_spec.rb[1:1] | passed | 0.88342 seconds | +./spec/models/execution_environment_spec.rb[1:2] | passed | 0.41619 seconds | +./spec/models/execution_environment_spec.rb[1:3] | passed | 0.32074 seconds | +./spec/models/execution_environment_spec.rb[1:4] | passed | 0.87759 seconds | +./spec/models/execution_environment_spec.rb[1:5] | passed | 0.35236 seconds | +./spec/models/execution_environment_spec.rb[1:6] | passed | 0.34291 seconds | +./spec/models/execution_environment_spec.rb[1:7] | passed | 0.30257 seconds | +./spec/models/execution_environment_spec.rb[1:8] | passed | 0.51367 seconds | +./spec/models/execution_environment_spec.rb[1:9] | passed | 0.38582 seconds | +./spec/models/execution_environment_spec.rb[1:10] | passed | 0.31626 seconds | +./spec/models/execution_environment_spec.rb[1:11] | passed | 0.49556 seconds | +./spec/models/execution_environment_spec.rb[1:12] | passed | 0.38436 seconds | +./spec/models/execution_environment_spec.rb[1:13] | passed | 0.34001 seconds | +./spec/models/execution_environment_spec.rb[1:14:1:1] | passed | 1.37 seconds | +./spec/models/execution_environment_spec.rb[1:14:2:1] | passed | 0.5388 seconds | +./spec/models/execution_environment_spec.rb[1:14:3:1] | passed | 0.65292 seconds | +./spec/models/execution_environment_spec.rb[1:14:4:1] | passed | 0.30448 seconds | +./spec/models/execution_environment_spec.rb[1:15:1] | passed | 0.31281 seconds | +./spec/models/execution_environment_spec.rb[1:15:2] | passed | 0.34101 seconds | +./spec/models/execution_environment_spec.rb[1:15:3] | passed | 0.37395 seconds | +./spec/models/execution_environment_spec.rb[1:16:1] | failed | 3 minutes 15.8 seconds | +./spec/models/execution_environment_spec.rb[1:16:2] | failed | 2 minutes 1.6 seconds | +./spec/models/execution_environment_spec.rb[1:16:3:1] | failed | 2 minutes 2.7 seconds | +./spec/models/execution_environment_spec.rb[1:16:4:1] | failed | 3 minutes 31.8 seconds | +./spec/models/exercise_spec.rb[1:1] | passed | 4 seconds | +./spec/models/exercise_spec.rb[1:2] | passed | 0.06381 seconds | +./spec/models/exercise_spec.rb[1:3] | passed | 0.05955 seconds | +./spec/models/exercise_spec.rb[1:4] | passed | 0.0694 seconds | +./spec/models/exercise_spec.rb[1:5] | passed | 0.05958 seconds | +./spec/models/exercise_spec.rb[1:6] | passed | 0.06112 seconds | +./spec/models/exercise_spec.rb[1:7] | passed | 0.06287 seconds | +./spec/models/exercise_spec.rb[1:8:1:1] | passed | 1.54 seconds | +./spec/models/exercise_spec.rb[1:8:2:1] | passed | 1.86 seconds | +./spec/models/exercise_spec.rb[1:9:1:1] | passed | 1.54 seconds | +./spec/models/exercise_spec.rb[1:9:2:1] | passed | 1.83 seconds | +./spec/models/exercise_spec.rb[1:10:1] | passed | 1.54 seconds | +./spec/models/exercise_spec.rb[1:10:2] | passed | 1.55 seconds | +./spec/models/exercise_spec.rb[1:10:3] | passed | 1.55 seconds | +./spec/models/exercise_spec.rb[1:10:4] | passed | 1.56 seconds | +./spec/models/external_user_spec.rb[1:1] | passed | 0.05177 seconds | +./spec/models/external_user_spec.rb[1:2] | passed | 0.05328 seconds | +./spec/models/external_user_spec.rb[1:3:1] | passed | 0.06456 seconds | +./spec/models/external_user_spec.rb[1:4:1] | passed | 0.05401 seconds | +./spec/models/external_user_spec.rb[1:5:1] | passed | 0.05196 seconds | +./spec/models/external_user_spec.rb[1:6:1] | passed | 0.06018 seconds | +./spec/models/file_type_spec.rb[1:1] | passed | 0.05687 seconds | +./spec/models/file_type_spec.rb[1:2:1] | passed | 0.05752 seconds | +./spec/models/file_type_spec.rb[1:2:2] | passed | 0.05774 seconds | +./spec/models/file_type_spec.rb[1:3:1] | passed | 0.06183 seconds | +./spec/models/file_type_spec.rb[1:3:2] | passed | 0.06521 seconds | +./spec/models/file_type_spec.rb[1:4] | passed | 0.08014 seconds | +./spec/models/file_type_spec.rb[1:5] | passed | 0.05505 seconds | +./spec/models/file_type_spec.rb[1:6] | passed | 0.06553 seconds | +./spec/models/file_type_spec.rb[1:7] | passed | 0.05611 seconds | +./spec/models/hint_spec.rb[1:1] | passed | 0.05463 seconds | +./spec/models/hint_spec.rb[1:2] | passed | 0.05013 seconds | +./spec/models/hint_spec.rb[1:3] | passed | 0.05554 seconds | +./spec/models/hint_spec.rb[1:4] | passed | 0.05332 seconds | +./spec/models/hint_spec.rb[1:5] | passed | 0.05561 seconds | +./spec/models/hint_spec.rb[1:6:1] | passed | 0.04798 seconds | +./spec/models/hint_spec.rb[1:7:1] | passed | 0.05355 seconds | +./spec/models/internal_user_spec.rb[1:1] | passed | 0.05381 seconds | +./spec/models/internal_user_spec.rb[1:2] | passed | 0.23652 seconds | +./spec/models/internal_user_spec.rb[1:3:1] | passed | 0.48092 seconds | +./spec/models/internal_user_spec.rb[1:3:2] | passed | 0.2442 seconds | +./spec/models/internal_user_spec.rb[1:4:1] | passed | 0.4856 seconds | +./spec/models/internal_user_spec.rb[1:4:2] | passed | 0.24731 seconds | +./spec/models/internal_user_spec.rb[1:5:1] | passed | 0.48664 seconds | +./spec/models/internal_user_spec.rb[1:5:2] | passed | 0.23371 seconds | +./spec/models/internal_user_spec.rb[1:6] | passed | 0.05358 seconds | +./spec/models/internal_user_spec.rb[1:7] | passed | 0.05487 seconds | +./spec/models/internal_user_spec.rb[1:8:1] | passed | 0.07052 seconds | +./spec/models/internal_user_spec.rb[1:9:1] | passed | 0.05715 seconds | +./spec/models/internal_user_spec.rb[1:10:1] | passed | 0.04854 seconds | +./spec/models/internal_user_spec.rb[1:11:1] | passed | 0.06655 seconds | +./spec/models/submission_spec.rb[1:1] | passed | 0.0644 seconds | +./spec/models/submission_spec.rb[1:2] | passed | 0.1015 seconds | +./spec/models/submission_spec.rb[1:3] | passed | 0.08179 seconds | +./spec/models/submission_spec.rb[1:4:1] | passed | 0.68143 seconds | +./spec/models/submission_spec.rb[1:4:2] | passed | 0.7595 seconds | +./spec/models/submission_spec.rb[1:5:1] | passed | 0.80489 seconds | +./spec/models/submission_spec.rb[1:5:2] | passed | 0.68498 seconds | +./spec/models/submission_spec.rb[1:6:1] | passed | 0.83722 seconds | +./spec/models/submission_spec.rb[1:6:2] | passed | 0.77297 seconds | +./spec/models/submission_spec.rb[1:7:1] | passed | 0.66752 seconds | +./spec/models/submission_spec.rb[1:7:2] | passed | 0.64445 seconds | +./spec/models/submission_spec.rb[1:8:1] | passed | 1.76 seconds | +./spec/models/submission_spec.rb[1:9:1:1] | passed | 1.66 seconds | +./spec/models/submission_spec.rb[1:9:2:1] | passed | 0.73879 seconds | +./spec/models/submission_spec.rb[1:10:1:1] | passed | 2.05 seconds | +./spec/models/submission_spec.rb[1:10:2:1] | passed | 0.71365 seconds | +./spec/models/submission_spec.rb[1:11:1] | passed | 0.82545 seconds | +./spec/models/submission_spec.rb[1:12:1] | passed | 0.8341 seconds | +./spec/models/submission_spec.rb[1:13:1] | passed | 0.84713 seconds | +./spec/models/submission_spec.rb[1:14:1] | passed | 0.68107 seconds | +./spec/models/team_spec.rb[1:1] | passed | 0.05459 seconds | +./spec/policies/admin/dashboard_policy_spec.rb[1:1:1] | passed | 0.04881 seconds | +./spec/policies/admin/dashboard_policy_spec.rb[1:1:2] | passed | 0.05824 seconds | +./spec/policies/admin/dashboard_policy_spec.rb[1:1:3] | passed | 0.06351 seconds | +./spec/policies/application_policy_spec.rb[1:1:1:1] | passed | 0.04957 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:1] | passed | 1.54 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:2] | passed | 1.54 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:3] | passed | 1.56 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:2:1] | passed | 1.57 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:2:2] | passed | 1.59 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:1] | passed | 1.54 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:2] | passed | 1.54 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:3] | passed | 1.96 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:2:2:1] | passed | 1.61 seconds | +./spec/policies/consumer_policy_spec.rb[1:1:1] | passed | 0.10357 seconds | +./spec/policies/consumer_policy_spec.rb[1:2:1] | passed | 0.08366 seconds | +./spec/policies/consumer_policy_spec.rb[1:3:1] | passed | 0.08169 seconds | +./spec/policies/consumer_policy_spec.rb[1:4:1] | passed | 0.08223 seconds | +./spec/policies/consumer_policy_spec.rb[1:5:1] | passed | 0.08195 seconds | +./spec/policies/consumer_policy_spec.rb[1:6:1] | passed | 0.07828 seconds | +./spec/policies/consumer_policy_spec.rb[1:7:1] | passed | 0.07932 seconds | +./spec/policies/error_policy_spec.rb[1:1:1] | passed | 0.45873 seconds | +./spec/policies/error_policy_spec.rb[1:1:2] | passed | 0.46128 seconds | +./spec/policies/error_policy_spec.rb[1:1:3] | passed | 0.46079 seconds | +./spec/policies/error_policy_spec.rb[1:2:1] | passed | 0.45973 seconds | +./spec/policies/error_policy_spec.rb[1:2:2] | passed | 0.45929 seconds | +./spec/policies/error_policy_spec.rb[1:2:3] | passed | 0.46767 seconds | +./spec/policies/error_policy_spec.rb[1:3:1] | passed | 0.445 seconds | +./spec/policies/error_policy_spec.rb[1:3:2] | passed | 0.46193 seconds | +./spec/policies/error_policy_spec.rb[1:3:3] | passed | 0.4657 seconds | +./spec/policies/error_policy_spec.rb[1:4:1] | passed | 0.46109 seconds | +./spec/policies/error_policy_spec.rb[1:4:2] | passed | 1.09 seconds | +./spec/policies/error_policy_spec.rb[1:4:3] | passed | 0.51032 seconds | +./spec/policies/error_policy_spec.rb[1:5:1] | passed | 0.4543 seconds | +./spec/policies/error_policy_spec.rb[1:5:2] | passed | 0.44643 seconds | +./spec/policies/error_policy_spec.rb[1:5:3] | passed | 0.47377 seconds | +./spec/policies/error_policy_spec.rb[1:6:1] | passed | 0.47607 seconds | +./spec/policies/error_policy_spec.rb[1:6:2] | passed | 0.45039 seconds | +./spec/policies/error_policy_spec.rb[1:6:3] | passed | 0.47517 seconds | +./spec/policies/error_policy_spec.rb[1:7:1] | passed | 0.45254 seconds | +./spec/policies/error_policy_spec.rb[1:7:2] | passed | 0.47799 seconds | +./spec/policies/error_policy_spec.rb[1:7:3] | passed | 0.46955 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:1:1] | passed | 0.4323 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:1:2] | passed | 0.45739 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:1:3] | passed | 0.44001 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:2:1] | passed | 0.55549 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:2:2] | passed | 0.43501 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:2:3] | passed | 0.43414 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:3:1] | passed | 0.4346 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:3:2] | passed | 0.45119 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:3:3] | passed | 0.44649 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:4:1] | passed | 0.43679 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:4:2] | passed | 0.43608 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:4:3] | passed | 0.45377 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:5:1] | passed | 0.43083 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:5:2] | passed | 0.42669 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:5:3] | passed | 0.45541 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:6:1] | passed | 0.4409 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:6:2] | passed | 0.43714 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:6:3] | passed | 0.45636 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:7:1] | passed | 0.42774 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:7:2] | passed | 0.42009 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:7:3] | passed | 0.4454 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:8:1] | passed | 0.42981 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:8:2] | passed | 0.42901 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:8:3] | passed | 0.44514 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:9:1] | passed | 0.43291 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:9:2] | passed | 0.44433 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:9:3] | passed | 0.44712 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:10:1] | passed | 0.43274 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:10:2] | passed | 0.4342 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:10:3] | passed | 0.4458 seconds | +./spec/policies/exercise_policy_spec.rb[1:1:1] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:2:1] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:2:2] | passed | 1.33 seconds | +./spec/policies/exercise_policy_spec.rb[1:2:3] | passed | 1.33 seconds | +./spec/policies/exercise_policy_spec.rb[1:3:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:3:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:3:3] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:4:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:4:2] | passed | 1.33 seconds | +./spec/policies/exercise_policy_spec.rb[1:4:3] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:5:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:5:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:5:3] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:5:4] | passed | 1.57 seconds | +./spec/policies/exercise_policy_spec.rb[1:6:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:6:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:6:3] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:6:4] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:7:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:7:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:7:3] | passed | 1.61 seconds | +./spec/policies/exercise_policy_spec.rb[1:7:4] | passed | 1.35 seconds | +./spec/policies/exercise_policy_spec.rb[1:8:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:8:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:8:3] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:8:4] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:9:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:9:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:9:3] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:9:4] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:10:1] | passed | 1.33 seconds | +./spec/policies/exercise_policy_spec.rb[1:11:1] | passed | 0.0779 seconds | +./spec/policies/exercise_policy_spec.rb[1:12:1] | passed | 0.0805 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:1:1] | passed | 0.04881 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:2:1] | passed | 0.04955 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:3:1] | passed | 0.75105 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:3:2] | passed | 0.76452 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:3:3] | passed | 0.7714 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:3:4] | passed | 0.75585 seconds | +./spec/policies/external_user_policy_spec.rb[1:1:1] | passed | 0.07825 seconds | +./spec/policies/external_user_policy_spec.rb[1:2:1] | passed | 0.07896 seconds | +./spec/policies/external_user_policy_spec.rb[1:3:1] | passed | 0.09095 seconds | +./spec/policies/external_user_policy_spec.rb[1:4:1] | passed | 0.08289 seconds | +./spec/policies/external_user_policy_spec.rb[1:5:1] | passed | 0.08806 seconds | +./spec/policies/external_user_policy_spec.rb[1:6:1] | passed | 0.24338 seconds | +./spec/policies/external_user_policy_spec.rb[1:7:1] | passed | 0.08096 seconds | +./spec/policies/file_type_policy_spec.rb[1:1:1] | passed | 0.23616 seconds | +./spec/policies/file_type_policy_spec.rb[1:1:2] | passed | 0.24798 seconds | +./spec/policies/file_type_policy_spec.rb[1:1:3] | passed | 0.24424 seconds | +./spec/policies/file_type_policy_spec.rb[1:2:1] | passed | 0.23601 seconds | +./spec/policies/file_type_policy_spec.rb[1:2:2] | passed | 0.24568 seconds | +./spec/policies/file_type_policy_spec.rb[1:2:3] | passed | 0.24071 seconds | +./spec/policies/file_type_policy_spec.rb[1:3:1] | passed | 0.23586 seconds | +./spec/policies/file_type_policy_spec.rb[1:3:2] | passed | 0.24816 seconds | +./spec/policies/file_type_policy_spec.rb[1:3:3] | passed | 0.23923 seconds | +./spec/policies/file_type_policy_spec.rb[1:4:1] | passed | 0.23465 seconds | +./spec/policies/file_type_policy_spec.rb[1:4:2] | passed | 0.23125 seconds | +./spec/policies/file_type_policy_spec.rb[1:4:3] | passed | 0.24993 seconds | +./spec/policies/file_type_policy_spec.rb[1:5:1] | passed | 0.236 seconds | +./spec/policies/file_type_policy_spec.rb[1:5:2] | passed | 0.23167 seconds | +./spec/policies/file_type_policy_spec.rb[1:5:3] | passed | 0.26042 seconds | +./spec/policies/file_type_policy_spec.rb[1:6:1] | passed | 0.23111 seconds | +./spec/policies/file_type_policy_spec.rb[1:6:2] | passed | 0.23244 seconds | +./spec/policies/file_type_policy_spec.rb[1:6:3] | passed | 0.25396 seconds | +./spec/policies/file_type_policy_spec.rb[1:7:1] | passed | 0.23573 seconds | +./spec/policies/file_type_policy_spec.rb[1:7:2] | passed | 0.2287 seconds | +./spec/policies/file_type_policy_spec.rb[1:7:3] | passed | 0.25366 seconds | +./spec/policies/hint_policy_spec.rb[1:1:1] | passed | 0.45419 seconds | +./spec/policies/hint_policy_spec.rb[1:1:2] | passed | 0.49946 seconds | +./spec/policies/hint_policy_spec.rb[1:1:3] | passed | 0.45711 seconds | +./spec/policies/hint_policy_spec.rb[1:2:1] | passed | 0.44633 seconds | +./spec/policies/hint_policy_spec.rb[1:2:2] | passed | 0.44596 seconds | +./spec/policies/hint_policy_spec.rb[1:2:3] | passed | 0.46862 seconds | +./spec/policies/hint_policy_spec.rb[1:3:1] | passed | 0.43792 seconds | +./spec/policies/hint_policy_spec.rb[1:3:2] | passed | 0.44381 seconds | +./spec/policies/hint_policy_spec.rb[1:3:3] | passed | 0.44477 seconds | +./spec/policies/hint_policy_spec.rb[1:4:1] | passed | 0.45777 seconds | +./spec/policies/hint_policy_spec.rb[1:4:2] | passed | 0.48273 seconds | +./spec/policies/hint_policy_spec.rb[1:4:3] | passed | 0.46427 seconds | +./spec/policies/hint_policy_spec.rb[1:5:1] | passed | 0.45315 seconds | +./spec/policies/hint_policy_spec.rb[1:5:2] | passed | 0.44008 seconds | +./spec/policies/hint_policy_spec.rb[1:5:3] | passed | 0.46454 seconds | +./spec/policies/hint_policy_spec.rb[1:6:1] | passed | 0.45193 seconds | +./spec/policies/hint_policy_spec.rb[1:6:2] | passed | 0.44814 seconds | +./spec/policies/hint_policy_spec.rb[1:6:3] | passed | 0.45544 seconds | +./spec/policies/hint_policy_spec.rb[1:7:1] | passed | 0.43596 seconds | +./spec/policies/hint_policy_spec.rb[1:7:2] | passed | 0.45115 seconds | +./spec/policies/hint_policy_spec.rb[1:7:3] | passed | 0.47503 seconds | +./spec/policies/internal_user_policy_spec.rb[1:1:1] | passed | 0.07814 seconds | +./spec/policies/internal_user_policy_spec.rb[1:2:1] | passed | 0.07735 seconds | +./spec/policies/internal_user_policy_spec.rb[1:3:1] | passed | 0.08016 seconds | +./spec/policies/internal_user_policy_spec.rb[1:4:1] | passed | 0.07969 seconds | +./spec/policies/internal_user_policy_spec.rb[1:5:1] | passed | 0.08187 seconds | +./spec/policies/internal_user_policy_spec.rb[1:6:1] | passed | 0.08311 seconds | +./spec/policies/internal_user_policy_spec.rb[1:7:1:1] | passed | 0.09534 seconds | +./spec/policies/internal_user_policy_spec.rb[1:7:2:1] | passed | 0.10351 seconds | +./spec/policies/submission_policy_spec.rb[1:1:1] | passed | 0.08955 seconds | +./spec/policies/submission_policy_spec.rb[1:2:1] | passed | 0.05916 seconds | +./spec/policies/submission_policy_spec.rb[1:2:2] | passed | 0.07581 seconds | +./spec/policies/submission_policy_spec.rb[1:3:1] | passed | 0.06324 seconds | +./spec/policies/submission_policy_spec.rb[1:3:2] | passed | 0.103 seconds | +./spec/policies/submission_policy_spec.rb[1:4:1] | passed | 0.05359 seconds | +./spec/policies/submission_policy_spec.rb[1:4:2] | passed | 0.08136 seconds | +./spec/policies/submission_policy_spec.rb[1:5:1] | passed | 0.04924 seconds | +./spec/policies/submission_policy_spec.rb[1:5:2] | passed | 0.07912 seconds | +./spec/policies/submission_policy_spec.rb[1:6:1] | passed | 0.06206 seconds | +./spec/policies/submission_policy_spec.rb[1:6:2] | passed | 0.09128 seconds | +./spec/policies/submission_policy_spec.rb[1:7:1] | passed | 0.05582 seconds | +./spec/policies/submission_policy_spec.rb[1:7:2] | passed | 0.06429 seconds | +./spec/policies/submission_policy_spec.rb[1:8:1] | passed | 0.0566 seconds | +./spec/policies/submission_policy_spec.rb[1:8:2] | passed | 0.07754 seconds | +./spec/policies/submission_policy_spec.rb[1:9:1] | passed | 0.05464 seconds | +./spec/policies/submission_policy_spec.rb[1:9:2] | passed | 0.06892 seconds | +./spec/policies/submission_policy_spec.rb[1:10:1] | passed | 0.09052 seconds | +./spec/policies/team_policy_spec.rb[1:1:1] | passed | 0.12256 seconds | +./spec/policies/team_policy_spec.rb[1:1:2] | passed | 0.1089 seconds | +./spec/policies/team_policy_spec.rb[1:1:3] | passed | 0.13294 seconds | +./spec/policies/team_policy_spec.rb[1:2:1] | passed | 0.07738 seconds | +./spec/policies/team_policy_spec.rb[1:2:2] | passed | 0.08324 seconds | +./spec/policies/team_policy_spec.rb[1:2:3] | passed | 0.08442 seconds | +./spec/policies/team_policy_spec.rb[1:3:1] | passed | 0.07919 seconds | +./spec/policies/team_policy_spec.rb[1:3:2] | passed | 0.08424 seconds | +./spec/policies/team_policy_spec.rb[1:3:3] | passed | 0.08273 seconds | +./spec/policies/team_policy_spec.rb[1:4:1] | passed | 0.10554 seconds | +./spec/policies/team_policy_spec.rb[1:4:2] | passed | 0.08925 seconds | +./spec/policies/team_policy_spec.rb[1:4:3] | passed | 0.11947 seconds | +./spec/policies/team_policy_spec.rb[1:5:1] | passed | 0.10834 seconds | +./spec/policies/team_policy_spec.rb[1:5:2] | passed | 0.09801 seconds | +./spec/policies/team_policy_spec.rb[1:5:3] | passed | 0.12565 seconds | +./spec/policies/team_policy_spec.rb[1:6:1] | passed | 0.09479 seconds | +./spec/policies/team_policy_spec.rb[1:6:2] | passed | 0.07876 seconds | +./spec/policies/team_policy_spec.rb[1:6:3] | passed | 0.174 seconds | +./spec/policies/team_policy_spec.rb[1:7:1] | passed | 0.09027 seconds | +./spec/policies/team_policy_spec.rb[1:7:2] | passed | 0.11863 seconds | +./spec/policies/team_policy_spec.rb[1:7:3] | passed | 0.14471 seconds | +./spec/uploaders/file_uploader_spec.rb[1:1] | passed | 1.78 seconds | +./spec/uploaders/file_uploader_spec.rb[1:2] | passed | 1.77 seconds | +./spec/views/execution_environments/shell.html.slim_spec.rb[1:1] | passed | 0.44742 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:1] | passed | 1.74 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:2] | passed | 3.81 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:3] | passed | 1.73 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:4] | passed | 1.73 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:5] | passed | 1.72 seconds | diff --git a/spec/additional_setting_spec.rb b/spec/additional_setting_spec.rb new file mode 100644 index 00000000..3ff57d05 --- /dev/null +++ b/spec/additional_setting_spec.rb @@ -0,0 +1,3 @@ +RSpec.configure do |c| + c.example_status_persistence_file_path = "./spec/examples.txt" +end diff --git a/spec/examples.txt b/spec/examples.txt new file mode 100644 index 00000000..e69de29b From 284ab22228969e30a83ee14dc9a53ac0a9029b12 Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 2 Aug 2016 16:23:44 +0200 Subject: [PATCH 28/64] cleanup3 --- "\033" | 5 + .gitignore.save | 25 + app/assets/stylesheets/editor.css.scss | 15 - app/controllers/exercises_controller.rb | 8 - app/views/exercises/_ace.html.slim | 7 + app/views/exercises/_code_field.html.slim | 4 - app/views/exercises/_file_form.html.slim | 4 - app/views/exercises/_form.html.slim | 15 +- app/views/exercises/edit.html.slim | 3 - app/views/exercises/implement2.html.slim | 2 +- config/application.rb | 2 - examples.txt | 993 ++++++++++++++++++++++ spec/additional_setting_spec.rb | 3 + spec/examples.txt | 0 14 files changed, 1038 insertions(+), 48 deletions(-) create mode 100644 "\033" create mode 100644 .gitignore.save create mode 100644 app/views/exercises/_ace.html.slim create mode 100644 examples.txt create mode 100644 spec/additional_setting_spec.rb create mode 100644 spec/examples.txt diff --git "a/\033" "b/\033" new file mode 100644 index 00000000..8f1010d8 --- /dev/null +++ "b/\033" @@ -0,0 +1,5 @@ +=> [#, + #, + #, + #, + #] diff --git a/.gitignore.save b/.gitignore.save new file mode 100644 index 00000000..5f486cf1 --- /dev/null +++ b/.gitignore.save @@ -0,0 +1,25 @@ +/config/action_mailer.yml +/config/code_ocean.yml +/config/database.yml +/config/secrets.yml +/config/sendmail.yml +/config/smtp.yml +/config/*.production.yml +/coverage +/log +/public/assets +/public/uploads +/rubocop.html +/tmp +/vagrant/ +/.vagrant +*.sublime-* +/.idea +/.vagrant +*.iml +*.DS_Store + + +RSpec.configure do |c| + c.example_status_persistence_file_path = "./spec/examples.txt" +end diff --git a/app/assets/stylesheets/editor.css.scss b/app/assets/stylesheets/editor.css.scss index 602574d7..e41153e2 100644 --- a/app/assets/stylesheets/editor.css.scss +++ b/app/assets/stylesheets/editor.css.scss @@ -7,12 +7,6 @@ button i.fa-spin { width: 100%; } -.editor2 { - - height: 100%; - width: 100%; -} - .frame { display: none; height: 400px; @@ -22,15 +16,6 @@ button i.fa-spin { } } -.frame2 { - display: none; - height: 100px; - - audio, img, video { - max-width: 100%; - } -} - .score { display: none; } diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index a090e6a2..6499c99c 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -64,16 +64,8 @@ class ExercisesController < ApplicationController end def edit - redirect_to(@exercise, alert: t('exercises.implement.no_files')) unless @exercise.files.visible.exists? - @submission = current_user.submissions.where(exercise_id: @exercise.id).order('created_at DESC').first @files = (@submission ? @submission.collect_files : @exercise.files).select(&:visible).sort_by(&:name_with_extension) @paths = collect_paths(@files) - - if current_user.respond_to? :external_id - @user_id = current_user.external_id - else - @user_id = current_user.id - end end def import_proforma_xml diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_ace.html.slim new file mode 100644 index 00000000..9e141afc --- /dev/null +++ b/app/views/exercises/_ace.html.slim @@ -0,0 +1,7 @@ +#editor.panel-group.row data-exercise-id=@exercise.id + #files style=("") data-entries=FileTree.new(@files).to_js_tree + div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') + - @files.each do |file| + .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type + .editor-content.hidden data-file-id=file.ancestor_id = file.content + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id diff --git a/app/views/exercises/_code_field.html.slim b/app/views/exercises/_code_field.html.slim index c19f67f7..3ad55f16 100644 --- a/app/views/exercises/_code_field.html.slim +++ b/app/views/exercises/_code_field.html.slim @@ -1,10 +1,6 @@ - .form-group class="form-group-#{attribute.to_s.gsub('_', '-')}" = form.label(attribute, label) |   a.toggle-input data={text_initial: t('shared.upload_file'), text_toggled: t('shared.back')} href='#' = t('shared.upload_file') = form.text_area(attribute, class: 'code-field form-control original-input', rows: 16) - // Need to render content in ace editor instead of plain text - /= render('editor_frame', exercise: e, file: @files) = form.file_field(attribute, class: 'alternative-input form-control', disabled: true) - diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 1213ae55..7bb4cd27 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,7 +1,4 @@ - id = f.object.id - - - li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" @@ -40,4 +37,3 @@ li.panel.panel-default = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) - /= render('form2', exercise: @exercise, file: @files) diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 5d824b19..f69e7d43 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -33,19 +33,12 @@ = f.check_box(:allow_file_creation) = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') - - - - - = render('form2', exercise: @exercise, file: @files) - - - - + //render ace editor for not hidden files + = render('ace', exercise: @exercise, file: @files) ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form, exercise: @exercise, file: @files) + = render('file_form', f: files_form) a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| - = render('file_form', f: files_form, exercise: @exercise, file: @files) + = render('file_form', f: files_form) .actions = render('shared/submit_button', f: f, object: @exercise) diff --git a/app/views/exercises/edit.html.slim b/app/views/exercises/edit.html.slim index 88c6ff2d..6681eff5 100644 --- a/app/views/exercises/edit.html.slim +++ b/app/views/exercises/edit.html.slim @@ -1,6 +1,3 @@ h1 = @exercise -/= render('form') - - = render('form', exercise: @exercise, files: @files) diff --git a/app/views/exercises/implement2.html.slim b/app/views/exercises/implement2.html.slim index 9e141afc..7a843dfd 100644 --- a/app/views/exercises/implement2.html.slim +++ b/app/views/exercises/implement2.html.slim @@ -4,4 +4,4 @@ - @files.each do |file| .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-id=file.id diff --git a/config/application.rb b/config/application.rb index b450c891..4b2a543a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,8 +22,6 @@ module CodeOcean # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Berlin' - - config.log_level = :warn # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] diff --git a/examples.txt b/examples.txt new file mode 100644 index 00000000..185f2807 --- /dev/null +++ b/examples.txt @@ -0,0 +1,993 @@ +example_id | status | run_time | +------------------------------------------------------------------------ | ------- | ---------------------- | +./spec/concerns/lti_spec.rb[1:1:1] | passed | 0.05388 seconds | +./spec/concerns/lti_spec.rb[1:2:1] | passed | 0.05226 seconds | +./spec/concerns/lti_spec.rb[1:3:1:1] | passed | 0.05346 seconds | +./spec/concerns/lti_spec.rb[1:3:2:1] | passed | 0.05029 seconds | +./spec/concerns/lti_spec.rb[1:3:3:1] | passed | 0.04876 seconds | +./spec/concerns/lti_spec.rb[1:4:1] | passed | 0.04732 seconds | +./spec/concerns/lti_spec.rb[1:5:1:1] | passed | 0.05313 seconds | +./spec/concerns/lti_spec.rb[1:5:1:2] | passed | 0.04713 seconds | +./spec/concerns/lti_spec.rb[1:5:2:1] | passed | 0.04836 seconds | +./spec/concerns/lti_spec.rb[1:5:2:2] | passed | 0.05332 seconds | +./spec/concerns/lti_spec.rb[1:5:2:3] | passed | 0.04993 seconds | +./spec/concerns/lti_spec.rb[1:6:1:1] | passed | 0.05333 seconds | +./spec/concerns/lti_spec.rb[1:6:2:1:1:1] | passed | 0.0603 seconds | +./spec/concerns/lti_spec.rb[1:6:2:1:2:1] | passed | 0.06167 seconds | +./spec/concerns/lti_spec.rb[1:6:2:1:2:2] | passed | 0.06537 seconds | +./spec/concerns/lti_spec.rb[1:6:2:2:1] | passed | 0.05288 seconds | +./spec/concerns/lti_spec.rb[1:7:1] | passed | 0.07108 seconds | +./spec/concerns/lti_spec.rb[1:7:2] | passed | 0.06749 seconds | +./spec/concerns/lti_spec.rb[1:8:1] | passed | 0.04952 seconds | +./spec/concerns/submission_scoring_spec.rb[1:1:1] | passed | 0.08771 seconds | +./spec/concerns/submission_scoring_spec.rb[1:2:1] | passed | 0.07049 seconds | +./spec/concerns/submission_scoring_spec.rb[1:2:2] | passed | 0.07268 seconds | +./spec/controllers/admin/dashboard_controller_spec.rb[1:1:1:1] | passed | 0.42948 seconds | +./spec/controllers/admin/dashboard_controller_spec.rb[1:1:1:2] | passed | 0.66093 seconds | +./spec/controllers/admin/dashboard_controller_spec.rb[1:1:2:1] | passed | 0.28222 seconds | +./spec/controllers/admin/dashboard_controller_spec.rb[1:1:2:2] | passed | 0.3202 seconds | +./spec/controllers/application_controller_spec.rb[1:1:1:1] | passed | 0.3774 seconds | +./spec/controllers/application_controller_spec.rb[1:1:2:1] | passed | 0.68006 seconds | +./spec/controllers/application_controller_spec.rb[1:2:1] | passed | 0.29975 seconds | +./spec/controllers/application_controller_spec.rb[1:2:2] | passed | 0.31365 seconds | +./spec/controllers/application_controller_spec.rb[1:3:1:1:1] | passed | 0.29236 seconds | +./spec/controllers/application_controller_spec.rb[1:3:1:2:1] | passed | 0.30014 seconds | +./spec/controllers/application_controller_spec.rb[1:3:2:1] | passed | 0.9501 seconds | +./spec/controllers/application_controller_spec.rb[1:3:3:1] | passed | 0.36802 seconds | +./spec/controllers/application_controller_spec.rb[1:4:1] | passed | 0.42095 seconds | +./spec/controllers/application_controller_spec.rb[1:4:2] | passed | 0.31325 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:1] | passed | 2.23 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:2] | passed | 2.63 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:3] | passed | 2.4 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:4] | passed | 2.3 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:1] | passed | 2.02 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:2] | passed | 2.24 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:3] | passed | 2.06 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:2:1] | passed | 2.29 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:2:2] | passed | 3.45 seconds | +./spec/controllers/code_ocean/files_controller_spec.rb[1:2:3] | passed | 2.01 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:1:1] | passed | 0.58056 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:1:2] | passed | 0.61798 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:1:3] | passed | 0.50093 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:2:1] | passed | 0.81274 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:2:2] | passed | 0.51096 seconds | +./spec/controllers/consumers_controller_spec.rb[1:1:2:3] | passed | 0.83042 seconds | +./spec/controllers/consumers_controller_spec.rb[1:2:1] | passed | 0.81097 seconds | +./spec/controllers/consumers_controller_spec.rb[1:2:2] | passed | 0.60336 seconds | +./spec/controllers/consumers_controller_spec.rb[1:2:3] | passed | 0.48202 seconds | +./spec/controllers/consumers_controller_spec.rb[1:3:1] | passed | 0.62955 seconds | +./spec/controllers/consumers_controller_spec.rb[1:3:2] | passed | 0.54483 seconds | +./spec/controllers/consumers_controller_spec.rb[1:3:3] | passed | 0.5219 seconds | +./spec/controllers/consumers_controller_spec.rb[1:4:1] | passed | 0.53688 seconds | +./spec/controllers/consumers_controller_spec.rb[1:4:2] | passed | 0.68758 seconds | +./spec/controllers/consumers_controller_spec.rb[1:4:3] | passed | 0.64265 seconds | +./spec/controllers/consumers_controller_spec.rb[1:5:1] | passed | 0.52463 seconds | +./spec/controllers/consumers_controller_spec.rb[1:5:2] | passed | 0.52728 seconds | +./spec/controllers/consumers_controller_spec.rb[1:5:3] | passed | 0.58288 seconds | +./spec/controllers/consumers_controller_spec.rb[1:6:1] | passed | 0.52539 seconds | +./spec/controllers/consumers_controller_spec.rb[1:6:2] | passed | 0.50418 seconds | +./spec/controllers/consumers_controller_spec.rb[1:6:3] | passed | 0.63746 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:1:1] | passed | 0.53542 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:1:2] | passed | 0.5016 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:2:1] | passed | 0.55682 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:2:2] | passed | 0.53387 seconds | +./spec/controllers/consumers_controller_spec.rb[1:7:2:3] | passed | 0.55788 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:1] | failed | 1.96 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:2] | failed | 2.36 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:3] | failed | 1.18 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:4] | failed | 1.27 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:1:5] | failed | 1.18 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:2:1] | failed | 1.39 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:2:2] | failed | 0.8815 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:2:3] | failed | 0.86151 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:1:2:4] | failed | 1.39 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:2:1] | failed | 1.96 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:2:2] | failed | 1.78 seconds | +./spec/controllers/errors_controller_spec.rb[1:1:2:3] | failed | 1.11 seconds | +./spec/controllers/errors_controller_spec.rb[1:2:1] | failed | 0.79434 seconds | +./spec/controllers/errors_controller_spec.rb[1:2:2] | failed | 0.87153 seconds | +./spec/controllers/errors_controller_spec.rb[1:2:3] | failed | 1.99 seconds | +./spec/controllers/errors_controller_spec.rb[1:2:4] | failed | 1.97 seconds | +./spec/controllers/errors_controller_spec.rb[1:3:1] | failed | 0.90122 seconds | +./spec/controllers/errors_controller_spec.rb[1:3:2] | failed | 0.84712 seconds | +./spec/controllers/errors_controller_spec.rb[1:3:3] | failed | 1.23 seconds | +./spec/controllers/errors_controller_spec.rb[1:3:4] | failed | 1.12 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:1:1] | passed | 0.70875 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:1:2] | passed | 0.54489 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:1:3] | passed | 0.89081 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:1:4] | passed | 0.51258 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:2:1] | passed | 0.52053 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:2:2] | passed | 0.48337 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:1:2:3] | passed | 0.69658 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:2:1] | passed | 0.92356 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:2:2] | passed | 1.26 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:2:3] | passed | 0.88205 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:3:1] | passed | 0.94887 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:3:2] | passed | 0.91546 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:3:3] | passed | 0.98788 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:3:4] | passed | 1.07 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:4:1] | passed | 1.05 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:4:2] | passed | 0.89247 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:4:3] | passed | 0.88503 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:4:4] | passed | 1 second | +./spec/controllers/execution_environments_controller_spec.rb[1:5:1] | passed | 0.47142 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:5:2] | passed | 0.5298 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:5:3] | passed | 0.5247 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:6:1] | passed | 0.52958 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:6:2] | passed | 0.75957 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:6:3] | passed | 0.57441 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:6:4] | passed | 0.51306 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:7:1:1] | passed | 0.4847 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:7:2:1] | passed | 0.47169 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:7:2:2] | passed | 0.53817 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:7:2:3] | passed | 0.49187 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:8:1] | passed | 0.90694 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:8:2] | passed | 0.90327 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:8:3] | passed | 0.92948 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:9:1] | passed | 0.94092 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:9:2] | passed | 1.01 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:9:3] | passed | 0.87026 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:10:1] | passed | 1.01 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:10:2] | passed | 1.13 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:10:3] | passed | 0.90735 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:1:1] | passed | 0.97962 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:1:2] | passed | 1.02 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:1:3] | passed | 1.04 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:2:1] | passed | 1.05 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:2:2] | passed | 1.05 seconds | +./spec/controllers/execution_environments_controller_spec.rb[1:11:2:3] | passed | 0.97916 seconds | +./spec/controllers/exercises_controller_spec.rb[1:1:1] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:1:2] | passed | 1.25 seconds | +./spec/controllers/exercises_controller_spec.rb[1:1:3] | passed | 1.15 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:1:1] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:1:2] | passed | 1.14 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:1:3] | passed | 1.04 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:1:4] | passed | 1.18 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:2:1] | passed | 1.12 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:2:2] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:2:2:3] | passed | 1.17 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:1:1] | passed | 1.05 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:1:2] | passed | 1.15 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:1:3] | passed | 1.12 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:1:1] | passed | 2.91 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:2:1:1] | passed | 3.18 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:2:1:2] | passed | 3.23 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:2:2:1] | passed | 2.76 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:2:2:2:2] | passed | 2.79 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:3:1] | passed | 0.90433 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:3:2] | passed | 0.68602 seconds | +./spec/controllers/exercises_controller_spec.rb[1:3:3:3] | passed | 0.72294 seconds | +./spec/controllers/exercises_controller_spec.rb[1:4:1] | passed | 1.13 seconds | +./spec/controllers/exercises_controller_spec.rb[1:4:2] | passed | 1.63 seconds | +./spec/controllers/exercises_controller_spec.rb[1:4:3] | passed | 1.12 seconds | +./spec/controllers/exercises_controller_spec.rb[1:5:1] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:5:2] | passed | 1.08 seconds | +./spec/controllers/exercises_controller_spec.rb[1:5:3] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:1] | passed | 2.07 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:2:1] | passed | 2.01 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:3:1] | passed | 2.05 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:4] | passed | 2.08 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:1:5] | passed | 2.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:2:1] | passed | 1.09 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:2:2] | passed | 1.35 seconds | +./spec/controllers/exercises_controller_spec.rb[1:6:2:3] | passed | 1.31 seconds | +./spec/controllers/exercises_controller_spec.rb[1:7:1] | passed | 0.45366 seconds | +./spec/controllers/exercises_controller_spec.rb[1:7:2] | passed | 0.56032 seconds | +./spec/controllers/exercises_controller_spec.rb[1:7:3] | passed | 0.46597 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:1] | passed | 0.51851 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:2] | passed | 0.52441 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:3] | passed | 0.50381 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:4] | passed | 0.56026 seconds | +./spec/controllers/exercises_controller_spec.rb[1:8:5] | passed | 0.50493 seconds | +./spec/controllers/exercises_controller_spec.rb[1:9:1:1] | passed | 1.07 seconds | +./spec/controllers/exercises_controller_spec.rb[1:9:1:2] | passed | 1.14 seconds | +./spec/controllers/exercises_controller_spec.rb[1:9:1:3] | passed | 1.33 seconds | +./spec/controllers/exercises_controller_spec.rb[1:10:1:1] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:10:1:2] | passed | 1.14 seconds | +./spec/controllers/exercises_controller_spec.rb[1:10:1:3] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:11:1] | passed | 1.25 seconds | +./spec/controllers/exercises_controller_spec.rb[1:11:2] | passed | 1.02 seconds | +./spec/controllers/exercises_controller_spec.rb[1:11:3] | passed | 1.07 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:1:1] | passed | 1.16 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:1:2] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:1:3] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:1:4] | passed | 1.11 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:2:1] | passed | 1.19 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:2:2] | passed | 1.15 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:2:3] | passed | 1.25 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:1:2:4] | passed | 1.35 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:2:1] | passed | 1.24 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:2:2] | passed | 1.1 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:2:3] | passed | 1.07 seconds | +./spec/controllers/exercises_controller_spec.rb[1:12:2:4] | passed | 1.05 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:1:1] | passed | 1.92 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:1:2] | passed | 1.66 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:2:1] | passed | 1.13 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:2:2] | passed | 1.18 seconds | +./spec/controllers/exercises_controller_spec.rb[1:13:2:3] | passed | 1.22 seconds | +./spec/controllers/external_users_controller_spec.rb[1:1:1] | passed | 0.47717 seconds | +./spec/controllers/external_users_controller_spec.rb[1:1:2] | passed | 0.3431 seconds | +./spec/controllers/external_users_controller_spec.rb[1:1:3] | passed | 0.41034 seconds | +./spec/controllers/external_users_controller_spec.rb[1:2:1] | passed | 0.47422 seconds | +./spec/controllers/external_users_controller_spec.rb[1:2:2] | passed | 0.35718 seconds | +./spec/controllers/external_users_controller_spec.rb[1:2:3] | passed | 0.35027 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:1:1] | passed | 0.51875 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:1:2] | passed | 0.49511 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:1:3] | passed | 0.65131 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:1:4] | passed | 0.65157 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:2:1] | passed | 0.58255 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:2:2] | passed | 0.54964 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:2:3] | passed | 0.70094 seconds | +./spec/controllers/file_types_controller_spec.rb[1:1:2:4] | passed | 0.52823 seconds | +./spec/controllers/file_types_controller_spec.rb[1:2:1] | passed | 0.7025 seconds | +./spec/controllers/file_types_controller_spec.rb[1:2:2] | passed | 0.81924 seconds | +./spec/controllers/file_types_controller_spec.rb[1:2:3] | passed | 1.05 seconds | +./spec/controllers/file_types_controller_spec.rb[1:3:1] | passed | 0.82095 seconds | +./spec/controllers/file_types_controller_spec.rb[1:3:2] | passed | 0.97098 seconds | +./spec/controllers/file_types_controller_spec.rb[1:3:3] | passed | 0.70247 seconds | +./spec/controllers/file_types_controller_spec.rb[1:3:4] | passed | 0.70796 seconds | +./spec/controllers/file_types_controller_spec.rb[1:4:1] | passed | 0.79963 seconds | +./spec/controllers/file_types_controller_spec.rb[1:4:2] | passed | 0.52003 seconds | +./spec/controllers/file_types_controller_spec.rb[1:4:3] | passed | 0.55009 seconds | +./spec/controllers/file_types_controller_spec.rb[1:5:1] | passed | 0.48244 seconds | +./spec/controllers/file_types_controller_spec.rb[1:5:2] | passed | 0.57857 seconds | +./spec/controllers/file_types_controller_spec.rb[1:5:3] | passed | 0.52193 seconds | +./spec/controllers/file_types_controller_spec.rb[1:5:4] | passed | 0.49106 seconds | +./spec/controllers/file_types_controller_spec.rb[1:6:1] | passed | 0.67506 seconds | +./spec/controllers/file_types_controller_spec.rb[1:6:2] | passed | 0.71581 seconds | +./spec/controllers/file_types_controller_spec.rb[1:6:3] | passed | 0.75251 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:1:1] | passed | 1.12 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:1:2] | passed | 0.70886 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:1:3] | passed | 0.72567 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:2:1] | passed | 0.70726 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:2:2] | passed | 0.70036 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:2:3] | passed | 0.96331 seconds | +./spec/controllers/file_types_controller_spec.rb[1:7:2:4] | passed | 0.72221 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:1:1] | passed | 0.89467 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:1:2] | passed | 1.01 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:1:3] | passed | 0.96557 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:1:4] | passed | 1.05 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:2:1] | passed | 0.94989 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:2:2] | passed | 1.33 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:2:3] | passed | 0.88133 seconds | +./spec/controllers/hints_controller_spec.rb[1:1:2:4] | passed | 1.05 seconds | +./spec/controllers/hints_controller_spec.rb[1:2:1] | passed | 1.3 seconds | +./spec/controllers/hints_controller_spec.rb[1:2:2] | passed | 1.4 seconds | +./spec/controllers/hints_controller_spec.rb[1:2:3] | passed | 1.61 seconds | +./spec/controllers/hints_controller_spec.rb[1:2:4] | passed | 1.52 seconds | +./spec/controllers/hints_controller_spec.rb[1:3:1] | passed | 1.38 seconds | +./spec/controllers/hints_controller_spec.rb[1:3:2] | passed | 1.36 seconds | +./spec/controllers/hints_controller_spec.rb[1:3:3] | passed | 1.29 seconds | +./spec/controllers/hints_controller_spec.rb[1:3:4] | passed | 1.78 seconds | +./spec/controllers/hints_controller_spec.rb[1:4:1] | passed | 0.95889 seconds | +./spec/controllers/hints_controller_spec.rb[1:4:2] | passed | 0.90212 seconds | +./spec/controllers/hints_controller_spec.rb[1:4:3] | passed | 0.90994 seconds | +./spec/controllers/hints_controller_spec.rb[1:4:4] | passed | 0.88076 seconds | +./spec/controllers/hints_controller_spec.rb[1:5:1] | passed | 1.05 seconds | +./spec/controllers/hints_controller_spec.rb[1:5:2] | passed | 1.27 seconds | +./spec/controllers/hints_controller_spec.rb[1:5:3] | passed | 0.83885 seconds | +./spec/controllers/hints_controller_spec.rb[1:5:4] | passed | 1.13 seconds | +./spec/controllers/hints_controller_spec.rb[1:6:1] | passed | 1.82 seconds | +./spec/controllers/hints_controller_spec.rb[1:6:2] | passed | 1.31 seconds | +./spec/controllers/hints_controller_spec.rb[1:6:3] | passed | 1.3 seconds | +./spec/controllers/hints_controller_spec.rb[1:6:4] | passed | 1.34 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:1:1] | passed | 1.74 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:1:2] | passed | 1.31 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:1:3] | passed | 1.36 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:2:1] | passed | 1.31 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:2:2] | passed | 1.39 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:2:3] | passed | 1.36 seconds | +./spec/controllers/hints_controller_spec.rb[1:7:2:4] | passed | 1.28 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:1:1] | passed | 0.93653 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:2:1] | passed | 1.07 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:3:1] | passed | 0.85398 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:3:2] | passed | 1.02 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:1:3:3] | passed | 0.90663 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:1:1] | passed | 0.9466 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:2:1] | passed | 0.94167 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:3:1] | passed | 0.8878 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:3:2] | passed | 1 second | +./spec/controllers/internal_users_controller_spec.rb[1:2:3:3] | passed | 0.88129 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:4:1] | passed | 1.02 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:4:2] | passed | 1 second | +./spec/controllers/internal_users_controller_spec.rb[1:2:4:3] | passed | 1.04 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:5:1] | passed | 1.19 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:5:2] | passed | 1.04 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:5:3] | passed | 1.27 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:2:5:4] | passed | 1.11 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:1] | passed | 0.74172 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:2] | passed | 0.7571 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:3] | passed | 0.72091 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:4] | passed | 0.76376 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:5] | passed | 1.01 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:1:6] | passed | 0.75806 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:2:1] | passed | 0.67078 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:2:2] | passed | 0.69978 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:3:2:3] | passed | 0.7253 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:4:1] | passed | 0.70981 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:4:2] | passed | 1.16 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:4:3] | passed | 0.95224 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:5:1] | passed | 1.19 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:5:2] | passed | 0.74226 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:5:3] | passed | 0.69343 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:6:1:1] | passed | 0.7506 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:6:1:2] | passed | 0.94879 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:6:2:1] | passed | 0.72029 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:6:2:2] | passed | 0.80326 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:7:1:1] | passed | 0.71071 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:7:1:2] | passed | 0.76412 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:7:2:1] | passed | 0.71613 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:7:2:2] | passed | 0.75737 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:8:1] | passed | 0.72195 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:8:2] | passed | 0.75732 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:8:3] | passed | 0.71156 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:9:1] | passed | 1.64 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:9:2] | passed | 0.75199 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:9:3] | passed | 0.71997 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:10:1:1] | passed | 0.67374 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:10:2:1] | passed | 0.89616 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:10:2:2] | passed | 0.89143 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:10:2:3] | passed | 0.68439 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:1:1] | passed | 0.75883 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:1] | passed | 1.12 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:2] | passed | 1.34 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:3] | passed | 1.17 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:1] | passed | 0.94258 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:2] | passed | 0.92263 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:3] | passed | 1.19 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:12:1] | passed | 0.71737 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:12:2] | passed | 0.71684 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:12:3] | passed | 0.74044 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:1:1] | passed | 0.71091 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:1:2] | passed | 1.55 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:2:1] | passed | 0.67754 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:2:2] | passed | 0.70417 seconds | +./spec/controllers/internal_users_controller_spec.rb[1:13:2:3] | passed | 0.71035 seconds | +./spec/controllers/sessions_controller_spec.rb[1:1:1:1] | passed | 1.26 seconds | +./spec/controllers/sessions_controller_spec.rb[1:1:1:2] | passed | 0.68359 seconds | +./spec/controllers/sessions_controller_spec.rb[1:1:2:1] | passed | 0.79514 seconds | +./spec/controllers/sessions_controller_spec.rb[1:1:2:2] | passed | 0.52831 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:1:1] | passed | 0.37032 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:2:1] | passed | 0.40997 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:3:1] | passed | 0.26585 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:4:1] | passed | 0.47495 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:5:1] | passed | 0.63658 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:1] | passed | 1.24 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:2] | passed | 0.99964 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:3] | passed | 1.08 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:4] | passed | 1.08 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:5] | passed | 1.25 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:6:1] | passed | 1.25 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:7:1] | passed | 0.93837 seconds | +./spec/controllers/sessions_controller_spec.rb[1:2:6:8] | passed | 1.75 seconds | +./spec/controllers/sessions_controller_spec.rb[1:3:1:1] | passed | 0.33515 seconds | +./spec/controllers/sessions_controller_spec.rb[1:3:1:2] | passed | 0.39173 seconds | +./spec/controllers/sessions_controller_spec.rb[1:3:2:1] | passed | 0.33611 seconds | +./spec/controllers/sessions_controller_spec.rb[1:3:2:2] | passed | 0.35244 seconds | +./spec/controllers/sessions_controller_spec.rb[1:4:1] | passed | 1.23 seconds | +./spec/controllers/sessions_controller_spec.rb[1:4:2] | passed | 0.97189 seconds | +./spec/controllers/sessions_controller_spec.rb[1:4:3] | passed | 0.93231 seconds | +./spec/controllers/sessions_controller_spec.rb[1:5:1:1] | passed | 0.84563 seconds | +./spec/controllers/sessions_controller_spec.rb[1:5:1:2] | passed | 0.38509 seconds | +./spec/controllers/sessions_controller_spec.rb[1:5:2:1] | passed | 0.32513 seconds | +./spec/controllers/sessions_controller_spec.rb[1:5:2:2] | passed | 0.44308 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:1:1] | passed | 1.5 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:1:2] | passed | 1.59 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:1:3] | passed | 1.48 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:1:4] | passed | 1.43 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:2:1] | passed | 0.54507 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:2:2] | passed | 0.55113 seconds | +./spec/controllers/submissions_controller_spec.rb[1:1:2:3] | passed | 0.50523 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:1:1] | passed | 2.4 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:1] | passed | 2.92 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:2] | passed | 3.2 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:3] | passed | 3.27 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:4] | passed | 3.4 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:1:5] | passed | 3.52 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:1] | passed | 3.74 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:2] | passed | 3.1 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:3] | passed | 3.82 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:4] | passed | 3.25 seconds | +./spec/controllers/submissions_controller_spec.rb[1:2:2:2:5] | passed | 3 seconds | +./spec/controllers/submissions_controller_spec.rb[1:3:1] | passed | 0.80581 seconds | +./spec/controllers/submissions_controller_spec.rb[1:3:2] | passed | 0.49216 seconds | +./spec/controllers/submissions_controller_spec.rb[1:3:3] | passed | 0.50166 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:1:1] | passed | 2.07 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:1] | passed | 2.88 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:2] | passed | 3.44 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:3] | passed | 3 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:4] | passed | 3.42 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:1:5] | passed | 3.56 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:1] | passed | 3.5 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:2] | passed | 2.96 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:3] | passed | 3.11 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:4] | passed | 2.76 seconds | +./spec/controllers/submissions_controller_spec.rb[1:4:2:2:5] | passed | 3.47 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:1:1] | failed | 2.02 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:1:2] | failed | 2.21 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:1:3] | failed | 1.99 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:1:4] | failed | 2.01 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:2:1:1] | pending | 2.07 seconds | +./spec/controllers/submissions_controller_spec.rb[1:5:2:2:1] | pending | 2.15 seconds | +./spec/controllers/submissions_controller_spec.rb[1:6:1] | passed | 2.13 seconds | +./spec/controllers/submissions_controller_spec.rb[1:6:2] | passed | 2.09 seconds | +./spec/controllers/submissions_controller_spec.rb[1:6:3] | passed | 2 seconds | +./spec/controllers/submissions_controller_spec.rb[1:7:1] | passed | 2.07 seconds | +./spec/controllers/submissions_controller_spec.rb[1:7:2] | passed | 2.11 seconds | +./spec/controllers/submissions_controller_spec.rb[1:7:3] | passed | 2.24 seconds | +./spec/controllers/submissions_controller_spec.rb[1:8:1:1] | passed | 2.3 seconds | +./spec/controllers/submissions_controller_spec.rb[1:8:1:2] | passed | 2.03 seconds | +./spec/controllers/submissions_controller_spec.rb[1:8:2:1] | passed | 2.45 seconds | +./spec/controllers/submissions_controller_spec.rb[1:8:2:2] | passed | 2.03 seconds | +./spec/controllers/submissions_controller_spec.rb[1:9:1] | passed | 2.02 seconds | +./spec/controllers/submissions_controller_spec.rb[1:9:2] | passed | 2.08 seconds | +./spec/controllers/submissions_controller_spec.rb[1:9:3] | passed | 2.12 seconds | +./spec/controllers/submissions_controller_spec.rb[1:9:4] | passed | 2.21 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:1:1] | passed | 0.52306 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:1:2] | passed | 0.85799 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:1:3] | passed | 0.81074 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:1:4] | passed | 0.43519 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:2:1] | passed | 0.46153 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:2:2] | passed | 0.42009 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:2:3] | passed | 0.52245 seconds | +./spec/controllers/submissions_controller_spec.rb[1:10:2:4] | passed | 0.47165 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:1:1] | passed | 0.50978 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:1:2] | passed | 0.55994 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:1:3] | passed | 0.55707 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:2:1] | passed | 0.70031 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:2:2] | passed | 0.5281 seconds | +./spec/controllers/teams_controller_spec.rb[1:1:2:3] | passed | 0.47249 seconds | +./spec/controllers/teams_controller_spec.rb[1:2:1] | passed | 1.17 seconds | +./spec/controllers/teams_controller_spec.rb[1:2:2] | passed | 1.96 seconds | +./spec/controllers/teams_controller_spec.rb[1:2:3] | passed | 1.26 seconds | +./spec/controllers/teams_controller_spec.rb[1:3:1] | passed | 1.4 seconds | +./spec/controllers/teams_controller_spec.rb[1:3:2] | passed | 1.22 seconds | +./spec/controllers/teams_controller_spec.rb[1:3:3] | passed | 1.22 seconds | +./spec/controllers/teams_controller_spec.rb[1:4:1] | passed | 0.93686 seconds | +./spec/controllers/teams_controller_spec.rb[1:4:2] | passed | 0.50114 seconds | +./spec/controllers/teams_controller_spec.rb[1:4:3] | passed | 0.44898 seconds | +./spec/controllers/teams_controller_spec.rb[1:5:1] | passed | 0.5113 seconds | +./spec/controllers/teams_controller_spec.rb[1:5:2] | passed | 0.49347 seconds | +./spec/controllers/teams_controller_spec.rb[1:5:3] | passed | 0.68706 seconds | +./spec/controllers/teams_controller_spec.rb[1:6:1] | passed | 1.2 seconds | +./spec/controllers/teams_controller_spec.rb[1:6:2] | passed | 1.21 seconds | +./spec/controllers/teams_controller_spec.rb[1:6:3] | passed | 1.24 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:1:1] | passed | 1.23 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:1:2] | passed | 1.87 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:2:1] | passed | 1.17 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:2:2] | passed | 1.22 seconds | +./spec/controllers/teams_controller_spec.rb[1:7:2:3] | passed | 1.43 seconds | +./spec/features/authentication_spec.rb[1:1:1] | passed | 0.49429 seconds | +./spec/features/authentication_spec.rb[1:1:2:1] | passed | 0.60044 seconds | +./spec/features/authentication_spec.rb[1:1:3:1] | passed | 0.48862 seconds | +./spec/features/authentication_spec.rb[1:2:1] | passed | 0.43804 seconds | +./spec/features/authentication_spec.rb[1:2:2] | passed | 0.45646 seconds | +./spec/features/authentication_spec.rb[1:2:3] | passed | 0.47432 seconds | +./spec/features/authorization_spec.rb[1:1:1] | passed | 0.38984 seconds | +./spec/features/authorization_spec.rb[1:1:2] | passed | 0.56208 seconds | +./spec/features/authorization_spec.rb[1:1:3] | passed | 0.41139 seconds | +./spec/features/authorization_spec.rb[1:1:4] | passed | 0.42773 seconds | +./spec/features/authorization_spec.rb[1:1:5] | passed | 0.34909 seconds | +./spec/features/authorization_spec.rb[1:1:6] | passed | 0.38089 seconds | +./spec/features/authorization_spec.rb[1:2:1] | passed | 0.10333 seconds | +./spec/features/authorization_spec.rb[1:2:2] | failed | 0.23435 seconds | +./spec/features/authorization_spec.rb[1:2:3] | passed | 0.10429 seconds | +./spec/features/authorization_spec.rb[1:2:4] | passed | 0.16712 seconds | +./spec/features/authorization_spec.rb[1:2:5] | passed | 0.10363 seconds | +./spec/features/authorization_spec.rb[1:2:6] | passed | 0.10498 seconds | +./spec/features/authorization_spec.rb[1:3:1] | passed | 0.28455 seconds | +./spec/features/authorization_spec.rb[1:3:2] | passed | 0.29486 seconds | +./spec/features/authorization_spec.rb[1:3:3] | passed | 0.44396 seconds | +./spec/features/authorization_spec.rb[1:3:4] | passed | 0.30501 seconds | +./spec/features/authorization_spec.rb[1:3:5] | passed | 0.33616 seconds | +./spec/features/authorization_spec.rb[1:3:6] | passed | 0.27512 seconds | +./spec/features/editor_spec.rb[1:1] | failed | 0.91726 seconds | +./spec/features/editor_spec.rb[1:2:1] | failed | 0.38425 seconds | +./spec/features/editor_spec.rb[1:3:1] | failed | 0.3683 seconds | +./spec/features/editor_spec.rb[1:3:2] | failed | 0.35491 seconds | +./spec/features/editor_spec.rb[1:3:3:1:1:1] | failed | 0.35493 seconds | +./spec/features/editor_spec.rb[1:3:3:1:2:1] | failed | 0.35738 seconds | +./spec/features/editor_spec.rb[1:3:3:1:3:1] | failed | 0.36695 seconds | +./spec/features/editor_spec.rb[1:3:3:2:1] | failed | 0.49427 seconds | +./spec/features/editor_spec.rb[1:4:1] | failed | 0.38213 seconds | +./spec/features/factories_spec.rb[1:1] | passed | 30.81 seconds | +./spec/helpers/admin/dashboard_helper_spec.rb[1:1:1] | passed | 0.04949 seconds | +./spec/helpers/admin/dashboard_helper_spec.rb[1:2:1] | passed | 0.4322 seconds | +./spec/helpers/admin/dashboard_helper_spec.rb[1:2:2] | passed | 0.42845 seconds | +./spec/helpers/admin/dashboard_helper_spec.rb[1:2:3] | passed | 0.43619 seconds | +./spec/helpers/application_helper_spec.rb[1:1:1:1] | passed | 0.04601 seconds | +./spec/helpers/application_helper_spec.rb[1:1:1:2] | passed | 0.05083 seconds | +./spec/helpers/application_helper_spec.rb[1:1:2:1] | passed | 0.04312 seconds | +./spec/helpers/application_helper_spec.rb[1:2:1] | passed | 0.05053 seconds | +./spec/helpers/application_helper_spec.rb[1:3:1] | passed | 0.04669 seconds | +./spec/helpers/application_helper_spec.rb[1:4:1] | passed | 0.05579 seconds | +./spec/helpers/application_helper_spec.rb[1:5:1:1] | passed | 0.04768 seconds | +./spec/helpers/application_helper_spec.rb[1:5:1:2] | passed | 0.05455 seconds | +./spec/helpers/application_helper_spec.rb[1:5:1:3] | passed | 0.0449 seconds | +./spec/helpers/application_helper_spec.rb[1:5:2:1] | passed | 0.04644 seconds | +./spec/helpers/application_helper_spec.rb[1:5:2:2] | passed | 0.05222 seconds | +./spec/helpers/application_helper_spec.rb[1:5:2:3] | passed | 0.04625 seconds | +./spec/helpers/application_helper_spec.rb[1:6:1] | passed | 0.04555 seconds | +./spec/helpers/application_helper_spec.rb[1:7:1:1] | passed | 0.0475 seconds | +./spec/helpers/application_helper_spec.rb[1:7:1:2] | passed | 0.04511 seconds | +./spec/helpers/application_helper_spec.rb[1:7:2:1] | passed | 0.05068 seconds | +./spec/helpers/application_helper_spec.rb[1:7:2:2] | passed | 0.04573 seconds | +./spec/helpers/application_helper_spec.rb[1:7:3:1] | passed | 0.05091 seconds | +./spec/helpers/application_helper_spec.rb[1:7:3:2] | passed | 0.05068 seconds | +./spec/helpers/application_helper_spec.rb[1:7:4:1] | passed | 0.05306 seconds | +./spec/helpers/application_helper_spec.rb[1:7:4:2] | passed | 0.05163 seconds | +./spec/helpers/application_helper_spec.rb[1:8:1] | passed | 0.04636 seconds | +./spec/helpers/exercise_helper_spec.rb[1:1:1] | passed | 0.6475 seconds | +./spec/helpers/exercise_helper_spec.rb[1:1:2] | passed | 0.62291 seconds | +./spec/lib/assessor_spec.rb[1:1:1:1] | passed | 0.46695 seconds | +./spec/lib/assessor_spec.rb[1:1:1:2] | passed | 0.46151 seconds | +./spec/lib/assessor_spec.rb[1:1:2:1] | passed | 0.51 seconds | +./spec/lib/assessor_spec.rb[1:1:2:2] | passed | 0.45934 seconds | +./spec/lib/assessor_spec.rb[1:2:1] | passed | 0.83966 seconds | +./spec/lib/assessor_spec.rb[1:3:1:1] | passed | 0.46642 seconds | +./spec/lib/assessor_spec.rb[1:3:2:1] | passed | 0.47094 seconds | +./spec/lib/code_ocean/config_spec.rb[1:1:1:1:1] | passed | 0.05578 seconds | +./spec/lib/code_ocean/config_spec.rb[1:1:1:2:1] | passed | 0.04735 seconds | +./spec/lib/code_ocean/config_spec.rb[1:1:2:1:1] | passed | 0.0479 seconds | +./spec/lib/code_ocean/config_spec.rb[1:1:2:2:1] | passed | 0.04498 seconds | +./spec/lib/docker_client_spec.rb[1:1:1:1] | passed | 0.05104 seconds | +./spec/lib/docker_client_spec.rb[1:1:2:1] | passed | 0.05096 seconds | +./spec/lib/docker_client_spec.rb[1:2:1] | passed | 0.45035 seconds | +./spec/lib/docker_client_spec.rb[1:2:2] | passed | 0.44681 seconds | +./spec/lib/docker_client_spec.rb[1:2:3] | passed | 0.4424 seconds | +./spec/lib/docker_client_spec.rb[1:2:4] | passed | 0.43693 seconds | +./spec/lib/docker_client_spec.rb[1:3:1] | passed | 0.44354 seconds | +./spec/lib/docker_client_spec.rb[1:3:2] | passed | 0.428 seconds | +./spec/lib/docker_client_spec.rb[1:4:1] | failed | 0.4641 seconds | +./spec/lib/docker_client_spec.rb[1:4:2] | failed | 0.48352 seconds | +./spec/lib/docker_client_spec.rb[1:4:3] | failed | 0.45244 seconds | +./spec/lib/docker_client_spec.rb[1:4:4] | failed | 0.45568 seconds | +./spec/lib/docker_client_spec.rb[1:4:5] | failed | 0.44904 seconds | +./spec/lib/docker_client_spec.rb[1:4:6] | failed | 0.46663 seconds | +./spec/lib/docker_client_spec.rb[1:4:7:1:1] | failed | 0.45626 seconds | +./spec/lib/docker_client_spec.rb[1:4:7:2:1] | pending | 0.45135 seconds | +./spec/lib/docker_client_spec.rb[1:5:1] | passed | 1.99 seconds | +./spec/lib/docker_client_spec.rb[1:5:2] | passed | 1.97 seconds | +./spec/lib/docker_client_spec.rb[1:5:3] | passed | 1.96 seconds | +./spec/lib/docker_client_spec.rb[1:6:1] | passed | 2.1 seconds | +./spec/lib/docker_client_spec.rb[1:7:1] | failed | 0.52902 seconds | +./spec/lib/docker_client_spec.rb[1:7:2] | failed | 0.47791 seconds | +./spec/lib/docker_client_spec.rb[1:7:3] | failed | 0.4794 seconds | +./spec/lib/docker_client_spec.rb[1:7:4] | failed | 0.45839 seconds | +./spec/lib/docker_client_spec.rb[1:7:5] | failed | 0.52342 seconds | +./spec/lib/docker_client_spec.rb[1:8:1] | failed | 0.47863 seconds | +./spec/lib/docker_client_spec.rb[1:8:2] | failed | 0.52634 seconds | +./spec/lib/docker_client_spec.rb[1:8:3:1:1] | failed | 0.46634 seconds | +./spec/lib/docker_client_spec.rb[1:8:3:2:1] | pending | 0.44356 seconds | +./spec/lib/docker_client_spec.rb[1:9:1] | failed | 1.97 seconds | +./spec/lib/docker_client_spec.rb[1:9:2] | failed | 1.97 seconds | +./spec/lib/docker_client_spec.rb[1:9:3] | failed | 2 seconds | +./spec/lib/docker_client_spec.rb[1:10:1] | failed | 1.96 seconds | +./spec/lib/docker_client_spec.rb[1:10:2] | failed | 1.97 seconds | +./spec/lib/docker_client_spec.rb[1:10:3] | failed | 2.02 seconds | +./spec/lib/docker_client_spec.rb[1:11:1] | passed | 0.04751 seconds | +./spec/lib/docker_client_spec.rb[1:11:2] | passed | 0.04688 seconds | +./spec/lib/docker_client_spec.rb[1:12:1:1] | passed | 0.05314 seconds | +./spec/lib/docker_client_spec.rb[1:12:2:1] | passed | 0.04604 seconds | +./spec/lib/docker_client_spec.rb[1:13:1] | failed | 0.47195 seconds | +./spec/lib/docker_client_spec.rb[1:13:2] | failed | 0.45205 seconds | +./spec/lib/docker_client_spec.rb[1:14:1] | passed | 0.05023 seconds | +./spec/lib/docker_client_spec.rb[1:15:1:1] | passed | 0.42814 seconds | +./spec/lib/docker_client_spec.rb[1:15:1:2] | passed | 0.43627 seconds | +./spec/lib/docker_client_spec.rb[1:15:2:1] | passed | 0.42761 seconds | +./spec/lib/docker_client_spec.rb[1:16:1] | failed | 0.82555 seconds | +./spec/lib/docker_client_spec.rb[1:16:2] | pending | 0.89455 seconds | +./spec/lib/docker_client_spec.rb[1:16:3] | pending | 0.82313 seconds | +./spec/lib/docker_client_spec.rb[1:16:4:1] | failed | 0.8775 seconds | +./spec/lib/docker_client_spec.rb[1:16:4:2] | failed | 0.89195 seconds | +./spec/lib/docker_client_spec.rb[1:16:5:1] | pending | 0.84039 seconds | +./spec/lib/docker_client_spec.rb[1:16:5:2] | failed | 0.85046 seconds | +./spec/lib/docker_client_spec.rb[1:16:5:3] | failed | 0.8589 seconds | +./spec/lib/docker_container_mixin_spec.rb[1:1:1] | passed | 0.0606 seconds | +./spec/lib/docker_container_mixin_spec.rb[1:1:2] | passed | 0.04567 seconds | +./spec/lib/docker_container_mixin_spec.rb[1:2:1] | passed | 0.06373 seconds | +./spec/lib/docker_container_mixin_spec.rb[1:2:2] | passed | 0.06955 seconds | +./spec/lib/docker_container_pool_spec.rb[1:1] | passed | 0.43583 seconds | +./spec/lib/docker_container_pool_spec.rb[1:2:1] | passed | 0.43681 seconds | +./spec/lib/docker_container_pool_spec.rb[1:2:2] | passed | 0.44123 seconds | +./spec/lib/docker_container_pool_spec.rb[1:3:1:1:1] | passed | 0.43728 seconds | +./spec/lib/docker_container_pool_spec.rb[1:3:1:2:1] | passed | 0.43581 seconds | +./spec/lib/docker_container_pool_spec.rb[1:3:2:1] | passed | 0.4393 seconds | +./spec/lib/docker_container_pool_spec.rb[1:4:1] | passed | 0.43248 seconds | +./spec/lib/docker_container_pool_spec.rb[1:5:1:1] | passed | 0.44943 seconds | +./spec/lib/docker_container_pool_spec.rb[1:5:2:1] | passed | 0.45709 seconds | +./spec/lib/docker_container_pool_spec.rb[1:6:1:1] | passed | 0.44414 seconds | +./spec/lib/docker_container_pool_spec.rb[1:6:2:1] | passed | 0.4425 seconds | +./spec/lib/docker_container_pool_spec.rb[1:7:1] | passed | 0.44224 seconds | +./spec/lib/docker_container_pool_spec.rb[1:7:2] | passed | 0.48752 seconds | +./spec/lib/file_tree_spec.rb[1:1:1:1:1] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:1:1:2:1] | passed | 1.75 seconds | +./spec/lib/file_tree_spec.rb[1:1:1:3:1] | passed | 1.76 seconds | +./spec/lib/file_tree_spec.rb[1:1:2:1:1] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:1:2:2:1] | passed | 1.78 seconds | +./spec/lib/file_tree_spec.rb[1:1:2:3:1] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:1:2:4:1] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:2:1] | passed | 0.04513 seconds | +./spec/lib/file_tree_spec.rb[1:3:1] | passed | 1.78 seconds | +./spec/lib/file_tree_spec.rb[1:3:2] | passed | 1.78 seconds | +./spec/lib/file_tree_spec.rb[1:3:3] | passed | 1.78 seconds | +./spec/lib/file_tree_spec.rb[1:4:1:1] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:4:1:2] | passed | 1.76 seconds | +./spec/lib/file_tree_spec.rb[1:4:1:3] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:4:2:1] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:4:2:2] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:4:2:3] | passed | 1.74 seconds | +./spec/lib/file_tree_spec.rb[1:4:2:4] | passed | 1.73 seconds | +./spec/lib/file_tree_spec.rb[1:5:1:1] | passed | 0.04461 seconds | +./spec/lib/file_tree_spec.rb[1:5:2:1] | passed | 0.04648 seconds | +./spec/lib/file_tree_spec.rb[1:5:3:1] | passed | 0.04946 seconds | +./spec/lib/file_tree_spec.rb[1:6:1] | passed | 0.04706 seconds | +./spec/lib/file_tree_spec.rb[1:6:2] | passed | 0.0554 seconds | +./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:1] | passed | 0.13097 seconds | +./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:2] | passed | 0.13694 seconds | +./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:3] | passed | 0.15343 seconds | +./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:4] | passed | 0.16829 seconds | +./spec/lib/junit_adapter_spec.rb[1:1:1:1] | passed | 0.0468 seconds | +./spec/lib/junit_adapter_spec.rb[1:1:2:1] | passed | 0.0495 seconds | +./spec/lib/mocha_adapter_spec.rb[1:1:1] | passed | 0.07256 seconds | +./spec/lib/nonce_store_spec.rb[1:1:1] | passed | 0.04928 seconds | +./spec/lib/nonce_store_spec.rb[1:2:1] | passed | 0.05167 seconds | +./spec/lib/nonce_store_spec.rb[1:3:1] | passed | 0.06516 seconds | +./spec/lib/nonce_store_spec.rb[1:3:2] | passed | 1.07 seconds | +./spec/lib/nonce_store_spec.rb[1:3:3] | passed | 0.05538 seconds | +./spec/lib/port_pool_spec.rb[1:1:1] | passed | 0.04779 seconds | +./spec/lib/port_pool_spec.rb[1:1:2:1] | passed | 0.05225 seconds | +./spec/lib/port_pool_spec.rb[1:1:2:2] | passed | 0.04625 seconds | +./spec/lib/port_pool_spec.rb[1:1:3:1] | passed | 0.04389 seconds | +./spec/lib/port_pool_spec.rb[1:2:1:1] | passed | 0.04476 seconds | +./spec/lib/port_pool_spec.rb[1:2:2:1] | passed | 0.04679 seconds | +./spec/lib/port_pool_spec.rb[1:2:3:1] | passed | 0.05205 seconds | +./spec/lib/py_unit_adapter_spec.rb[1:1:1] | passed | 0.0464 seconds | +./spec/lib/rspec_adapter_spec.rb[1:1:1] | passed | 0.04745 seconds | +./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:1:1] | passed | 0.05192 seconds | +./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:2:1] | passed | 0.04797 seconds | +./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:3:1] | passed | 0.05233 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:1:1:1] | passed | 0.06723 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:1:2:1] | passed | 0.05049 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:1:3:1] | passed | 0.0499 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:2:1] | passed | 0.04968 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:3:1] | passed | 0.0518 seconds | +./spec/lib/testing_framework_adapter_spec.rb[1:4:1] | passed | 0.05101 seconds | +./spec/lib/whistleblower_spec.rb[1:1:1] | passed | 0.4526 seconds | +./spec/lib/whistleblower_spec.rb[1:1:2] | passed | 0.43831 seconds | +./spec/lib/whistleblower_spec.rb[1:2:1] | passed | 0.43577 seconds | +./spec/mailers/user_mailer_spec.rb[1:1:1] | passed | 0.25795 seconds | +./spec/mailers/user_mailer_spec.rb[1:1:2] | passed | 0.27475 seconds | +./spec/mailers/user_mailer_spec.rb[1:1:3] | passed | 0.2699 seconds | +./spec/mailers/user_mailer_spec.rb[1:1:4] | passed | 0.25876 seconds | +./spec/mailers/user_mailer_spec.rb[1:2:1] | passed | 0.23646 seconds | +./spec/mailers/user_mailer_spec.rb[1:3:1] | passed | 0.21859 seconds | +./spec/mailers/user_mailer_spec.rb[1:3:2] | passed | 0.22282 seconds | +./spec/mailers/user_mailer_spec.rb[1:3:3] | passed | 0.33699 seconds | +./spec/mailers/user_mailer_spec.rb[1:3:4] | passed | 0.21741 seconds | +./spec/models/code_ocean/file_spec.rb[1:1] | passed | 0.05281 seconds | +./spec/models/code_ocean/file_spec.rb[1:2] | passed | 0.06111 seconds | +./spec/models/code_ocean/file_spec.rb[1:3] | passed | 0.05727 seconds | +./spec/models/code_ocean/file_spec.rb[1:4] | passed | 0.06252 seconds | +./spec/models/code_ocean/file_spec.rb[1:5:1] | passed | 0.05775 seconds | +./spec/models/code_ocean/file_spec.rb[1:5:2] | passed | 0.06536 seconds | +./spec/models/code_ocean/file_spec.rb[1:5:3] | passed | 0.06164 seconds | +./spec/models/code_ocean/file_spec.rb[1:6:1] | passed | 0.06148 seconds | +./spec/models/code_ocean/file_spec.rb[1:6:2] | passed | 0.06278 seconds | +./spec/models/consumer_spec.rb[1:1] | passed | 0.05116 seconds | +./spec/models/consumer_spec.rb[1:2] | passed | 0.05519 seconds | +./spec/models/consumer_spec.rb[1:3] | passed | 0.07053 seconds | +./spec/models/consumer_spec.rb[1:4] | passed | 0.0555 seconds | +./spec/models/error_spec.rb[1:1] | passed | 0.04672 seconds | +./spec/models/error_spec.rb[1:2] | passed | 0.04962 seconds | +./spec/models/error_spec.rb[1:3:1] | passed | 0.04457 seconds | +./spec/models/execution_environment_spec.rb[1:1] | passed | 0.88342 seconds | +./spec/models/execution_environment_spec.rb[1:2] | passed | 0.41619 seconds | +./spec/models/execution_environment_spec.rb[1:3] | passed | 0.32074 seconds | +./spec/models/execution_environment_spec.rb[1:4] | passed | 0.87759 seconds | +./spec/models/execution_environment_spec.rb[1:5] | passed | 0.35236 seconds | +./spec/models/execution_environment_spec.rb[1:6] | passed | 0.34291 seconds | +./spec/models/execution_environment_spec.rb[1:7] | passed | 0.30257 seconds | +./spec/models/execution_environment_spec.rb[1:8] | passed | 0.51367 seconds | +./spec/models/execution_environment_spec.rb[1:9] | passed | 0.38582 seconds | +./spec/models/execution_environment_spec.rb[1:10] | passed | 0.31626 seconds | +./spec/models/execution_environment_spec.rb[1:11] | passed | 0.49556 seconds | +./spec/models/execution_environment_spec.rb[1:12] | passed | 0.38436 seconds | +./spec/models/execution_environment_spec.rb[1:13] | passed | 0.34001 seconds | +./spec/models/execution_environment_spec.rb[1:14:1:1] | passed | 1.37 seconds | +./spec/models/execution_environment_spec.rb[1:14:2:1] | passed | 0.5388 seconds | +./spec/models/execution_environment_spec.rb[1:14:3:1] | passed | 0.65292 seconds | +./spec/models/execution_environment_spec.rb[1:14:4:1] | passed | 0.30448 seconds | +./spec/models/execution_environment_spec.rb[1:15:1] | passed | 0.31281 seconds | +./spec/models/execution_environment_spec.rb[1:15:2] | passed | 0.34101 seconds | +./spec/models/execution_environment_spec.rb[1:15:3] | passed | 0.37395 seconds | +./spec/models/execution_environment_spec.rb[1:16:1] | failed | 3 minutes 15.8 seconds | +./spec/models/execution_environment_spec.rb[1:16:2] | failed | 2 minutes 1.6 seconds | +./spec/models/execution_environment_spec.rb[1:16:3:1] | failed | 2 minutes 2.7 seconds | +./spec/models/execution_environment_spec.rb[1:16:4:1] | failed | 3 minutes 31.8 seconds | +./spec/models/exercise_spec.rb[1:1] | passed | 4 seconds | +./spec/models/exercise_spec.rb[1:2] | passed | 0.06381 seconds | +./spec/models/exercise_spec.rb[1:3] | passed | 0.05955 seconds | +./spec/models/exercise_spec.rb[1:4] | passed | 0.0694 seconds | +./spec/models/exercise_spec.rb[1:5] | passed | 0.05958 seconds | +./spec/models/exercise_spec.rb[1:6] | passed | 0.06112 seconds | +./spec/models/exercise_spec.rb[1:7] | passed | 0.06287 seconds | +./spec/models/exercise_spec.rb[1:8:1:1] | passed | 1.54 seconds | +./spec/models/exercise_spec.rb[1:8:2:1] | passed | 1.86 seconds | +./spec/models/exercise_spec.rb[1:9:1:1] | passed | 1.54 seconds | +./spec/models/exercise_spec.rb[1:9:2:1] | passed | 1.83 seconds | +./spec/models/exercise_spec.rb[1:10:1] | passed | 1.54 seconds | +./spec/models/exercise_spec.rb[1:10:2] | passed | 1.55 seconds | +./spec/models/exercise_spec.rb[1:10:3] | passed | 1.55 seconds | +./spec/models/exercise_spec.rb[1:10:4] | passed | 1.56 seconds | +./spec/models/external_user_spec.rb[1:1] | passed | 0.05177 seconds | +./spec/models/external_user_spec.rb[1:2] | passed | 0.05328 seconds | +./spec/models/external_user_spec.rb[1:3:1] | passed | 0.06456 seconds | +./spec/models/external_user_spec.rb[1:4:1] | passed | 0.05401 seconds | +./spec/models/external_user_spec.rb[1:5:1] | passed | 0.05196 seconds | +./spec/models/external_user_spec.rb[1:6:1] | passed | 0.06018 seconds | +./spec/models/file_type_spec.rb[1:1] | passed | 0.05687 seconds | +./spec/models/file_type_spec.rb[1:2:1] | passed | 0.05752 seconds | +./spec/models/file_type_spec.rb[1:2:2] | passed | 0.05774 seconds | +./spec/models/file_type_spec.rb[1:3:1] | passed | 0.06183 seconds | +./spec/models/file_type_spec.rb[1:3:2] | passed | 0.06521 seconds | +./spec/models/file_type_spec.rb[1:4] | passed | 0.08014 seconds | +./spec/models/file_type_spec.rb[1:5] | passed | 0.05505 seconds | +./spec/models/file_type_spec.rb[1:6] | passed | 0.06553 seconds | +./spec/models/file_type_spec.rb[1:7] | passed | 0.05611 seconds | +./spec/models/hint_spec.rb[1:1] | passed | 0.05463 seconds | +./spec/models/hint_spec.rb[1:2] | passed | 0.05013 seconds | +./spec/models/hint_spec.rb[1:3] | passed | 0.05554 seconds | +./spec/models/hint_spec.rb[1:4] | passed | 0.05332 seconds | +./spec/models/hint_spec.rb[1:5] | passed | 0.05561 seconds | +./spec/models/hint_spec.rb[1:6:1] | passed | 0.04798 seconds | +./spec/models/hint_spec.rb[1:7:1] | passed | 0.05355 seconds | +./spec/models/internal_user_spec.rb[1:1] | passed | 0.05381 seconds | +./spec/models/internal_user_spec.rb[1:2] | passed | 0.23652 seconds | +./spec/models/internal_user_spec.rb[1:3:1] | passed | 0.48092 seconds | +./spec/models/internal_user_spec.rb[1:3:2] | passed | 0.2442 seconds | +./spec/models/internal_user_spec.rb[1:4:1] | passed | 0.4856 seconds | +./spec/models/internal_user_spec.rb[1:4:2] | passed | 0.24731 seconds | +./spec/models/internal_user_spec.rb[1:5:1] | passed | 0.48664 seconds | +./spec/models/internal_user_spec.rb[1:5:2] | passed | 0.23371 seconds | +./spec/models/internal_user_spec.rb[1:6] | passed | 0.05358 seconds | +./spec/models/internal_user_spec.rb[1:7] | passed | 0.05487 seconds | +./spec/models/internal_user_spec.rb[1:8:1] | passed | 0.07052 seconds | +./spec/models/internal_user_spec.rb[1:9:1] | passed | 0.05715 seconds | +./spec/models/internal_user_spec.rb[1:10:1] | passed | 0.04854 seconds | +./spec/models/internal_user_spec.rb[1:11:1] | passed | 0.06655 seconds | +./spec/models/submission_spec.rb[1:1] | passed | 0.0644 seconds | +./spec/models/submission_spec.rb[1:2] | passed | 0.1015 seconds | +./spec/models/submission_spec.rb[1:3] | passed | 0.08179 seconds | +./spec/models/submission_spec.rb[1:4:1] | passed | 0.68143 seconds | +./spec/models/submission_spec.rb[1:4:2] | passed | 0.7595 seconds | +./spec/models/submission_spec.rb[1:5:1] | passed | 0.80489 seconds | +./spec/models/submission_spec.rb[1:5:2] | passed | 0.68498 seconds | +./spec/models/submission_spec.rb[1:6:1] | passed | 0.83722 seconds | +./spec/models/submission_spec.rb[1:6:2] | passed | 0.77297 seconds | +./spec/models/submission_spec.rb[1:7:1] | passed | 0.66752 seconds | +./spec/models/submission_spec.rb[1:7:2] | passed | 0.64445 seconds | +./spec/models/submission_spec.rb[1:8:1] | passed | 1.76 seconds | +./spec/models/submission_spec.rb[1:9:1:1] | passed | 1.66 seconds | +./spec/models/submission_spec.rb[1:9:2:1] | passed | 0.73879 seconds | +./spec/models/submission_spec.rb[1:10:1:1] | passed | 2.05 seconds | +./spec/models/submission_spec.rb[1:10:2:1] | passed | 0.71365 seconds | +./spec/models/submission_spec.rb[1:11:1] | passed | 0.82545 seconds | +./spec/models/submission_spec.rb[1:12:1] | passed | 0.8341 seconds | +./spec/models/submission_spec.rb[1:13:1] | passed | 0.84713 seconds | +./spec/models/submission_spec.rb[1:14:1] | passed | 0.68107 seconds | +./spec/models/team_spec.rb[1:1] | passed | 0.05459 seconds | +./spec/policies/admin/dashboard_policy_spec.rb[1:1:1] | passed | 0.04881 seconds | +./spec/policies/admin/dashboard_policy_spec.rb[1:1:2] | passed | 0.05824 seconds | +./spec/policies/admin/dashboard_policy_spec.rb[1:1:3] | passed | 0.06351 seconds | +./spec/policies/application_policy_spec.rb[1:1:1:1] | passed | 0.04957 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:1] | passed | 1.54 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:2] | passed | 1.54 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:3] | passed | 1.56 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:2:1] | passed | 1.57 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:1:2:2] | passed | 1.59 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:1] | passed | 1.54 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:2] | passed | 1.54 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:3] | passed | 1.96 seconds | +./spec/policies/code_ocean/file_policy_spec.rb[1:2:2:1] | passed | 1.61 seconds | +./spec/policies/consumer_policy_spec.rb[1:1:1] | passed | 0.10357 seconds | +./spec/policies/consumer_policy_spec.rb[1:2:1] | passed | 0.08366 seconds | +./spec/policies/consumer_policy_spec.rb[1:3:1] | passed | 0.08169 seconds | +./spec/policies/consumer_policy_spec.rb[1:4:1] | passed | 0.08223 seconds | +./spec/policies/consumer_policy_spec.rb[1:5:1] | passed | 0.08195 seconds | +./spec/policies/consumer_policy_spec.rb[1:6:1] | passed | 0.07828 seconds | +./spec/policies/consumer_policy_spec.rb[1:7:1] | passed | 0.07932 seconds | +./spec/policies/error_policy_spec.rb[1:1:1] | passed | 0.45873 seconds | +./spec/policies/error_policy_spec.rb[1:1:2] | passed | 0.46128 seconds | +./spec/policies/error_policy_spec.rb[1:1:3] | passed | 0.46079 seconds | +./spec/policies/error_policy_spec.rb[1:2:1] | passed | 0.45973 seconds | +./spec/policies/error_policy_spec.rb[1:2:2] | passed | 0.45929 seconds | +./spec/policies/error_policy_spec.rb[1:2:3] | passed | 0.46767 seconds | +./spec/policies/error_policy_spec.rb[1:3:1] | passed | 0.445 seconds | +./spec/policies/error_policy_spec.rb[1:3:2] | passed | 0.46193 seconds | +./spec/policies/error_policy_spec.rb[1:3:3] | passed | 0.4657 seconds | +./spec/policies/error_policy_spec.rb[1:4:1] | passed | 0.46109 seconds | +./spec/policies/error_policy_spec.rb[1:4:2] | passed | 1.09 seconds | +./spec/policies/error_policy_spec.rb[1:4:3] | passed | 0.51032 seconds | +./spec/policies/error_policy_spec.rb[1:5:1] | passed | 0.4543 seconds | +./spec/policies/error_policy_spec.rb[1:5:2] | passed | 0.44643 seconds | +./spec/policies/error_policy_spec.rb[1:5:3] | passed | 0.47377 seconds | +./spec/policies/error_policy_spec.rb[1:6:1] | passed | 0.47607 seconds | +./spec/policies/error_policy_spec.rb[1:6:2] | passed | 0.45039 seconds | +./spec/policies/error_policy_spec.rb[1:6:3] | passed | 0.47517 seconds | +./spec/policies/error_policy_spec.rb[1:7:1] | passed | 0.45254 seconds | +./spec/policies/error_policy_spec.rb[1:7:2] | passed | 0.47799 seconds | +./spec/policies/error_policy_spec.rb[1:7:3] | passed | 0.46955 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:1:1] | passed | 0.4323 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:1:2] | passed | 0.45739 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:1:3] | passed | 0.44001 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:2:1] | passed | 0.55549 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:2:2] | passed | 0.43501 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:2:3] | passed | 0.43414 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:3:1] | passed | 0.4346 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:3:2] | passed | 0.45119 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:3:3] | passed | 0.44649 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:4:1] | passed | 0.43679 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:4:2] | passed | 0.43608 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:4:3] | passed | 0.45377 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:5:1] | passed | 0.43083 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:5:2] | passed | 0.42669 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:5:3] | passed | 0.45541 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:6:1] | passed | 0.4409 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:6:2] | passed | 0.43714 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:6:3] | passed | 0.45636 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:7:1] | passed | 0.42774 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:7:2] | passed | 0.42009 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:7:3] | passed | 0.4454 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:8:1] | passed | 0.42981 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:8:2] | passed | 0.42901 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:8:3] | passed | 0.44514 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:9:1] | passed | 0.43291 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:9:2] | passed | 0.44433 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:9:3] | passed | 0.44712 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:10:1] | passed | 0.43274 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:10:2] | passed | 0.4342 seconds | +./spec/policies/execution_environment_policy_spec.rb[1:10:3] | passed | 0.4458 seconds | +./spec/policies/exercise_policy_spec.rb[1:1:1] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:2:1] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:2:2] | passed | 1.33 seconds | +./spec/policies/exercise_policy_spec.rb[1:2:3] | passed | 1.33 seconds | +./spec/policies/exercise_policy_spec.rb[1:3:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:3:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:3:3] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:4:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:4:2] | passed | 1.33 seconds | +./spec/policies/exercise_policy_spec.rb[1:4:3] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:5:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:5:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:5:3] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:5:4] | passed | 1.57 seconds | +./spec/policies/exercise_policy_spec.rb[1:6:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:6:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:6:3] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:6:4] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:7:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:7:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:7:3] | passed | 1.61 seconds | +./spec/policies/exercise_policy_spec.rb[1:7:4] | passed | 1.35 seconds | +./spec/policies/exercise_policy_spec.rb[1:8:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:8:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:8:3] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:8:4] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:9:1] | passed | 1.32 seconds | +./spec/policies/exercise_policy_spec.rb[1:9:2] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:9:3] | passed | 1.31 seconds | +./spec/policies/exercise_policy_spec.rb[1:9:4] | passed | 1.34 seconds | +./spec/policies/exercise_policy_spec.rb[1:10:1] | passed | 1.33 seconds | +./spec/policies/exercise_policy_spec.rb[1:11:1] | passed | 0.0779 seconds | +./spec/policies/exercise_policy_spec.rb[1:12:1] | passed | 0.0805 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:1:1] | passed | 0.04881 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:2:1] | passed | 0.04955 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:3:1] | passed | 0.75105 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:3:2] | passed | 0.76452 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:3:3] | passed | 0.7714 seconds | +./spec/policies/exercise_policy_spec.rb[1:13:1:3:4] | passed | 0.75585 seconds | +./spec/policies/external_user_policy_spec.rb[1:1:1] | passed | 0.07825 seconds | +./spec/policies/external_user_policy_spec.rb[1:2:1] | passed | 0.07896 seconds | +./spec/policies/external_user_policy_spec.rb[1:3:1] | passed | 0.09095 seconds | +./spec/policies/external_user_policy_spec.rb[1:4:1] | passed | 0.08289 seconds | +./spec/policies/external_user_policy_spec.rb[1:5:1] | passed | 0.08806 seconds | +./spec/policies/external_user_policy_spec.rb[1:6:1] | passed | 0.24338 seconds | +./spec/policies/external_user_policy_spec.rb[1:7:1] | passed | 0.08096 seconds | +./spec/policies/file_type_policy_spec.rb[1:1:1] | passed | 0.23616 seconds | +./spec/policies/file_type_policy_spec.rb[1:1:2] | passed | 0.24798 seconds | +./spec/policies/file_type_policy_spec.rb[1:1:3] | passed | 0.24424 seconds | +./spec/policies/file_type_policy_spec.rb[1:2:1] | passed | 0.23601 seconds | +./spec/policies/file_type_policy_spec.rb[1:2:2] | passed | 0.24568 seconds | +./spec/policies/file_type_policy_spec.rb[1:2:3] | passed | 0.24071 seconds | +./spec/policies/file_type_policy_spec.rb[1:3:1] | passed | 0.23586 seconds | +./spec/policies/file_type_policy_spec.rb[1:3:2] | passed | 0.24816 seconds | +./spec/policies/file_type_policy_spec.rb[1:3:3] | passed | 0.23923 seconds | +./spec/policies/file_type_policy_spec.rb[1:4:1] | passed | 0.23465 seconds | +./spec/policies/file_type_policy_spec.rb[1:4:2] | passed | 0.23125 seconds | +./spec/policies/file_type_policy_spec.rb[1:4:3] | passed | 0.24993 seconds | +./spec/policies/file_type_policy_spec.rb[1:5:1] | passed | 0.236 seconds | +./spec/policies/file_type_policy_spec.rb[1:5:2] | passed | 0.23167 seconds | +./spec/policies/file_type_policy_spec.rb[1:5:3] | passed | 0.26042 seconds | +./spec/policies/file_type_policy_spec.rb[1:6:1] | passed | 0.23111 seconds | +./spec/policies/file_type_policy_spec.rb[1:6:2] | passed | 0.23244 seconds | +./spec/policies/file_type_policy_spec.rb[1:6:3] | passed | 0.25396 seconds | +./spec/policies/file_type_policy_spec.rb[1:7:1] | passed | 0.23573 seconds | +./spec/policies/file_type_policy_spec.rb[1:7:2] | passed | 0.2287 seconds | +./spec/policies/file_type_policy_spec.rb[1:7:3] | passed | 0.25366 seconds | +./spec/policies/hint_policy_spec.rb[1:1:1] | passed | 0.45419 seconds | +./spec/policies/hint_policy_spec.rb[1:1:2] | passed | 0.49946 seconds | +./spec/policies/hint_policy_spec.rb[1:1:3] | passed | 0.45711 seconds | +./spec/policies/hint_policy_spec.rb[1:2:1] | passed | 0.44633 seconds | +./spec/policies/hint_policy_spec.rb[1:2:2] | passed | 0.44596 seconds | +./spec/policies/hint_policy_spec.rb[1:2:3] | passed | 0.46862 seconds | +./spec/policies/hint_policy_spec.rb[1:3:1] | passed | 0.43792 seconds | +./spec/policies/hint_policy_spec.rb[1:3:2] | passed | 0.44381 seconds | +./spec/policies/hint_policy_spec.rb[1:3:3] | passed | 0.44477 seconds | +./spec/policies/hint_policy_spec.rb[1:4:1] | passed | 0.45777 seconds | +./spec/policies/hint_policy_spec.rb[1:4:2] | passed | 0.48273 seconds | +./spec/policies/hint_policy_spec.rb[1:4:3] | passed | 0.46427 seconds | +./spec/policies/hint_policy_spec.rb[1:5:1] | passed | 0.45315 seconds | +./spec/policies/hint_policy_spec.rb[1:5:2] | passed | 0.44008 seconds | +./spec/policies/hint_policy_spec.rb[1:5:3] | passed | 0.46454 seconds | +./spec/policies/hint_policy_spec.rb[1:6:1] | passed | 0.45193 seconds | +./spec/policies/hint_policy_spec.rb[1:6:2] | passed | 0.44814 seconds | +./spec/policies/hint_policy_spec.rb[1:6:3] | passed | 0.45544 seconds | +./spec/policies/hint_policy_spec.rb[1:7:1] | passed | 0.43596 seconds | +./spec/policies/hint_policy_spec.rb[1:7:2] | passed | 0.45115 seconds | +./spec/policies/hint_policy_spec.rb[1:7:3] | passed | 0.47503 seconds | +./spec/policies/internal_user_policy_spec.rb[1:1:1] | passed | 0.07814 seconds | +./spec/policies/internal_user_policy_spec.rb[1:2:1] | passed | 0.07735 seconds | +./spec/policies/internal_user_policy_spec.rb[1:3:1] | passed | 0.08016 seconds | +./spec/policies/internal_user_policy_spec.rb[1:4:1] | passed | 0.07969 seconds | +./spec/policies/internal_user_policy_spec.rb[1:5:1] | passed | 0.08187 seconds | +./spec/policies/internal_user_policy_spec.rb[1:6:1] | passed | 0.08311 seconds | +./spec/policies/internal_user_policy_spec.rb[1:7:1:1] | passed | 0.09534 seconds | +./spec/policies/internal_user_policy_spec.rb[1:7:2:1] | passed | 0.10351 seconds | +./spec/policies/submission_policy_spec.rb[1:1:1] | passed | 0.08955 seconds | +./spec/policies/submission_policy_spec.rb[1:2:1] | passed | 0.05916 seconds | +./spec/policies/submission_policy_spec.rb[1:2:2] | passed | 0.07581 seconds | +./spec/policies/submission_policy_spec.rb[1:3:1] | passed | 0.06324 seconds | +./spec/policies/submission_policy_spec.rb[1:3:2] | passed | 0.103 seconds | +./spec/policies/submission_policy_spec.rb[1:4:1] | passed | 0.05359 seconds | +./spec/policies/submission_policy_spec.rb[1:4:2] | passed | 0.08136 seconds | +./spec/policies/submission_policy_spec.rb[1:5:1] | passed | 0.04924 seconds | +./spec/policies/submission_policy_spec.rb[1:5:2] | passed | 0.07912 seconds | +./spec/policies/submission_policy_spec.rb[1:6:1] | passed | 0.06206 seconds | +./spec/policies/submission_policy_spec.rb[1:6:2] | passed | 0.09128 seconds | +./spec/policies/submission_policy_spec.rb[1:7:1] | passed | 0.05582 seconds | +./spec/policies/submission_policy_spec.rb[1:7:2] | passed | 0.06429 seconds | +./spec/policies/submission_policy_spec.rb[1:8:1] | passed | 0.0566 seconds | +./spec/policies/submission_policy_spec.rb[1:8:2] | passed | 0.07754 seconds | +./spec/policies/submission_policy_spec.rb[1:9:1] | passed | 0.05464 seconds | +./spec/policies/submission_policy_spec.rb[1:9:2] | passed | 0.06892 seconds | +./spec/policies/submission_policy_spec.rb[1:10:1] | passed | 0.09052 seconds | +./spec/policies/team_policy_spec.rb[1:1:1] | passed | 0.12256 seconds | +./spec/policies/team_policy_spec.rb[1:1:2] | passed | 0.1089 seconds | +./spec/policies/team_policy_spec.rb[1:1:3] | passed | 0.13294 seconds | +./spec/policies/team_policy_spec.rb[1:2:1] | passed | 0.07738 seconds | +./spec/policies/team_policy_spec.rb[1:2:2] | passed | 0.08324 seconds | +./spec/policies/team_policy_spec.rb[1:2:3] | passed | 0.08442 seconds | +./spec/policies/team_policy_spec.rb[1:3:1] | passed | 0.07919 seconds | +./spec/policies/team_policy_spec.rb[1:3:2] | passed | 0.08424 seconds | +./spec/policies/team_policy_spec.rb[1:3:3] | passed | 0.08273 seconds | +./spec/policies/team_policy_spec.rb[1:4:1] | passed | 0.10554 seconds | +./spec/policies/team_policy_spec.rb[1:4:2] | passed | 0.08925 seconds | +./spec/policies/team_policy_spec.rb[1:4:3] | passed | 0.11947 seconds | +./spec/policies/team_policy_spec.rb[1:5:1] | passed | 0.10834 seconds | +./spec/policies/team_policy_spec.rb[1:5:2] | passed | 0.09801 seconds | +./spec/policies/team_policy_spec.rb[1:5:3] | passed | 0.12565 seconds | +./spec/policies/team_policy_spec.rb[1:6:1] | passed | 0.09479 seconds | +./spec/policies/team_policy_spec.rb[1:6:2] | passed | 0.07876 seconds | +./spec/policies/team_policy_spec.rb[1:6:3] | passed | 0.174 seconds | +./spec/policies/team_policy_spec.rb[1:7:1] | passed | 0.09027 seconds | +./spec/policies/team_policy_spec.rb[1:7:2] | passed | 0.11863 seconds | +./spec/policies/team_policy_spec.rb[1:7:3] | passed | 0.14471 seconds | +./spec/uploaders/file_uploader_spec.rb[1:1] | passed | 1.78 seconds | +./spec/uploaders/file_uploader_spec.rb[1:2] | passed | 1.77 seconds | +./spec/views/execution_environments/shell.html.slim_spec.rb[1:1] | passed | 0.44742 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:1] | passed | 1.74 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:2] | passed | 3.81 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:3] | passed | 1.73 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:4] | passed | 1.73 seconds | +./spec/views/exercises/implement.html.slim_spec.rb[1:5] | passed | 1.72 seconds | diff --git a/spec/additional_setting_spec.rb b/spec/additional_setting_spec.rb new file mode 100644 index 00000000..3ff57d05 --- /dev/null +++ b/spec/additional_setting_spec.rb @@ -0,0 +1,3 @@ +RSpec.configure do |c| + c.example_status_persistence_file_path = "./spec/examples.txt" +end diff --git a/spec/examples.txt b/spec/examples.txt new file mode 100644 index 00000000..e69de29b From 5b56ac34e26d9b8a979692af69dc0a58d899cc23 Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 2 Aug 2016 16:26:55 +0200 Subject: [PATCH 29/64] cleanup --- "\033" | 5 - .gitignore.save | 25 - app/views/exercises/_ace.html.slim | 7 - examples.txt | 993 ----------------------------- spec/additional_setting_spec.rb | 3 - spec/examples.txt | 0 6 files changed, 1033 deletions(-) delete mode 100644 "\033" delete mode 100644 .gitignore.save delete mode 100644 app/views/exercises/_ace.html.slim delete mode 100644 examples.txt delete mode 100644 spec/additional_setting_spec.rb delete mode 100644 spec/examples.txt diff --git "a/\033" "b/\033" deleted file mode 100644 index 8f1010d8..00000000 --- "a/\033" +++ /dev/null @@ -1,5 +0,0 @@ -=> [#, - #, - #, - #, - #] diff --git a/.gitignore.save b/.gitignore.save deleted file mode 100644 index 5f486cf1..00000000 --- a/.gitignore.save +++ /dev/null @@ -1,25 +0,0 @@ -/config/action_mailer.yml -/config/code_ocean.yml -/config/database.yml -/config/secrets.yml -/config/sendmail.yml -/config/smtp.yml -/config/*.production.yml -/coverage -/log -/public/assets -/public/uploads -/rubocop.html -/tmp -/vagrant/ -/.vagrant -*.sublime-* -/.idea -/.vagrant -*.iml -*.DS_Store - - -RSpec.configure do |c| - c.example_status_persistence_file_path = "./spec/examples.txt" -end diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_ace.html.slim deleted file mode 100644 index 9e141afc..00000000 --- a/app/views/exercises/_ace.html.slim +++ /dev/null @@ -1,7 +0,0 @@ -#editor.panel-group.row data-exercise-id=@exercise.id - #files style=("") data-entries=FileTree.new(@files).to_js_tree - div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') - - @files.each do |file| - .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type - .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id diff --git a/examples.txt b/examples.txt deleted file mode 100644 index 185f2807..00000000 --- a/examples.txt +++ /dev/null @@ -1,993 +0,0 @@ -example_id | status | run_time | ------------------------------------------------------------------------- | ------- | ---------------------- | -./spec/concerns/lti_spec.rb[1:1:1] | passed | 0.05388 seconds | -./spec/concerns/lti_spec.rb[1:2:1] | passed | 0.05226 seconds | -./spec/concerns/lti_spec.rb[1:3:1:1] | passed | 0.05346 seconds | -./spec/concerns/lti_spec.rb[1:3:2:1] | passed | 0.05029 seconds | -./spec/concerns/lti_spec.rb[1:3:3:1] | passed | 0.04876 seconds | -./spec/concerns/lti_spec.rb[1:4:1] | passed | 0.04732 seconds | -./spec/concerns/lti_spec.rb[1:5:1:1] | passed | 0.05313 seconds | -./spec/concerns/lti_spec.rb[1:5:1:2] | passed | 0.04713 seconds | -./spec/concerns/lti_spec.rb[1:5:2:1] | passed | 0.04836 seconds | -./spec/concerns/lti_spec.rb[1:5:2:2] | passed | 0.05332 seconds | -./spec/concerns/lti_spec.rb[1:5:2:3] | passed | 0.04993 seconds | -./spec/concerns/lti_spec.rb[1:6:1:1] | passed | 0.05333 seconds | -./spec/concerns/lti_spec.rb[1:6:2:1:1:1] | passed | 0.0603 seconds | -./spec/concerns/lti_spec.rb[1:6:2:1:2:1] | passed | 0.06167 seconds | -./spec/concerns/lti_spec.rb[1:6:2:1:2:2] | passed | 0.06537 seconds | -./spec/concerns/lti_spec.rb[1:6:2:2:1] | passed | 0.05288 seconds | -./spec/concerns/lti_spec.rb[1:7:1] | passed | 0.07108 seconds | -./spec/concerns/lti_spec.rb[1:7:2] | passed | 0.06749 seconds | -./spec/concerns/lti_spec.rb[1:8:1] | passed | 0.04952 seconds | -./spec/concerns/submission_scoring_spec.rb[1:1:1] | passed | 0.08771 seconds | -./spec/concerns/submission_scoring_spec.rb[1:2:1] | passed | 0.07049 seconds | -./spec/concerns/submission_scoring_spec.rb[1:2:2] | passed | 0.07268 seconds | -./spec/controllers/admin/dashboard_controller_spec.rb[1:1:1:1] | passed | 0.42948 seconds | -./spec/controllers/admin/dashboard_controller_spec.rb[1:1:1:2] | passed | 0.66093 seconds | -./spec/controllers/admin/dashboard_controller_spec.rb[1:1:2:1] | passed | 0.28222 seconds | -./spec/controllers/admin/dashboard_controller_spec.rb[1:1:2:2] | passed | 0.3202 seconds | -./spec/controllers/application_controller_spec.rb[1:1:1:1] | passed | 0.3774 seconds | -./spec/controllers/application_controller_spec.rb[1:1:2:1] | passed | 0.68006 seconds | -./spec/controllers/application_controller_spec.rb[1:2:1] | passed | 0.29975 seconds | -./spec/controllers/application_controller_spec.rb[1:2:2] | passed | 0.31365 seconds | -./spec/controllers/application_controller_spec.rb[1:3:1:1:1] | passed | 0.29236 seconds | -./spec/controllers/application_controller_spec.rb[1:3:1:2:1] | passed | 0.30014 seconds | -./spec/controllers/application_controller_spec.rb[1:3:2:1] | passed | 0.9501 seconds | -./spec/controllers/application_controller_spec.rb[1:3:3:1] | passed | 0.36802 seconds | -./spec/controllers/application_controller_spec.rb[1:4:1] | passed | 0.42095 seconds | -./spec/controllers/application_controller_spec.rb[1:4:2] | passed | 0.31325 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:1] | passed | 2.23 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:2] | passed | 2.63 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:3] | passed | 2.4 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:4] | passed | 2.3 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:1] | passed | 2.02 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:2] | passed | 2.24 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:3] | passed | 2.06 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:2:1] | passed | 2.29 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:2:2] | passed | 3.45 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:2:3] | passed | 2.01 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:1:1] | passed | 0.58056 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:1:2] | passed | 0.61798 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:1:3] | passed | 0.50093 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:2:1] | passed | 0.81274 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:2:2] | passed | 0.51096 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:2:3] | passed | 0.83042 seconds | -./spec/controllers/consumers_controller_spec.rb[1:2:1] | passed | 0.81097 seconds | -./spec/controllers/consumers_controller_spec.rb[1:2:2] | passed | 0.60336 seconds | -./spec/controllers/consumers_controller_spec.rb[1:2:3] | passed | 0.48202 seconds | -./spec/controllers/consumers_controller_spec.rb[1:3:1] | passed | 0.62955 seconds | -./spec/controllers/consumers_controller_spec.rb[1:3:2] | passed | 0.54483 seconds | -./spec/controllers/consumers_controller_spec.rb[1:3:3] | passed | 0.5219 seconds | -./spec/controllers/consumers_controller_spec.rb[1:4:1] | passed | 0.53688 seconds | -./spec/controllers/consumers_controller_spec.rb[1:4:2] | passed | 0.68758 seconds | -./spec/controllers/consumers_controller_spec.rb[1:4:3] | passed | 0.64265 seconds | -./spec/controllers/consumers_controller_spec.rb[1:5:1] | passed | 0.52463 seconds | -./spec/controllers/consumers_controller_spec.rb[1:5:2] | passed | 0.52728 seconds | -./spec/controllers/consumers_controller_spec.rb[1:5:3] | passed | 0.58288 seconds | -./spec/controllers/consumers_controller_spec.rb[1:6:1] | passed | 0.52539 seconds | -./spec/controllers/consumers_controller_spec.rb[1:6:2] | passed | 0.50418 seconds | -./spec/controllers/consumers_controller_spec.rb[1:6:3] | passed | 0.63746 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:1:1] | passed | 0.53542 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:1:2] | passed | 0.5016 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:2:1] | passed | 0.55682 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:2:2] | passed | 0.53387 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:2:3] | passed | 0.55788 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:1] | failed | 1.96 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:2] | failed | 2.36 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:3] | failed | 1.18 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:4] | failed | 1.27 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:5] | failed | 1.18 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:2:1] | failed | 1.39 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:2:2] | failed | 0.8815 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:2:3] | failed | 0.86151 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:2:4] | failed | 1.39 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:2:1] | failed | 1.96 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:2:2] | failed | 1.78 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:2:3] | failed | 1.11 seconds | -./spec/controllers/errors_controller_spec.rb[1:2:1] | failed | 0.79434 seconds | -./spec/controllers/errors_controller_spec.rb[1:2:2] | failed | 0.87153 seconds | -./spec/controllers/errors_controller_spec.rb[1:2:3] | failed | 1.99 seconds | -./spec/controllers/errors_controller_spec.rb[1:2:4] | failed | 1.97 seconds | -./spec/controllers/errors_controller_spec.rb[1:3:1] | failed | 0.90122 seconds | -./spec/controllers/errors_controller_spec.rb[1:3:2] | failed | 0.84712 seconds | -./spec/controllers/errors_controller_spec.rb[1:3:3] | failed | 1.23 seconds | -./spec/controllers/errors_controller_spec.rb[1:3:4] | failed | 1.12 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:1:1] | passed | 0.70875 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:1:2] | passed | 0.54489 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:1:3] | passed | 0.89081 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:1:4] | passed | 0.51258 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:2:1] | passed | 0.52053 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:2:2] | passed | 0.48337 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:2:3] | passed | 0.69658 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:2:1] | passed | 0.92356 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:2:2] | passed | 1.26 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:2:3] | passed | 0.88205 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:3:1] | passed | 0.94887 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:3:2] | passed | 0.91546 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:3:3] | passed | 0.98788 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:3:4] | passed | 1.07 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:4:1] | passed | 1.05 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:4:2] | passed | 0.89247 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:4:3] | passed | 0.88503 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:4:4] | passed | 1 second | -./spec/controllers/execution_environments_controller_spec.rb[1:5:1] | passed | 0.47142 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:5:2] | passed | 0.5298 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:5:3] | passed | 0.5247 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:6:1] | passed | 0.52958 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:6:2] | passed | 0.75957 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:6:3] | passed | 0.57441 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:6:4] | passed | 0.51306 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:7:1:1] | passed | 0.4847 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:7:2:1] | passed | 0.47169 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:7:2:2] | passed | 0.53817 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:7:2:3] | passed | 0.49187 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:8:1] | passed | 0.90694 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:8:2] | passed | 0.90327 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:8:3] | passed | 0.92948 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:9:1] | passed | 0.94092 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:9:2] | passed | 1.01 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:9:3] | passed | 0.87026 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:10:1] | passed | 1.01 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:10:2] | passed | 1.13 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:10:3] | passed | 0.90735 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:1:1] | passed | 0.97962 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:1:2] | passed | 1.02 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:1:3] | passed | 1.04 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:2:1] | passed | 1.05 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:2:2] | passed | 1.05 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:2:3] | passed | 0.97916 seconds | -./spec/controllers/exercises_controller_spec.rb[1:1:1] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:1:2] | passed | 1.25 seconds | -./spec/controllers/exercises_controller_spec.rb[1:1:3] | passed | 1.15 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:1:1] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:1:2] | passed | 1.14 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:1:3] | passed | 1.04 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:1:4] | passed | 1.18 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:2:1] | passed | 1.12 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:2:2] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:2:3] | passed | 1.17 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:1:1] | passed | 1.05 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:1:2] | passed | 1.15 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:1:3] | passed | 1.12 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:1:1] | passed | 2.91 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:2:1:1] | passed | 3.18 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:2:1:2] | passed | 3.23 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:2:2:1] | passed | 2.76 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:2:2:2] | passed | 2.79 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:3:1] | passed | 0.90433 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:3:2] | passed | 0.68602 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:3:3] | passed | 0.72294 seconds | -./spec/controllers/exercises_controller_spec.rb[1:4:1] | passed | 1.13 seconds | -./spec/controllers/exercises_controller_spec.rb[1:4:2] | passed | 1.63 seconds | -./spec/controllers/exercises_controller_spec.rb[1:4:3] | passed | 1.12 seconds | -./spec/controllers/exercises_controller_spec.rb[1:5:1] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:5:2] | passed | 1.08 seconds | -./spec/controllers/exercises_controller_spec.rb[1:5:3] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:1] | passed | 2.07 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:2:1] | passed | 2.01 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:3:1] | passed | 2.05 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:4] | passed | 2.08 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:5] | passed | 2.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:2:1] | passed | 1.09 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:2:2] | passed | 1.35 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:2:3] | passed | 1.31 seconds | -./spec/controllers/exercises_controller_spec.rb[1:7:1] | passed | 0.45366 seconds | -./spec/controllers/exercises_controller_spec.rb[1:7:2] | passed | 0.56032 seconds | -./spec/controllers/exercises_controller_spec.rb[1:7:3] | passed | 0.46597 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:1] | passed | 0.51851 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:2] | passed | 0.52441 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:3] | passed | 0.50381 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:4] | passed | 0.56026 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:5] | passed | 0.50493 seconds | -./spec/controllers/exercises_controller_spec.rb[1:9:1:1] | passed | 1.07 seconds | -./spec/controllers/exercises_controller_spec.rb[1:9:1:2] | passed | 1.14 seconds | -./spec/controllers/exercises_controller_spec.rb[1:9:1:3] | passed | 1.33 seconds | -./spec/controllers/exercises_controller_spec.rb[1:10:1:1] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:10:1:2] | passed | 1.14 seconds | -./spec/controllers/exercises_controller_spec.rb[1:10:1:3] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:11:1] | passed | 1.25 seconds | -./spec/controllers/exercises_controller_spec.rb[1:11:2] | passed | 1.02 seconds | -./spec/controllers/exercises_controller_spec.rb[1:11:3] | passed | 1.07 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:1:1] | passed | 1.16 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:1:2] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:1:3] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:1:4] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:2:1] | passed | 1.19 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:2:2] | passed | 1.15 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:2:3] | passed | 1.25 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:2:4] | passed | 1.35 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:2:1] | passed | 1.24 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:2:2] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:2:3] | passed | 1.07 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:2:4] | passed | 1.05 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:1:1] | passed | 1.92 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:1:2] | passed | 1.66 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:2:1] | passed | 1.13 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:2:2] | passed | 1.18 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:2:3] | passed | 1.22 seconds | -./spec/controllers/external_users_controller_spec.rb[1:1:1] | passed | 0.47717 seconds | -./spec/controllers/external_users_controller_spec.rb[1:1:2] | passed | 0.3431 seconds | -./spec/controllers/external_users_controller_spec.rb[1:1:3] | passed | 0.41034 seconds | -./spec/controllers/external_users_controller_spec.rb[1:2:1] | passed | 0.47422 seconds | -./spec/controllers/external_users_controller_spec.rb[1:2:2] | passed | 0.35718 seconds | -./spec/controllers/external_users_controller_spec.rb[1:2:3] | passed | 0.35027 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:1:1] | passed | 0.51875 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:1:2] | passed | 0.49511 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:1:3] | passed | 0.65131 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:1:4] | passed | 0.65157 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:2:1] | passed | 0.58255 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:2:2] | passed | 0.54964 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:2:3] | passed | 0.70094 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:2:4] | passed | 0.52823 seconds | -./spec/controllers/file_types_controller_spec.rb[1:2:1] | passed | 0.7025 seconds | -./spec/controllers/file_types_controller_spec.rb[1:2:2] | passed | 0.81924 seconds | -./spec/controllers/file_types_controller_spec.rb[1:2:3] | passed | 1.05 seconds | -./spec/controllers/file_types_controller_spec.rb[1:3:1] | passed | 0.82095 seconds | -./spec/controllers/file_types_controller_spec.rb[1:3:2] | passed | 0.97098 seconds | -./spec/controllers/file_types_controller_spec.rb[1:3:3] | passed | 0.70247 seconds | -./spec/controllers/file_types_controller_spec.rb[1:3:4] | passed | 0.70796 seconds | -./spec/controllers/file_types_controller_spec.rb[1:4:1] | passed | 0.79963 seconds | -./spec/controllers/file_types_controller_spec.rb[1:4:2] | passed | 0.52003 seconds | -./spec/controllers/file_types_controller_spec.rb[1:4:3] | passed | 0.55009 seconds | -./spec/controllers/file_types_controller_spec.rb[1:5:1] | passed | 0.48244 seconds | -./spec/controllers/file_types_controller_spec.rb[1:5:2] | passed | 0.57857 seconds | -./spec/controllers/file_types_controller_spec.rb[1:5:3] | passed | 0.52193 seconds | -./spec/controllers/file_types_controller_spec.rb[1:5:4] | passed | 0.49106 seconds | -./spec/controllers/file_types_controller_spec.rb[1:6:1] | passed | 0.67506 seconds | -./spec/controllers/file_types_controller_spec.rb[1:6:2] | passed | 0.71581 seconds | -./spec/controllers/file_types_controller_spec.rb[1:6:3] | passed | 0.75251 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:1:1] | passed | 1.12 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:1:2] | passed | 0.70886 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:1:3] | passed | 0.72567 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:2:1] | passed | 0.70726 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:2:2] | passed | 0.70036 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:2:3] | passed | 0.96331 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:2:4] | passed | 0.72221 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:1:1] | passed | 0.89467 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:1:2] | passed | 1.01 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:1:3] | passed | 0.96557 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:1:4] | passed | 1.05 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:2:1] | passed | 0.94989 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:2:2] | passed | 1.33 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:2:3] | passed | 0.88133 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:2:4] | passed | 1.05 seconds | -./spec/controllers/hints_controller_spec.rb[1:2:1] | passed | 1.3 seconds | -./spec/controllers/hints_controller_spec.rb[1:2:2] | passed | 1.4 seconds | -./spec/controllers/hints_controller_spec.rb[1:2:3] | passed | 1.61 seconds | -./spec/controllers/hints_controller_spec.rb[1:2:4] | passed | 1.52 seconds | -./spec/controllers/hints_controller_spec.rb[1:3:1] | passed | 1.38 seconds | -./spec/controllers/hints_controller_spec.rb[1:3:2] | passed | 1.36 seconds | -./spec/controllers/hints_controller_spec.rb[1:3:3] | passed | 1.29 seconds | -./spec/controllers/hints_controller_spec.rb[1:3:4] | passed | 1.78 seconds | -./spec/controllers/hints_controller_spec.rb[1:4:1] | passed | 0.95889 seconds | -./spec/controllers/hints_controller_spec.rb[1:4:2] | passed | 0.90212 seconds | -./spec/controllers/hints_controller_spec.rb[1:4:3] | passed | 0.90994 seconds | -./spec/controllers/hints_controller_spec.rb[1:4:4] | passed | 0.88076 seconds | -./spec/controllers/hints_controller_spec.rb[1:5:1] | passed | 1.05 seconds | -./spec/controllers/hints_controller_spec.rb[1:5:2] | passed | 1.27 seconds | -./spec/controllers/hints_controller_spec.rb[1:5:3] | passed | 0.83885 seconds | -./spec/controllers/hints_controller_spec.rb[1:5:4] | passed | 1.13 seconds | -./spec/controllers/hints_controller_spec.rb[1:6:1] | passed | 1.82 seconds | -./spec/controllers/hints_controller_spec.rb[1:6:2] | passed | 1.31 seconds | -./spec/controllers/hints_controller_spec.rb[1:6:3] | passed | 1.3 seconds | -./spec/controllers/hints_controller_spec.rb[1:6:4] | passed | 1.34 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:1:1] | passed | 1.74 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:1:2] | passed | 1.31 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:1:3] | passed | 1.36 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:2:1] | passed | 1.31 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:2:2] | passed | 1.39 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:2:3] | passed | 1.36 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:2:4] | passed | 1.28 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:1:1] | passed | 0.93653 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:2:1] | passed | 1.07 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:3:1] | passed | 0.85398 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:3:2] | passed | 1.02 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:3:3] | passed | 0.90663 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:1:1] | passed | 0.9466 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:2:1] | passed | 0.94167 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:3:1] | passed | 0.8878 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:3:2] | passed | 1 second | -./spec/controllers/internal_users_controller_spec.rb[1:2:3:3] | passed | 0.88129 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:4:1] | passed | 1.02 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:4:2] | passed | 1 second | -./spec/controllers/internal_users_controller_spec.rb[1:2:4:3] | passed | 1.04 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:5:1] | passed | 1.19 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:5:2] | passed | 1.04 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:5:3] | passed | 1.27 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:5:4] | passed | 1.11 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:1] | passed | 0.74172 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:2] | passed | 0.7571 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:3] | passed | 0.72091 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:4] | passed | 0.76376 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:5] | passed | 1.01 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:6] | passed | 0.75806 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:2:1] | passed | 0.67078 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:2:2] | passed | 0.69978 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:2:3] | passed | 0.7253 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:4:1] | passed | 0.70981 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:4:2] | passed | 1.16 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:4:3] | passed | 0.95224 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:5:1] | passed | 1.19 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:5:2] | passed | 0.74226 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:5:3] | passed | 0.69343 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:6:1:1] | passed | 0.7506 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:6:1:2] | passed | 0.94879 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:6:2:1] | passed | 0.72029 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:6:2:2] | passed | 0.80326 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:7:1:1] | passed | 0.71071 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:7:1:2] | passed | 0.76412 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:7:2:1] | passed | 0.71613 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:7:2:2] | passed | 0.75737 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:8:1] | passed | 0.72195 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:8:2] | passed | 0.75732 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:8:3] | passed | 0.71156 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:9:1] | passed | 1.64 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:9:2] | passed | 0.75199 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:9:3] | passed | 0.71997 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:10:1:1] | passed | 0.67374 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:10:2:1] | passed | 0.89616 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:10:2:2] | passed | 0.89143 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:10:2:3] | passed | 0.68439 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:1:1] | passed | 0.75883 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:1] | passed | 1.12 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:2] | passed | 1.34 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:3] | passed | 1.17 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:1] | passed | 0.94258 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:2] | passed | 0.92263 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:3] | passed | 1.19 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:12:1] | passed | 0.71737 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:12:2] | passed | 0.71684 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:12:3] | passed | 0.74044 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:1:1] | passed | 0.71091 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:1:2] | passed | 1.55 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:2:1] | passed | 0.67754 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:2:2] | passed | 0.70417 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:2:3] | passed | 0.71035 seconds | -./spec/controllers/sessions_controller_spec.rb[1:1:1:1] | passed | 1.26 seconds | -./spec/controllers/sessions_controller_spec.rb[1:1:1:2] | passed | 0.68359 seconds | -./spec/controllers/sessions_controller_spec.rb[1:1:2:1] | passed | 0.79514 seconds | -./spec/controllers/sessions_controller_spec.rb[1:1:2:2] | passed | 0.52831 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:1:1] | passed | 0.37032 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:2:1] | passed | 0.40997 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:3:1] | passed | 0.26585 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:4:1] | passed | 0.47495 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:5:1] | passed | 0.63658 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:1] | passed | 1.24 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:2] | passed | 0.99964 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:3] | passed | 1.08 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:4] | passed | 1.08 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:5] | passed | 1.25 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:6:1] | passed | 1.25 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:7:1] | passed | 0.93837 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:8] | passed | 1.75 seconds | -./spec/controllers/sessions_controller_spec.rb[1:3:1:1] | passed | 0.33515 seconds | -./spec/controllers/sessions_controller_spec.rb[1:3:1:2] | passed | 0.39173 seconds | -./spec/controllers/sessions_controller_spec.rb[1:3:2:1] | passed | 0.33611 seconds | -./spec/controllers/sessions_controller_spec.rb[1:3:2:2] | passed | 0.35244 seconds | -./spec/controllers/sessions_controller_spec.rb[1:4:1] | passed | 1.23 seconds | -./spec/controllers/sessions_controller_spec.rb[1:4:2] | passed | 0.97189 seconds | -./spec/controllers/sessions_controller_spec.rb[1:4:3] | passed | 0.93231 seconds | -./spec/controllers/sessions_controller_spec.rb[1:5:1:1] | passed | 0.84563 seconds | -./spec/controllers/sessions_controller_spec.rb[1:5:1:2] | passed | 0.38509 seconds | -./spec/controllers/sessions_controller_spec.rb[1:5:2:1] | passed | 0.32513 seconds | -./spec/controllers/sessions_controller_spec.rb[1:5:2:2] | passed | 0.44308 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:1:1] | passed | 1.5 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:1:2] | passed | 1.59 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:1:3] | passed | 1.48 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:1:4] | passed | 1.43 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:2:1] | passed | 0.54507 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:2:2] | passed | 0.55113 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:2:3] | passed | 0.50523 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:1:1] | passed | 2.4 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:1] | passed | 2.92 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:2] | passed | 3.2 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:3] | passed | 3.27 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:4] | passed | 3.4 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:5] | passed | 3.52 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:1] | passed | 3.74 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:2] | passed | 3.1 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:3] | passed | 3.82 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:4] | passed | 3.25 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:5] | passed | 3 seconds | -./spec/controllers/submissions_controller_spec.rb[1:3:1] | passed | 0.80581 seconds | -./spec/controllers/submissions_controller_spec.rb[1:3:2] | passed | 0.49216 seconds | -./spec/controllers/submissions_controller_spec.rb[1:3:3] | passed | 0.50166 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:1:1] | passed | 2.07 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:1] | passed | 2.88 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:2] | passed | 3.44 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:3] | passed | 3 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:4] | passed | 3.42 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:5] | passed | 3.56 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:1] | passed | 3.5 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:2] | passed | 2.96 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:3] | passed | 3.11 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:4] | passed | 2.76 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:5] | passed | 3.47 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:1:1] | failed | 2.02 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:1:2] | failed | 2.21 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:1:3] | failed | 1.99 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:1:4] | failed | 2.01 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:2:1:1] | pending | 2.07 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:2:2:1] | pending | 2.15 seconds | -./spec/controllers/submissions_controller_spec.rb[1:6:1] | passed | 2.13 seconds | -./spec/controllers/submissions_controller_spec.rb[1:6:2] | passed | 2.09 seconds | -./spec/controllers/submissions_controller_spec.rb[1:6:3] | passed | 2 seconds | -./spec/controllers/submissions_controller_spec.rb[1:7:1] | passed | 2.07 seconds | -./spec/controllers/submissions_controller_spec.rb[1:7:2] | passed | 2.11 seconds | -./spec/controllers/submissions_controller_spec.rb[1:7:3] | passed | 2.24 seconds | -./spec/controllers/submissions_controller_spec.rb[1:8:1:1] | passed | 2.3 seconds | -./spec/controllers/submissions_controller_spec.rb[1:8:1:2] | passed | 2.03 seconds | -./spec/controllers/submissions_controller_spec.rb[1:8:2:1] | passed | 2.45 seconds | -./spec/controllers/submissions_controller_spec.rb[1:8:2:2] | passed | 2.03 seconds | -./spec/controllers/submissions_controller_spec.rb[1:9:1] | passed | 2.02 seconds | -./spec/controllers/submissions_controller_spec.rb[1:9:2] | passed | 2.08 seconds | -./spec/controllers/submissions_controller_spec.rb[1:9:3] | passed | 2.12 seconds | -./spec/controllers/submissions_controller_spec.rb[1:9:4] | passed | 2.21 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:1:1] | passed | 0.52306 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:1:2] | passed | 0.85799 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:1:3] | passed | 0.81074 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:1:4] | passed | 0.43519 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:2:1] | passed | 0.46153 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:2:2] | passed | 0.42009 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:2:3] | passed | 0.52245 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:2:4] | passed | 0.47165 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:1:1] | passed | 0.50978 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:1:2] | passed | 0.55994 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:1:3] | passed | 0.55707 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:2:1] | passed | 0.70031 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:2:2] | passed | 0.5281 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:2:3] | passed | 0.47249 seconds | -./spec/controllers/teams_controller_spec.rb[1:2:1] | passed | 1.17 seconds | -./spec/controllers/teams_controller_spec.rb[1:2:2] | passed | 1.96 seconds | -./spec/controllers/teams_controller_spec.rb[1:2:3] | passed | 1.26 seconds | -./spec/controllers/teams_controller_spec.rb[1:3:1] | passed | 1.4 seconds | -./spec/controllers/teams_controller_spec.rb[1:3:2] | passed | 1.22 seconds | -./spec/controllers/teams_controller_spec.rb[1:3:3] | passed | 1.22 seconds | -./spec/controllers/teams_controller_spec.rb[1:4:1] | passed | 0.93686 seconds | -./spec/controllers/teams_controller_spec.rb[1:4:2] | passed | 0.50114 seconds | -./spec/controllers/teams_controller_spec.rb[1:4:3] | passed | 0.44898 seconds | -./spec/controllers/teams_controller_spec.rb[1:5:1] | passed | 0.5113 seconds | -./spec/controllers/teams_controller_spec.rb[1:5:2] | passed | 0.49347 seconds | -./spec/controllers/teams_controller_spec.rb[1:5:3] | passed | 0.68706 seconds | -./spec/controllers/teams_controller_spec.rb[1:6:1] | passed | 1.2 seconds | -./spec/controllers/teams_controller_spec.rb[1:6:2] | passed | 1.21 seconds | -./spec/controllers/teams_controller_spec.rb[1:6:3] | passed | 1.24 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:1:1] | passed | 1.23 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:1:2] | passed | 1.87 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:2:1] | passed | 1.17 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:2:2] | passed | 1.22 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:2:3] | passed | 1.43 seconds | -./spec/features/authentication_spec.rb[1:1:1] | passed | 0.49429 seconds | -./spec/features/authentication_spec.rb[1:1:2:1] | passed | 0.60044 seconds | -./spec/features/authentication_spec.rb[1:1:3:1] | passed | 0.48862 seconds | -./spec/features/authentication_spec.rb[1:2:1] | passed | 0.43804 seconds | -./spec/features/authentication_spec.rb[1:2:2] | passed | 0.45646 seconds | -./spec/features/authentication_spec.rb[1:2:3] | passed | 0.47432 seconds | -./spec/features/authorization_spec.rb[1:1:1] | passed | 0.38984 seconds | -./spec/features/authorization_spec.rb[1:1:2] | passed | 0.56208 seconds | -./spec/features/authorization_spec.rb[1:1:3] | passed | 0.41139 seconds | -./spec/features/authorization_spec.rb[1:1:4] | passed | 0.42773 seconds | -./spec/features/authorization_spec.rb[1:1:5] | passed | 0.34909 seconds | -./spec/features/authorization_spec.rb[1:1:6] | passed | 0.38089 seconds | -./spec/features/authorization_spec.rb[1:2:1] | passed | 0.10333 seconds | -./spec/features/authorization_spec.rb[1:2:2] | failed | 0.23435 seconds | -./spec/features/authorization_spec.rb[1:2:3] | passed | 0.10429 seconds | -./spec/features/authorization_spec.rb[1:2:4] | passed | 0.16712 seconds | -./spec/features/authorization_spec.rb[1:2:5] | passed | 0.10363 seconds | -./spec/features/authorization_spec.rb[1:2:6] | passed | 0.10498 seconds | -./spec/features/authorization_spec.rb[1:3:1] | passed | 0.28455 seconds | -./spec/features/authorization_spec.rb[1:3:2] | passed | 0.29486 seconds | -./spec/features/authorization_spec.rb[1:3:3] | passed | 0.44396 seconds | -./spec/features/authorization_spec.rb[1:3:4] | passed | 0.30501 seconds | -./spec/features/authorization_spec.rb[1:3:5] | passed | 0.33616 seconds | -./spec/features/authorization_spec.rb[1:3:6] | passed | 0.27512 seconds | -./spec/features/editor_spec.rb[1:1] | failed | 0.91726 seconds | -./spec/features/editor_spec.rb[1:2:1] | failed | 0.38425 seconds | -./spec/features/editor_spec.rb[1:3:1] | failed | 0.3683 seconds | -./spec/features/editor_spec.rb[1:3:2] | failed | 0.35491 seconds | -./spec/features/editor_spec.rb[1:3:3:1:1:1] | failed | 0.35493 seconds | -./spec/features/editor_spec.rb[1:3:3:1:2:1] | failed | 0.35738 seconds | -./spec/features/editor_spec.rb[1:3:3:1:3:1] | failed | 0.36695 seconds | -./spec/features/editor_spec.rb[1:3:3:2:1] | failed | 0.49427 seconds | -./spec/features/editor_spec.rb[1:4:1] | failed | 0.38213 seconds | -./spec/features/factories_spec.rb[1:1] | passed | 30.81 seconds | -./spec/helpers/admin/dashboard_helper_spec.rb[1:1:1] | passed | 0.04949 seconds | -./spec/helpers/admin/dashboard_helper_spec.rb[1:2:1] | passed | 0.4322 seconds | -./spec/helpers/admin/dashboard_helper_spec.rb[1:2:2] | passed | 0.42845 seconds | -./spec/helpers/admin/dashboard_helper_spec.rb[1:2:3] | passed | 0.43619 seconds | -./spec/helpers/application_helper_spec.rb[1:1:1:1] | passed | 0.04601 seconds | -./spec/helpers/application_helper_spec.rb[1:1:1:2] | passed | 0.05083 seconds | -./spec/helpers/application_helper_spec.rb[1:1:2:1] | passed | 0.04312 seconds | -./spec/helpers/application_helper_spec.rb[1:2:1] | passed | 0.05053 seconds | -./spec/helpers/application_helper_spec.rb[1:3:1] | passed | 0.04669 seconds | -./spec/helpers/application_helper_spec.rb[1:4:1] | passed | 0.05579 seconds | -./spec/helpers/application_helper_spec.rb[1:5:1:1] | passed | 0.04768 seconds | -./spec/helpers/application_helper_spec.rb[1:5:1:2] | passed | 0.05455 seconds | -./spec/helpers/application_helper_spec.rb[1:5:1:3] | passed | 0.0449 seconds | -./spec/helpers/application_helper_spec.rb[1:5:2:1] | passed | 0.04644 seconds | -./spec/helpers/application_helper_spec.rb[1:5:2:2] | passed | 0.05222 seconds | -./spec/helpers/application_helper_spec.rb[1:5:2:3] | passed | 0.04625 seconds | -./spec/helpers/application_helper_spec.rb[1:6:1] | passed | 0.04555 seconds | -./spec/helpers/application_helper_spec.rb[1:7:1:1] | passed | 0.0475 seconds | -./spec/helpers/application_helper_spec.rb[1:7:1:2] | passed | 0.04511 seconds | -./spec/helpers/application_helper_spec.rb[1:7:2:1] | passed | 0.05068 seconds | -./spec/helpers/application_helper_spec.rb[1:7:2:2] | passed | 0.04573 seconds | -./spec/helpers/application_helper_spec.rb[1:7:3:1] | passed | 0.05091 seconds | -./spec/helpers/application_helper_spec.rb[1:7:3:2] | passed | 0.05068 seconds | -./spec/helpers/application_helper_spec.rb[1:7:4:1] | passed | 0.05306 seconds | -./spec/helpers/application_helper_spec.rb[1:7:4:2] | passed | 0.05163 seconds | -./spec/helpers/application_helper_spec.rb[1:8:1] | passed | 0.04636 seconds | -./spec/helpers/exercise_helper_spec.rb[1:1:1] | passed | 0.6475 seconds | -./spec/helpers/exercise_helper_spec.rb[1:1:2] | passed | 0.62291 seconds | -./spec/lib/assessor_spec.rb[1:1:1:1] | passed | 0.46695 seconds | -./spec/lib/assessor_spec.rb[1:1:1:2] | passed | 0.46151 seconds | -./spec/lib/assessor_spec.rb[1:1:2:1] | passed | 0.51 seconds | -./spec/lib/assessor_spec.rb[1:1:2:2] | passed | 0.45934 seconds | -./spec/lib/assessor_spec.rb[1:2:1] | passed | 0.83966 seconds | -./spec/lib/assessor_spec.rb[1:3:1:1] | passed | 0.46642 seconds | -./spec/lib/assessor_spec.rb[1:3:2:1] | passed | 0.47094 seconds | -./spec/lib/code_ocean/config_spec.rb[1:1:1:1:1] | passed | 0.05578 seconds | -./spec/lib/code_ocean/config_spec.rb[1:1:1:2:1] | passed | 0.04735 seconds | -./spec/lib/code_ocean/config_spec.rb[1:1:2:1:1] | passed | 0.0479 seconds | -./spec/lib/code_ocean/config_spec.rb[1:1:2:2:1] | passed | 0.04498 seconds | -./spec/lib/docker_client_spec.rb[1:1:1:1] | passed | 0.05104 seconds | -./spec/lib/docker_client_spec.rb[1:1:2:1] | passed | 0.05096 seconds | -./spec/lib/docker_client_spec.rb[1:2:1] | passed | 0.45035 seconds | -./spec/lib/docker_client_spec.rb[1:2:2] | passed | 0.44681 seconds | -./spec/lib/docker_client_spec.rb[1:2:3] | passed | 0.4424 seconds | -./spec/lib/docker_client_spec.rb[1:2:4] | passed | 0.43693 seconds | -./spec/lib/docker_client_spec.rb[1:3:1] | passed | 0.44354 seconds | -./spec/lib/docker_client_spec.rb[1:3:2] | passed | 0.428 seconds | -./spec/lib/docker_client_spec.rb[1:4:1] | failed | 0.4641 seconds | -./spec/lib/docker_client_spec.rb[1:4:2] | failed | 0.48352 seconds | -./spec/lib/docker_client_spec.rb[1:4:3] | failed | 0.45244 seconds | -./spec/lib/docker_client_spec.rb[1:4:4] | failed | 0.45568 seconds | -./spec/lib/docker_client_spec.rb[1:4:5] | failed | 0.44904 seconds | -./spec/lib/docker_client_spec.rb[1:4:6] | failed | 0.46663 seconds | -./spec/lib/docker_client_spec.rb[1:4:7:1:1] | failed | 0.45626 seconds | -./spec/lib/docker_client_spec.rb[1:4:7:2:1] | pending | 0.45135 seconds | -./spec/lib/docker_client_spec.rb[1:5:1] | passed | 1.99 seconds | -./spec/lib/docker_client_spec.rb[1:5:2] | passed | 1.97 seconds | -./spec/lib/docker_client_spec.rb[1:5:3] | passed | 1.96 seconds | -./spec/lib/docker_client_spec.rb[1:6:1] | passed | 2.1 seconds | -./spec/lib/docker_client_spec.rb[1:7:1] | failed | 0.52902 seconds | -./spec/lib/docker_client_spec.rb[1:7:2] | failed | 0.47791 seconds | -./spec/lib/docker_client_spec.rb[1:7:3] | failed | 0.4794 seconds | -./spec/lib/docker_client_spec.rb[1:7:4] | failed | 0.45839 seconds | -./spec/lib/docker_client_spec.rb[1:7:5] | failed | 0.52342 seconds | -./spec/lib/docker_client_spec.rb[1:8:1] | failed | 0.47863 seconds | -./spec/lib/docker_client_spec.rb[1:8:2] | failed | 0.52634 seconds | -./spec/lib/docker_client_spec.rb[1:8:3:1:1] | failed | 0.46634 seconds | -./spec/lib/docker_client_spec.rb[1:8:3:2:1] | pending | 0.44356 seconds | -./spec/lib/docker_client_spec.rb[1:9:1] | failed | 1.97 seconds | -./spec/lib/docker_client_spec.rb[1:9:2] | failed | 1.97 seconds | -./spec/lib/docker_client_spec.rb[1:9:3] | failed | 2 seconds | -./spec/lib/docker_client_spec.rb[1:10:1] | failed | 1.96 seconds | -./spec/lib/docker_client_spec.rb[1:10:2] | failed | 1.97 seconds | -./spec/lib/docker_client_spec.rb[1:10:3] | failed | 2.02 seconds | -./spec/lib/docker_client_spec.rb[1:11:1] | passed | 0.04751 seconds | -./spec/lib/docker_client_spec.rb[1:11:2] | passed | 0.04688 seconds | -./spec/lib/docker_client_spec.rb[1:12:1:1] | passed | 0.05314 seconds | -./spec/lib/docker_client_spec.rb[1:12:2:1] | passed | 0.04604 seconds | -./spec/lib/docker_client_spec.rb[1:13:1] | failed | 0.47195 seconds | -./spec/lib/docker_client_spec.rb[1:13:2] | failed | 0.45205 seconds | -./spec/lib/docker_client_spec.rb[1:14:1] | passed | 0.05023 seconds | -./spec/lib/docker_client_spec.rb[1:15:1:1] | passed | 0.42814 seconds | -./spec/lib/docker_client_spec.rb[1:15:1:2] | passed | 0.43627 seconds | -./spec/lib/docker_client_spec.rb[1:15:2:1] | passed | 0.42761 seconds | -./spec/lib/docker_client_spec.rb[1:16:1] | failed | 0.82555 seconds | -./spec/lib/docker_client_spec.rb[1:16:2] | pending | 0.89455 seconds | -./spec/lib/docker_client_spec.rb[1:16:3] | pending | 0.82313 seconds | -./spec/lib/docker_client_spec.rb[1:16:4:1] | failed | 0.8775 seconds | -./spec/lib/docker_client_spec.rb[1:16:4:2] | failed | 0.89195 seconds | -./spec/lib/docker_client_spec.rb[1:16:5:1] | pending | 0.84039 seconds | -./spec/lib/docker_client_spec.rb[1:16:5:2] | failed | 0.85046 seconds | -./spec/lib/docker_client_spec.rb[1:16:5:3] | failed | 0.8589 seconds | -./spec/lib/docker_container_mixin_spec.rb[1:1:1] | passed | 0.0606 seconds | -./spec/lib/docker_container_mixin_spec.rb[1:1:2] | passed | 0.04567 seconds | -./spec/lib/docker_container_mixin_spec.rb[1:2:1] | passed | 0.06373 seconds | -./spec/lib/docker_container_mixin_spec.rb[1:2:2] | passed | 0.06955 seconds | -./spec/lib/docker_container_pool_spec.rb[1:1] | passed | 0.43583 seconds | -./spec/lib/docker_container_pool_spec.rb[1:2:1] | passed | 0.43681 seconds | -./spec/lib/docker_container_pool_spec.rb[1:2:2] | passed | 0.44123 seconds | -./spec/lib/docker_container_pool_spec.rb[1:3:1:1:1] | passed | 0.43728 seconds | -./spec/lib/docker_container_pool_spec.rb[1:3:1:2:1] | passed | 0.43581 seconds | -./spec/lib/docker_container_pool_spec.rb[1:3:2:1] | passed | 0.4393 seconds | -./spec/lib/docker_container_pool_spec.rb[1:4:1] | passed | 0.43248 seconds | -./spec/lib/docker_container_pool_spec.rb[1:5:1:1] | passed | 0.44943 seconds | -./spec/lib/docker_container_pool_spec.rb[1:5:2:1] | passed | 0.45709 seconds | -./spec/lib/docker_container_pool_spec.rb[1:6:1:1] | passed | 0.44414 seconds | -./spec/lib/docker_container_pool_spec.rb[1:6:2:1] | passed | 0.4425 seconds | -./spec/lib/docker_container_pool_spec.rb[1:7:1] | passed | 0.44224 seconds | -./spec/lib/docker_container_pool_spec.rb[1:7:2] | passed | 0.48752 seconds | -./spec/lib/file_tree_spec.rb[1:1:1:1:1] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:1:1:2:1] | passed | 1.75 seconds | -./spec/lib/file_tree_spec.rb[1:1:1:3:1] | passed | 1.76 seconds | -./spec/lib/file_tree_spec.rb[1:1:2:1:1] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:1:2:2:1] | passed | 1.78 seconds | -./spec/lib/file_tree_spec.rb[1:1:2:3:1] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:1:2:4:1] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:2:1] | passed | 0.04513 seconds | -./spec/lib/file_tree_spec.rb[1:3:1] | passed | 1.78 seconds | -./spec/lib/file_tree_spec.rb[1:3:2] | passed | 1.78 seconds | -./spec/lib/file_tree_spec.rb[1:3:3] | passed | 1.78 seconds | -./spec/lib/file_tree_spec.rb[1:4:1:1] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:4:1:2] | passed | 1.76 seconds | -./spec/lib/file_tree_spec.rb[1:4:1:3] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:4:2:1] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:4:2:2] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:4:2:3] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:4:2:4] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:5:1:1] | passed | 0.04461 seconds | -./spec/lib/file_tree_spec.rb[1:5:2:1] | passed | 0.04648 seconds | -./spec/lib/file_tree_spec.rb[1:5:3:1] | passed | 0.04946 seconds | -./spec/lib/file_tree_spec.rb[1:6:1] | passed | 0.04706 seconds | -./spec/lib/file_tree_spec.rb[1:6:2] | passed | 0.0554 seconds | -./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:1] | passed | 0.13097 seconds | -./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:2] | passed | 0.13694 seconds | -./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:3] | passed | 0.15343 seconds | -./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:4] | passed | 0.16829 seconds | -./spec/lib/junit_adapter_spec.rb[1:1:1:1] | passed | 0.0468 seconds | -./spec/lib/junit_adapter_spec.rb[1:1:2:1] | passed | 0.0495 seconds | -./spec/lib/mocha_adapter_spec.rb[1:1:1] | passed | 0.07256 seconds | -./spec/lib/nonce_store_spec.rb[1:1:1] | passed | 0.04928 seconds | -./spec/lib/nonce_store_spec.rb[1:2:1] | passed | 0.05167 seconds | -./spec/lib/nonce_store_spec.rb[1:3:1] | passed | 0.06516 seconds | -./spec/lib/nonce_store_spec.rb[1:3:2] | passed | 1.07 seconds | -./spec/lib/nonce_store_spec.rb[1:3:3] | passed | 0.05538 seconds | -./spec/lib/port_pool_spec.rb[1:1:1] | passed | 0.04779 seconds | -./spec/lib/port_pool_spec.rb[1:1:2:1] | passed | 0.05225 seconds | -./spec/lib/port_pool_spec.rb[1:1:2:2] | passed | 0.04625 seconds | -./spec/lib/port_pool_spec.rb[1:1:3:1] | passed | 0.04389 seconds | -./spec/lib/port_pool_spec.rb[1:2:1:1] | passed | 0.04476 seconds | -./spec/lib/port_pool_spec.rb[1:2:2:1] | passed | 0.04679 seconds | -./spec/lib/port_pool_spec.rb[1:2:3:1] | passed | 0.05205 seconds | -./spec/lib/py_unit_adapter_spec.rb[1:1:1] | passed | 0.0464 seconds | -./spec/lib/rspec_adapter_spec.rb[1:1:1] | passed | 0.04745 seconds | -./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:1:1] | passed | 0.05192 seconds | -./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:2:1] | passed | 0.04797 seconds | -./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:3:1] | passed | 0.05233 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:1:1:1] | passed | 0.06723 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:1:2:1] | passed | 0.05049 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:1:3:1] | passed | 0.0499 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:2:1] | passed | 0.04968 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:3:1] | passed | 0.0518 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:4:1] | passed | 0.05101 seconds | -./spec/lib/whistleblower_spec.rb[1:1:1] | passed | 0.4526 seconds | -./spec/lib/whistleblower_spec.rb[1:1:2] | passed | 0.43831 seconds | -./spec/lib/whistleblower_spec.rb[1:2:1] | passed | 0.43577 seconds | -./spec/mailers/user_mailer_spec.rb[1:1:1] | passed | 0.25795 seconds | -./spec/mailers/user_mailer_spec.rb[1:1:2] | passed | 0.27475 seconds | -./spec/mailers/user_mailer_spec.rb[1:1:3] | passed | 0.2699 seconds | -./spec/mailers/user_mailer_spec.rb[1:1:4] | passed | 0.25876 seconds | -./spec/mailers/user_mailer_spec.rb[1:2:1] | passed | 0.23646 seconds | -./spec/mailers/user_mailer_spec.rb[1:3:1] | passed | 0.21859 seconds | -./spec/mailers/user_mailer_spec.rb[1:3:2] | passed | 0.22282 seconds | -./spec/mailers/user_mailer_spec.rb[1:3:3] | passed | 0.33699 seconds | -./spec/mailers/user_mailer_spec.rb[1:3:4] | passed | 0.21741 seconds | -./spec/models/code_ocean/file_spec.rb[1:1] | passed | 0.05281 seconds | -./spec/models/code_ocean/file_spec.rb[1:2] | passed | 0.06111 seconds | -./spec/models/code_ocean/file_spec.rb[1:3] | passed | 0.05727 seconds | -./spec/models/code_ocean/file_spec.rb[1:4] | passed | 0.06252 seconds | -./spec/models/code_ocean/file_spec.rb[1:5:1] | passed | 0.05775 seconds | -./spec/models/code_ocean/file_spec.rb[1:5:2] | passed | 0.06536 seconds | -./spec/models/code_ocean/file_spec.rb[1:5:3] | passed | 0.06164 seconds | -./spec/models/code_ocean/file_spec.rb[1:6:1] | passed | 0.06148 seconds | -./spec/models/code_ocean/file_spec.rb[1:6:2] | passed | 0.06278 seconds | -./spec/models/consumer_spec.rb[1:1] | passed | 0.05116 seconds | -./spec/models/consumer_spec.rb[1:2] | passed | 0.05519 seconds | -./spec/models/consumer_spec.rb[1:3] | passed | 0.07053 seconds | -./spec/models/consumer_spec.rb[1:4] | passed | 0.0555 seconds | -./spec/models/error_spec.rb[1:1] | passed | 0.04672 seconds | -./spec/models/error_spec.rb[1:2] | passed | 0.04962 seconds | -./spec/models/error_spec.rb[1:3:1] | passed | 0.04457 seconds | -./spec/models/execution_environment_spec.rb[1:1] | passed | 0.88342 seconds | -./spec/models/execution_environment_spec.rb[1:2] | passed | 0.41619 seconds | -./spec/models/execution_environment_spec.rb[1:3] | passed | 0.32074 seconds | -./spec/models/execution_environment_spec.rb[1:4] | passed | 0.87759 seconds | -./spec/models/execution_environment_spec.rb[1:5] | passed | 0.35236 seconds | -./spec/models/execution_environment_spec.rb[1:6] | passed | 0.34291 seconds | -./spec/models/execution_environment_spec.rb[1:7] | passed | 0.30257 seconds | -./spec/models/execution_environment_spec.rb[1:8] | passed | 0.51367 seconds | -./spec/models/execution_environment_spec.rb[1:9] | passed | 0.38582 seconds | -./spec/models/execution_environment_spec.rb[1:10] | passed | 0.31626 seconds | -./spec/models/execution_environment_spec.rb[1:11] | passed | 0.49556 seconds | -./spec/models/execution_environment_spec.rb[1:12] | passed | 0.38436 seconds | -./spec/models/execution_environment_spec.rb[1:13] | passed | 0.34001 seconds | -./spec/models/execution_environment_spec.rb[1:14:1:1] | passed | 1.37 seconds | -./spec/models/execution_environment_spec.rb[1:14:2:1] | passed | 0.5388 seconds | -./spec/models/execution_environment_spec.rb[1:14:3:1] | passed | 0.65292 seconds | -./spec/models/execution_environment_spec.rb[1:14:4:1] | passed | 0.30448 seconds | -./spec/models/execution_environment_spec.rb[1:15:1] | passed | 0.31281 seconds | -./spec/models/execution_environment_spec.rb[1:15:2] | passed | 0.34101 seconds | -./spec/models/execution_environment_spec.rb[1:15:3] | passed | 0.37395 seconds | -./spec/models/execution_environment_spec.rb[1:16:1] | failed | 3 minutes 15.8 seconds | -./spec/models/execution_environment_spec.rb[1:16:2] | failed | 2 minutes 1.6 seconds | -./spec/models/execution_environment_spec.rb[1:16:3:1] | failed | 2 minutes 2.7 seconds | -./spec/models/execution_environment_spec.rb[1:16:4:1] | failed | 3 minutes 31.8 seconds | -./spec/models/exercise_spec.rb[1:1] | passed | 4 seconds | -./spec/models/exercise_spec.rb[1:2] | passed | 0.06381 seconds | -./spec/models/exercise_spec.rb[1:3] | passed | 0.05955 seconds | -./spec/models/exercise_spec.rb[1:4] | passed | 0.0694 seconds | -./spec/models/exercise_spec.rb[1:5] | passed | 0.05958 seconds | -./spec/models/exercise_spec.rb[1:6] | passed | 0.06112 seconds | -./spec/models/exercise_spec.rb[1:7] | passed | 0.06287 seconds | -./spec/models/exercise_spec.rb[1:8:1:1] | passed | 1.54 seconds | -./spec/models/exercise_spec.rb[1:8:2:1] | passed | 1.86 seconds | -./spec/models/exercise_spec.rb[1:9:1:1] | passed | 1.54 seconds | -./spec/models/exercise_spec.rb[1:9:2:1] | passed | 1.83 seconds | -./spec/models/exercise_spec.rb[1:10:1] | passed | 1.54 seconds | -./spec/models/exercise_spec.rb[1:10:2] | passed | 1.55 seconds | -./spec/models/exercise_spec.rb[1:10:3] | passed | 1.55 seconds | -./spec/models/exercise_spec.rb[1:10:4] | passed | 1.56 seconds | -./spec/models/external_user_spec.rb[1:1] | passed | 0.05177 seconds | -./spec/models/external_user_spec.rb[1:2] | passed | 0.05328 seconds | -./spec/models/external_user_spec.rb[1:3:1] | passed | 0.06456 seconds | -./spec/models/external_user_spec.rb[1:4:1] | passed | 0.05401 seconds | -./spec/models/external_user_spec.rb[1:5:1] | passed | 0.05196 seconds | -./spec/models/external_user_spec.rb[1:6:1] | passed | 0.06018 seconds | -./spec/models/file_type_spec.rb[1:1] | passed | 0.05687 seconds | -./spec/models/file_type_spec.rb[1:2:1] | passed | 0.05752 seconds | -./spec/models/file_type_spec.rb[1:2:2] | passed | 0.05774 seconds | -./spec/models/file_type_spec.rb[1:3:1] | passed | 0.06183 seconds | -./spec/models/file_type_spec.rb[1:3:2] | passed | 0.06521 seconds | -./spec/models/file_type_spec.rb[1:4] | passed | 0.08014 seconds | -./spec/models/file_type_spec.rb[1:5] | passed | 0.05505 seconds | -./spec/models/file_type_spec.rb[1:6] | passed | 0.06553 seconds | -./spec/models/file_type_spec.rb[1:7] | passed | 0.05611 seconds | -./spec/models/hint_spec.rb[1:1] | passed | 0.05463 seconds | -./spec/models/hint_spec.rb[1:2] | passed | 0.05013 seconds | -./spec/models/hint_spec.rb[1:3] | passed | 0.05554 seconds | -./spec/models/hint_spec.rb[1:4] | passed | 0.05332 seconds | -./spec/models/hint_spec.rb[1:5] | passed | 0.05561 seconds | -./spec/models/hint_spec.rb[1:6:1] | passed | 0.04798 seconds | -./spec/models/hint_spec.rb[1:7:1] | passed | 0.05355 seconds | -./spec/models/internal_user_spec.rb[1:1] | passed | 0.05381 seconds | -./spec/models/internal_user_spec.rb[1:2] | passed | 0.23652 seconds | -./spec/models/internal_user_spec.rb[1:3:1] | passed | 0.48092 seconds | -./spec/models/internal_user_spec.rb[1:3:2] | passed | 0.2442 seconds | -./spec/models/internal_user_spec.rb[1:4:1] | passed | 0.4856 seconds | -./spec/models/internal_user_spec.rb[1:4:2] | passed | 0.24731 seconds | -./spec/models/internal_user_spec.rb[1:5:1] | passed | 0.48664 seconds | -./spec/models/internal_user_spec.rb[1:5:2] | passed | 0.23371 seconds | -./spec/models/internal_user_spec.rb[1:6] | passed | 0.05358 seconds | -./spec/models/internal_user_spec.rb[1:7] | passed | 0.05487 seconds | -./spec/models/internal_user_spec.rb[1:8:1] | passed | 0.07052 seconds | -./spec/models/internal_user_spec.rb[1:9:1] | passed | 0.05715 seconds | -./spec/models/internal_user_spec.rb[1:10:1] | passed | 0.04854 seconds | -./spec/models/internal_user_spec.rb[1:11:1] | passed | 0.06655 seconds | -./spec/models/submission_spec.rb[1:1] | passed | 0.0644 seconds | -./spec/models/submission_spec.rb[1:2] | passed | 0.1015 seconds | -./spec/models/submission_spec.rb[1:3] | passed | 0.08179 seconds | -./spec/models/submission_spec.rb[1:4:1] | passed | 0.68143 seconds | -./spec/models/submission_spec.rb[1:4:2] | passed | 0.7595 seconds | -./spec/models/submission_spec.rb[1:5:1] | passed | 0.80489 seconds | -./spec/models/submission_spec.rb[1:5:2] | passed | 0.68498 seconds | -./spec/models/submission_spec.rb[1:6:1] | passed | 0.83722 seconds | -./spec/models/submission_spec.rb[1:6:2] | passed | 0.77297 seconds | -./spec/models/submission_spec.rb[1:7:1] | passed | 0.66752 seconds | -./spec/models/submission_spec.rb[1:7:2] | passed | 0.64445 seconds | -./spec/models/submission_spec.rb[1:8:1] | passed | 1.76 seconds | -./spec/models/submission_spec.rb[1:9:1:1] | passed | 1.66 seconds | -./spec/models/submission_spec.rb[1:9:2:1] | passed | 0.73879 seconds | -./spec/models/submission_spec.rb[1:10:1:1] | passed | 2.05 seconds | -./spec/models/submission_spec.rb[1:10:2:1] | passed | 0.71365 seconds | -./spec/models/submission_spec.rb[1:11:1] | passed | 0.82545 seconds | -./spec/models/submission_spec.rb[1:12:1] | passed | 0.8341 seconds | -./spec/models/submission_spec.rb[1:13:1] | passed | 0.84713 seconds | -./spec/models/submission_spec.rb[1:14:1] | passed | 0.68107 seconds | -./spec/models/team_spec.rb[1:1] | passed | 0.05459 seconds | -./spec/policies/admin/dashboard_policy_spec.rb[1:1:1] | passed | 0.04881 seconds | -./spec/policies/admin/dashboard_policy_spec.rb[1:1:2] | passed | 0.05824 seconds | -./spec/policies/admin/dashboard_policy_spec.rb[1:1:3] | passed | 0.06351 seconds | -./spec/policies/application_policy_spec.rb[1:1:1:1] | passed | 0.04957 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:1] | passed | 1.54 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:2] | passed | 1.54 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:3] | passed | 1.56 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:2:1] | passed | 1.57 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:2:2] | passed | 1.59 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:1] | passed | 1.54 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:2] | passed | 1.54 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:3] | passed | 1.96 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:2:2:1] | passed | 1.61 seconds | -./spec/policies/consumer_policy_spec.rb[1:1:1] | passed | 0.10357 seconds | -./spec/policies/consumer_policy_spec.rb[1:2:1] | passed | 0.08366 seconds | -./spec/policies/consumer_policy_spec.rb[1:3:1] | passed | 0.08169 seconds | -./spec/policies/consumer_policy_spec.rb[1:4:1] | passed | 0.08223 seconds | -./spec/policies/consumer_policy_spec.rb[1:5:1] | passed | 0.08195 seconds | -./spec/policies/consumer_policy_spec.rb[1:6:1] | passed | 0.07828 seconds | -./spec/policies/consumer_policy_spec.rb[1:7:1] | passed | 0.07932 seconds | -./spec/policies/error_policy_spec.rb[1:1:1] | passed | 0.45873 seconds | -./spec/policies/error_policy_spec.rb[1:1:2] | passed | 0.46128 seconds | -./spec/policies/error_policy_spec.rb[1:1:3] | passed | 0.46079 seconds | -./spec/policies/error_policy_spec.rb[1:2:1] | passed | 0.45973 seconds | -./spec/policies/error_policy_spec.rb[1:2:2] | passed | 0.45929 seconds | -./spec/policies/error_policy_spec.rb[1:2:3] | passed | 0.46767 seconds | -./spec/policies/error_policy_spec.rb[1:3:1] | passed | 0.445 seconds | -./spec/policies/error_policy_spec.rb[1:3:2] | passed | 0.46193 seconds | -./spec/policies/error_policy_spec.rb[1:3:3] | passed | 0.4657 seconds | -./spec/policies/error_policy_spec.rb[1:4:1] | passed | 0.46109 seconds | -./spec/policies/error_policy_spec.rb[1:4:2] | passed | 1.09 seconds | -./spec/policies/error_policy_spec.rb[1:4:3] | passed | 0.51032 seconds | -./spec/policies/error_policy_spec.rb[1:5:1] | passed | 0.4543 seconds | -./spec/policies/error_policy_spec.rb[1:5:2] | passed | 0.44643 seconds | -./spec/policies/error_policy_spec.rb[1:5:3] | passed | 0.47377 seconds | -./spec/policies/error_policy_spec.rb[1:6:1] | passed | 0.47607 seconds | -./spec/policies/error_policy_spec.rb[1:6:2] | passed | 0.45039 seconds | -./spec/policies/error_policy_spec.rb[1:6:3] | passed | 0.47517 seconds | -./spec/policies/error_policy_spec.rb[1:7:1] | passed | 0.45254 seconds | -./spec/policies/error_policy_spec.rb[1:7:2] | passed | 0.47799 seconds | -./spec/policies/error_policy_spec.rb[1:7:3] | passed | 0.46955 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:1:1] | passed | 0.4323 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:1:2] | passed | 0.45739 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:1:3] | passed | 0.44001 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:2:1] | passed | 0.55549 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:2:2] | passed | 0.43501 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:2:3] | passed | 0.43414 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:3:1] | passed | 0.4346 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:3:2] | passed | 0.45119 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:3:3] | passed | 0.44649 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:4:1] | passed | 0.43679 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:4:2] | passed | 0.43608 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:4:3] | passed | 0.45377 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:5:1] | passed | 0.43083 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:5:2] | passed | 0.42669 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:5:3] | passed | 0.45541 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:6:1] | passed | 0.4409 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:6:2] | passed | 0.43714 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:6:3] | passed | 0.45636 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:7:1] | passed | 0.42774 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:7:2] | passed | 0.42009 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:7:3] | passed | 0.4454 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:8:1] | passed | 0.42981 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:8:2] | passed | 0.42901 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:8:3] | passed | 0.44514 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:9:1] | passed | 0.43291 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:9:2] | passed | 0.44433 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:9:3] | passed | 0.44712 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:10:1] | passed | 0.43274 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:10:2] | passed | 0.4342 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:10:3] | passed | 0.4458 seconds | -./spec/policies/exercise_policy_spec.rb[1:1:1] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:2:1] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:2:2] | passed | 1.33 seconds | -./spec/policies/exercise_policy_spec.rb[1:2:3] | passed | 1.33 seconds | -./spec/policies/exercise_policy_spec.rb[1:3:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:3:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:3:3] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:4:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:4:2] | passed | 1.33 seconds | -./spec/policies/exercise_policy_spec.rb[1:4:3] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:5:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:5:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:5:3] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:5:4] | passed | 1.57 seconds | -./spec/policies/exercise_policy_spec.rb[1:6:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:6:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:6:3] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:6:4] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:7:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:7:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:7:3] | passed | 1.61 seconds | -./spec/policies/exercise_policy_spec.rb[1:7:4] | passed | 1.35 seconds | -./spec/policies/exercise_policy_spec.rb[1:8:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:8:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:8:3] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:8:4] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:9:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:9:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:9:3] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:9:4] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:10:1] | passed | 1.33 seconds | -./spec/policies/exercise_policy_spec.rb[1:11:1] | passed | 0.0779 seconds | -./spec/policies/exercise_policy_spec.rb[1:12:1] | passed | 0.0805 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:1:1] | passed | 0.04881 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:2:1] | passed | 0.04955 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:3:1] | passed | 0.75105 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:3:2] | passed | 0.76452 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:3:3] | passed | 0.7714 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:3:4] | passed | 0.75585 seconds | -./spec/policies/external_user_policy_spec.rb[1:1:1] | passed | 0.07825 seconds | -./spec/policies/external_user_policy_spec.rb[1:2:1] | passed | 0.07896 seconds | -./spec/policies/external_user_policy_spec.rb[1:3:1] | passed | 0.09095 seconds | -./spec/policies/external_user_policy_spec.rb[1:4:1] | passed | 0.08289 seconds | -./spec/policies/external_user_policy_spec.rb[1:5:1] | passed | 0.08806 seconds | -./spec/policies/external_user_policy_spec.rb[1:6:1] | passed | 0.24338 seconds | -./spec/policies/external_user_policy_spec.rb[1:7:1] | passed | 0.08096 seconds | -./spec/policies/file_type_policy_spec.rb[1:1:1] | passed | 0.23616 seconds | -./spec/policies/file_type_policy_spec.rb[1:1:2] | passed | 0.24798 seconds | -./spec/policies/file_type_policy_spec.rb[1:1:3] | passed | 0.24424 seconds | -./spec/policies/file_type_policy_spec.rb[1:2:1] | passed | 0.23601 seconds | -./spec/policies/file_type_policy_spec.rb[1:2:2] | passed | 0.24568 seconds | -./spec/policies/file_type_policy_spec.rb[1:2:3] | passed | 0.24071 seconds | -./spec/policies/file_type_policy_spec.rb[1:3:1] | passed | 0.23586 seconds | -./spec/policies/file_type_policy_spec.rb[1:3:2] | passed | 0.24816 seconds | -./spec/policies/file_type_policy_spec.rb[1:3:3] | passed | 0.23923 seconds | -./spec/policies/file_type_policy_spec.rb[1:4:1] | passed | 0.23465 seconds | -./spec/policies/file_type_policy_spec.rb[1:4:2] | passed | 0.23125 seconds | -./spec/policies/file_type_policy_spec.rb[1:4:3] | passed | 0.24993 seconds | -./spec/policies/file_type_policy_spec.rb[1:5:1] | passed | 0.236 seconds | -./spec/policies/file_type_policy_spec.rb[1:5:2] | passed | 0.23167 seconds | -./spec/policies/file_type_policy_spec.rb[1:5:3] | passed | 0.26042 seconds | -./spec/policies/file_type_policy_spec.rb[1:6:1] | passed | 0.23111 seconds | -./spec/policies/file_type_policy_spec.rb[1:6:2] | passed | 0.23244 seconds | -./spec/policies/file_type_policy_spec.rb[1:6:3] | passed | 0.25396 seconds | -./spec/policies/file_type_policy_spec.rb[1:7:1] | passed | 0.23573 seconds | -./spec/policies/file_type_policy_spec.rb[1:7:2] | passed | 0.2287 seconds | -./spec/policies/file_type_policy_spec.rb[1:7:3] | passed | 0.25366 seconds | -./spec/policies/hint_policy_spec.rb[1:1:1] | passed | 0.45419 seconds | -./spec/policies/hint_policy_spec.rb[1:1:2] | passed | 0.49946 seconds | -./spec/policies/hint_policy_spec.rb[1:1:3] | passed | 0.45711 seconds | -./spec/policies/hint_policy_spec.rb[1:2:1] | passed | 0.44633 seconds | -./spec/policies/hint_policy_spec.rb[1:2:2] | passed | 0.44596 seconds | -./spec/policies/hint_policy_spec.rb[1:2:3] | passed | 0.46862 seconds | -./spec/policies/hint_policy_spec.rb[1:3:1] | passed | 0.43792 seconds | -./spec/policies/hint_policy_spec.rb[1:3:2] | passed | 0.44381 seconds | -./spec/policies/hint_policy_spec.rb[1:3:3] | passed | 0.44477 seconds | -./spec/policies/hint_policy_spec.rb[1:4:1] | passed | 0.45777 seconds | -./spec/policies/hint_policy_spec.rb[1:4:2] | passed | 0.48273 seconds | -./spec/policies/hint_policy_spec.rb[1:4:3] | passed | 0.46427 seconds | -./spec/policies/hint_policy_spec.rb[1:5:1] | passed | 0.45315 seconds | -./spec/policies/hint_policy_spec.rb[1:5:2] | passed | 0.44008 seconds | -./spec/policies/hint_policy_spec.rb[1:5:3] | passed | 0.46454 seconds | -./spec/policies/hint_policy_spec.rb[1:6:1] | passed | 0.45193 seconds | -./spec/policies/hint_policy_spec.rb[1:6:2] | passed | 0.44814 seconds | -./spec/policies/hint_policy_spec.rb[1:6:3] | passed | 0.45544 seconds | -./spec/policies/hint_policy_spec.rb[1:7:1] | passed | 0.43596 seconds | -./spec/policies/hint_policy_spec.rb[1:7:2] | passed | 0.45115 seconds | -./spec/policies/hint_policy_spec.rb[1:7:3] | passed | 0.47503 seconds | -./spec/policies/internal_user_policy_spec.rb[1:1:1] | passed | 0.07814 seconds | -./spec/policies/internal_user_policy_spec.rb[1:2:1] | passed | 0.07735 seconds | -./spec/policies/internal_user_policy_spec.rb[1:3:1] | passed | 0.08016 seconds | -./spec/policies/internal_user_policy_spec.rb[1:4:1] | passed | 0.07969 seconds | -./spec/policies/internal_user_policy_spec.rb[1:5:1] | passed | 0.08187 seconds | -./spec/policies/internal_user_policy_spec.rb[1:6:1] | passed | 0.08311 seconds | -./spec/policies/internal_user_policy_spec.rb[1:7:1:1] | passed | 0.09534 seconds | -./spec/policies/internal_user_policy_spec.rb[1:7:2:1] | passed | 0.10351 seconds | -./spec/policies/submission_policy_spec.rb[1:1:1] | passed | 0.08955 seconds | -./spec/policies/submission_policy_spec.rb[1:2:1] | passed | 0.05916 seconds | -./spec/policies/submission_policy_spec.rb[1:2:2] | passed | 0.07581 seconds | -./spec/policies/submission_policy_spec.rb[1:3:1] | passed | 0.06324 seconds | -./spec/policies/submission_policy_spec.rb[1:3:2] | passed | 0.103 seconds | -./spec/policies/submission_policy_spec.rb[1:4:1] | passed | 0.05359 seconds | -./spec/policies/submission_policy_spec.rb[1:4:2] | passed | 0.08136 seconds | -./spec/policies/submission_policy_spec.rb[1:5:1] | passed | 0.04924 seconds | -./spec/policies/submission_policy_spec.rb[1:5:2] | passed | 0.07912 seconds | -./spec/policies/submission_policy_spec.rb[1:6:1] | passed | 0.06206 seconds | -./spec/policies/submission_policy_spec.rb[1:6:2] | passed | 0.09128 seconds | -./spec/policies/submission_policy_spec.rb[1:7:1] | passed | 0.05582 seconds | -./spec/policies/submission_policy_spec.rb[1:7:2] | passed | 0.06429 seconds | -./spec/policies/submission_policy_spec.rb[1:8:1] | passed | 0.0566 seconds | -./spec/policies/submission_policy_spec.rb[1:8:2] | passed | 0.07754 seconds | -./spec/policies/submission_policy_spec.rb[1:9:1] | passed | 0.05464 seconds | -./spec/policies/submission_policy_spec.rb[1:9:2] | passed | 0.06892 seconds | -./spec/policies/submission_policy_spec.rb[1:10:1] | passed | 0.09052 seconds | -./spec/policies/team_policy_spec.rb[1:1:1] | passed | 0.12256 seconds | -./spec/policies/team_policy_spec.rb[1:1:2] | passed | 0.1089 seconds | -./spec/policies/team_policy_spec.rb[1:1:3] | passed | 0.13294 seconds | -./spec/policies/team_policy_spec.rb[1:2:1] | passed | 0.07738 seconds | -./spec/policies/team_policy_spec.rb[1:2:2] | passed | 0.08324 seconds | -./spec/policies/team_policy_spec.rb[1:2:3] | passed | 0.08442 seconds | -./spec/policies/team_policy_spec.rb[1:3:1] | passed | 0.07919 seconds | -./spec/policies/team_policy_spec.rb[1:3:2] | passed | 0.08424 seconds | -./spec/policies/team_policy_spec.rb[1:3:3] | passed | 0.08273 seconds | -./spec/policies/team_policy_spec.rb[1:4:1] | passed | 0.10554 seconds | -./spec/policies/team_policy_spec.rb[1:4:2] | passed | 0.08925 seconds | -./spec/policies/team_policy_spec.rb[1:4:3] | passed | 0.11947 seconds | -./spec/policies/team_policy_spec.rb[1:5:1] | passed | 0.10834 seconds | -./spec/policies/team_policy_spec.rb[1:5:2] | passed | 0.09801 seconds | -./spec/policies/team_policy_spec.rb[1:5:3] | passed | 0.12565 seconds | -./spec/policies/team_policy_spec.rb[1:6:1] | passed | 0.09479 seconds | -./spec/policies/team_policy_spec.rb[1:6:2] | passed | 0.07876 seconds | -./spec/policies/team_policy_spec.rb[1:6:3] | passed | 0.174 seconds | -./spec/policies/team_policy_spec.rb[1:7:1] | passed | 0.09027 seconds | -./spec/policies/team_policy_spec.rb[1:7:2] | passed | 0.11863 seconds | -./spec/policies/team_policy_spec.rb[1:7:3] | passed | 0.14471 seconds | -./spec/uploaders/file_uploader_spec.rb[1:1] | passed | 1.78 seconds | -./spec/uploaders/file_uploader_spec.rb[1:2] | passed | 1.77 seconds | -./spec/views/execution_environments/shell.html.slim_spec.rb[1:1] | passed | 0.44742 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:1] | passed | 1.74 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:2] | passed | 3.81 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:3] | passed | 1.73 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:4] | passed | 1.73 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:5] | passed | 1.72 seconds | diff --git a/spec/additional_setting_spec.rb b/spec/additional_setting_spec.rb deleted file mode 100644 index 3ff57d05..00000000 --- a/spec/additional_setting_spec.rb +++ /dev/null @@ -1,3 +0,0 @@ -RSpec.configure do |c| - c.example_status_persistence_file_path = "./spec/examples.txt" -end diff --git a/spec/examples.txt b/spec/examples.txt deleted file mode 100644 index e69de29b..00000000 From e1d0416a15370ac61526c707a6faefcdf66a5ee3 Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 2 Aug 2016 16:31:54 +0200 Subject: [PATCH 30/64] remove some files --- "\033" | 5 - .gitignore.save | 25 - app/views/exercises/_ace.html.slim | 7 - examples.txt | 993 ----------------------------- spec/additional_setting_spec.rb | 3 - spec/examples.txt | 0 6 files changed, 1033 deletions(-) delete mode 100644 "\033" delete mode 100644 .gitignore.save delete mode 100644 app/views/exercises/_ace.html.slim delete mode 100644 examples.txt delete mode 100644 spec/additional_setting_spec.rb delete mode 100644 spec/examples.txt diff --git "a/\033" "b/\033" deleted file mode 100644 index 8f1010d8..00000000 --- "a/\033" +++ /dev/null @@ -1,5 +0,0 @@ -=> [#, - #, - #, - #, - #] diff --git a/.gitignore.save b/.gitignore.save deleted file mode 100644 index 5f486cf1..00000000 --- a/.gitignore.save +++ /dev/null @@ -1,25 +0,0 @@ -/config/action_mailer.yml -/config/code_ocean.yml -/config/database.yml -/config/secrets.yml -/config/sendmail.yml -/config/smtp.yml -/config/*.production.yml -/coverage -/log -/public/assets -/public/uploads -/rubocop.html -/tmp -/vagrant/ -/.vagrant -*.sublime-* -/.idea -/.vagrant -*.iml -*.DS_Store - - -RSpec.configure do |c| - c.example_status_persistence_file_path = "./spec/examples.txt" -end diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_ace.html.slim deleted file mode 100644 index 9e141afc..00000000 --- a/app/views/exercises/_ace.html.slim +++ /dev/null @@ -1,7 +0,0 @@ -#editor.panel-group.row data-exercise-id=@exercise.id - #files style=("") data-entries=FileTree.new(@files).to_js_tree - div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') - - @files.each do |file| - .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type - .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id diff --git a/examples.txt b/examples.txt deleted file mode 100644 index 185f2807..00000000 --- a/examples.txt +++ /dev/null @@ -1,993 +0,0 @@ -example_id | status | run_time | ------------------------------------------------------------------------- | ------- | ---------------------- | -./spec/concerns/lti_spec.rb[1:1:1] | passed | 0.05388 seconds | -./spec/concerns/lti_spec.rb[1:2:1] | passed | 0.05226 seconds | -./spec/concerns/lti_spec.rb[1:3:1:1] | passed | 0.05346 seconds | -./spec/concerns/lti_spec.rb[1:3:2:1] | passed | 0.05029 seconds | -./spec/concerns/lti_spec.rb[1:3:3:1] | passed | 0.04876 seconds | -./spec/concerns/lti_spec.rb[1:4:1] | passed | 0.04732 seconds | -./spec/concerns/lti_spec.rb[1:5:1:1] | passed | 0.05313 seconds | -./spec/concerns/lti_spec.rb[1:5:1:2] | passed | 0.04713 seconds | -./spec/concerns/lti_spec.rb[1:5:2:1] | passed | 0.04836 seconds | -./spec/concerns/lti_spec.rb[1:5:2:2] | passed | 0.05332 seconds | -./spec/concerns/lti_spec.rb[1:5:2:3] | passed | 0.04993 seconds | -./spec/concerns/lti_spec.rb[1:6:1:1] | passed | 0.05333 seconds | -./spec/concerns/lti_spec.rb[1:6:2:1:1:1] | passed | 0.0603 seconds | -./spec/concerns/lti_spec.rb[1:6:2:1:2:1] | passed | 0.06167 seconds | -./spec/concerns/lti_spec.rb[1:6:2:1:2:2] | passed | 0.06537 seconds | -./spec/concerns/lti_spec.rb[1:6:2:2:1] | passed | 0.05288 seconds | -./spec/concerns/lti_spec.rb[1:7:1] | passed | 0.07108 seconds | -./spec/concerns/lti_spec.rb[1:7:2] | passed | 0.06749 seconds | -./spec/concerns/lti_spec.rb[1:8:1] | passed | 0.04952 seconds | -./spec/concerns/submission_scoring_spec.rb[1:1:1] | passed | 0.08771 seconds | -./spec/concerns/submission_scoring_spec.rb[1:2:1] | passed | 0.07049 seconds | -./spec/concerns/submission_scoring_spec.rb[1:2:2] | passed | 0.07268 seconds | -./spec/controllers/admin/dashboard_controller_spec.rb[1:1:1:1] | passed | 0.42948 seconds | -./spec/controllers/admin/dashboard_controller_spec.rb[1:1:1:2] | passed | 0.66093 seconds | -./spec/controllers/admin/dashboard_controller_spec.rb[1:1:2:1] | passed | 0.28222 seconds | -./spec/controllers/admin/dashboard_controller_spec.rb[1:1:2:2] | passed | 0.3202 seconds | -./spec/controllers/application_controller_spec.rb[1:1:1:1] | passed | 0.3774 seconds | -./spec/controllers/application_controller_spec.rb[1:1:2:1] | passed | 0.68006 seconds | -./spec/controllers/application_controller_spec.rb[1:2:1] | passed | 0.29975 seconds | -./spec/controllers/application_controller_spec.rb[1:2:2] | passed | 0.31365 seconds | -./spec/controllers/application_controller_spec.rb[1:3:1:1:1] | passed | 0.29236 seconds | -./spec/controllers/application_controller_spec.rb[1:3:1:2:1] | passed | 0.30014 seconds | -./spec/controllers/application_controller_spec.rb[1:3:2:1] | passed | 0.9501 seconds | -./spec/controllers/application_controller_spec.rb[1:3:3:1] | passed | 0.36802 seconds | -./spec/controllers/application_controller_spec.rb[1:4:1] | passed | 0.42095 seconds | -./spec/controllers/application_controller_spec.rb[1:4:2] | passed | 0.31325 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:1] | passed | 2.23 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:2] | passed | 2.63 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:3] | passed | 2.4 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:1:4] | passed | 2.3 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:1] | passed | 2.02 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:2] | passed | 2.24 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:1:2:3] | passed | 2.06 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:2:1] | passed | 2.29 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:2:2] | passed | 3.45 seconds | -./spec/controllers/code_ocean/files_controller_spec.rb[1:2:3] | passed | 2.01 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:1:1] | passed | 0.58056 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:1:2] | passed | 0.61798 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:1:3] | passed | 0.50093 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:2:1] | passed | 0.81274 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:2:2] | passed | 0.51096 seconds | -./spec/controllers/consumers_controller_spec.rb[1:1:2:3] | passed | 0.83042 seconds | -./spec/controllers/consumers_controller_spec.rb[1:2:1] | passed | 0.81097 seconds | -./spec/controllers/consumers_controller_spec.rb[1:2:2] | passed | 0.60336 seconds | -./spec/controllers/consumers_controller_spec.rb[1:2:3] | passed | 0.48202 seconds | -./spec/controllers/consumers_controller_spec.rb[1:3:1] | passed | 0.62955 seconds | -./spec/controllers/consumers_controller_spec.rb[1:3:2] | passed | 0.54483 seconds | -./spec/controllers/consumers_controller_spec.rb[1:3:3] | passed | 0.5219 seconds | -./spec/controllers/consumers_controller_spec.rb[1:4:1] | passed | 0.53688 seconds | -./spec/controllers/consumers_controller_spec.rb[1:4:2] | passed | 0.68758 seconds | -./spec/controllers/consumers_controller_spec.rb[1:4:3] | passed | 0.64265 seconds | -./spec/controllers/consumers_controller_spec.rb[1:5:1] | passed | 0.52463 seconds | -./spec/controllers/consumers_controller_spec.rb[1:5:2] | passed | 0.52728 seconds | -./spec/controllers/consumers_controller_spec.rb[1:5:3] | passed | 0.58288 seconds | -./spec/controllers/consumers_controller_spec.rb[1:6:1] | passed | 0.52539 seconds | -./spec/controllers/consumers_controller_spec.rb[1:6:2] | passed | 0.50418 seconds | -./spec/controllers/consumers_controller_spec.rb[1:6:3] | passed | 0.63746 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:1:1] | passed | 0.53542 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:1:2] | passed | 0.5016 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:2:1] | passed | 0.55682 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:2:2] | passed | 0.53387 seconds | -./spec/controllers/consumers_controller_spec.rb[1:7:2:3] | passed | 0.55788 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:1] | failed | 1.96 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:2] | failed | 2.36 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:3] | failed | 1.18 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:4] | failed | 1.27 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:1:5] | failed | 1.18 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:2:1] | failed | 1.39 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:2:2] | failed | 0.8815 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:2:3] | failed | 0.86151 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:1:2:4] | failed | 1.39 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:2:1] | failed | 1.96 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:2:2] | failed | 1.78 seconds | -./spec/controllers/errors_controller_spec.rb[1:1:2:3] | failed | 1.11 seconds | -./spec/controllers/errors_controller_spec.rb[1:2:1] | failed | 0.79434 seconds | -./spec/controllers/errors_controller_spec.rb[1:2:2] | failed | 0.87153 seconds | -./spec/controllers/errors_controller_spec.rb[1:2:3] | failed | 1.99 seconds | -./spec/controllers/errors_controller_spec.rb[1:2:4] | failed | 1.97 seconds | -./spec/controllers/errors_controller_spec.rb[1:3:1] | failed | 0.90122 seconds | -./spec/controllers/errors_controller_spec.rb[1:3:2] | failed | 0.84712 seconds | -./spec/controllers/errors_controller_spec.rb[1:3:3] | failed | 1.23 seconds | -./spec/controllers/errors_controller_spec.rb[1:3:4] | failed | 1.12 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:1:1] | passed | 0.70875 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:1:2] | passed | 0.54489 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:1:3] | passed | 0.89081 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:1:4] | passed | 0.51258 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:2:1] | passed | 0.52053 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:2:2] | passed | 0.48337 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:1:2:3] | passed | 0.69658 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:2:1] | passed | 0.92356 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:2:2] | passed | 1.26 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:2:3] | passed | 0.88205 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:3:1] | passed | 0.94887 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:3:2] | passed | 0.91546 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:3:3] | passed | 0.98788 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:3:4] | passed | 1.07 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:4:1] | passed | 1.05 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:4:2] | passed | 0.89247 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:4:3] | passed | 0.88503 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:4:4] | passed | 1 second | -./spec/controllers/execution_environments_controller_spec.rb[1:5:1] | passed | 0.47142 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:5:2] | passed | 0.5298 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:5:3] | passed | 0.5247 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:6:1] | passed | 0.52958 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:6:2] | passed | 0.75957 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:6:3] | passed | 0.57441 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:6:4] | passed | 0.51306 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:7:1:1] | passed | 0.4847 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:7:2:1] | passed | 0.47169 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:7:2:2] | passed | 0.53817 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:7:2:3] | passed | 0.49187 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:8:1] | passed | 0.90694 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:8:2] | passed | 0.90327 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:8:3] | passed | 0.92948 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:9:1] | passed | 0.94092 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:9:2] | passed | 1.01 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:9:3] | passed | 0.87026 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:10:1] | passed | 1.01 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:10:2] | passed | 1.13 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:10:3] | passed | 0.90735 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:1:1] | passed | 0.97962 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:1:2] | passed | 1.02 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:1:3] | passed | 1.04 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:2:1] | passed | 1.05 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:2:2] | passed | 1.05 seconds | -./spec/controllers/execution_environments_controller_spec.rb[1:11:2:3] | passed | 0.97916 seconds | -./spec/controllers/exercises_controller_spec.rb[1:1:1] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:1:2] | passed | 1.25 seconds | -./spec/controllers/exercises_controller_spec.rb[1:1:3] | passed | 1.15 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:1:1] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:1:2] | passed | 1.14 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:1:3] | passed | 1.04 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:1:4] | passed | 1.18 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:2:1] | passed | 1.12 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:2:2] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:2:2:3] | passed | 1.17 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:1:1] | passed | 1.05 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:1:2] | passed | 1.15 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:1:3] | passed | 1.12 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:1:1] | passed | 2.91 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:2:1:1] | passed | 3.18 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:2:1:2] | passed | 3.23 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:2:2:1] | passed | 2.76 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:2:2:2:2] | passed | 2.79 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:3:1] | passed | 0.90433 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:3:2] | passed | 0.68602 seconds | -./spec/controllers/exercises_controller_spec.rb[1:3:3:3] | passed | 0.72294 seconds | -./spec/controllers/exercises_controller_spec.rb[1:4:1] | passed | 1.13 seconds | -./spec/controllers/exercises_controller_spec.rb[1:4:2] | passed | 1.63 seconds | -./spec/controllers/exercises_controller_spec.rb[1:4:3] | passed | 1.12 seconds | -./spec/controllers/exercises_controller_spec.rb[1:5:1] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:5:2] | passed | 1.08 seconds | -./spec/controllers/exercises_controller_spec.rb[1:5:3] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:1] | passed | 2.07 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:2:1] | passed | 2.01 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:3:1] | passed | 2.05 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:4] | passed | 2.08 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:1:5] | passed | 2.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:2:1] | passed | 1.09 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:2:2] | passed | 1.35 seconds | -./spec/controllers/exercises_controller_spec.rb[1:6:2:3] | passed | 1.31 seconds | -./spec/controllers/exercises_controller_spec.rb[1:7:1] | passed | 0.45366 seconds | -./spec/controllers/exercises_controller_spec.rb[1:7:2] | passed | 0.56032 seconds | -./spec/controllers/exercises_controller_spec.rb[1:7:3] | passed | 0.46597 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:1] | passed | 0.51851 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:2] | passed | 0.52441 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:3] | passed | 0.50381 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:4] | passed | 0.56026 seconds | -./spec/controllers/exercises_controller_spec.rb[1:8:5] | passed | 0.50493 seconds | -./spec/controllers/exercises_controller_spec.rb[1:9:1:1] | passed | 1.07 seconds | -./spec/controllers/exercises_controller_spec.rb[1:9:1:2] | passed | 1.14 seconds | -./spec/controllers/exercises_controller_spec.rb[1:9:1:3] | passed | 1.33 seconds | -./spec/controllers/exercises_controller_spec.rb[1:10:1:1] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:10:1:2] | passed | 1.14 seconds | -./spec/controllers/exercises_controller_spec.rb[1:10:1:3] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:11:1] | passed | 1.25 seconds | -./spec/controllers/exercises_controller_spec.rb[1:11:2] | passed | 1.02 seconds | -./spec/controllers/exercises_controller_spec.rb[1:11:3] | passed | 1.07 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:1:1] | passed | 1.16 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:1:2] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:1:3] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:1:4] | passed | 1.11 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:2:1] | passed | 1.19 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:2:2] | passed | 1.15 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:2:3] | passed | 1.25 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:1:2:4] | passed | 1.35 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:2:1] | passed | 1.24 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:2:2] | passed | 1.1 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:2:3] | passed | 1.07 seconds | -./spec/controllers/exercises_controller_spec.rb[1:12:2:4] | passed | 1.05 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:1:1] | passed | 1.92 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:1:2] | passed | 1.66 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:2:1] | passed | 1.13 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:2:2] | passed | 1.18 seconds | -./spec/controllers/exercises_controller_spec.rb[1:13:2:3] | passed | 1.22 seconds | -./spec/controllers/external_users_controller_spec.rb[1:1:1] | passed | 0.47717 seconds | -./spec/controllers/external_users_controller_spec.rb[1:1:2] | passed | 0.3431 seconds | -./spec/controllers/external_users_controller_spec.rb[1:1:3] | passed | 0.41034 seconds | -./spec/controllers/external_users_controller_spec.rb[1:2:1] | passed | 0.47422 seconds | -./spec/controllers/external_users_controller_spec.rb[1:2:2] | passed | 0.35718 seconds | -./spec/controllers/external_users_controller_spec.rb[1:2:3] | passed | 0.35027 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:1:1] | passed | 0.51875 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:1:2] | passed | 0.49511 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:1:3] | passed | 0.65131 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:1:4] | passed | 0.65157 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:2:1] | passed | 0.58255 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:2:2] | passed | 0.54964 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:2:3] | passed | 0.70094 seconds | -./spec/controllers/file_types_controller_spec.rb[1:1:2:4] | passed | 0.52823 seconds | -./spec/controllers/file_types_controller_spec.rb[1:2:1] | passed | 0.7025 seconds | -./spec/controllers/file_types_controller_spec.rb[1:2:2] | passed | 0.81924 seconds | -./spec/controllers/file_types_controller_spec.rb[1:2:3] | passed | 1.05 seconds | -./spec/controllers/file_types_controller_spec.rb[1:3:1] | passed | 0.82095 seconds | -./spec/controllers/file_types_controller_spec.rb[1:3:2] | passed | 0.97098 seconds | -./spec/controllers/file_types_controller_spec.rb[1:3:3] | passed | 0.70247 seconds | -./spec/controllers/file_types_controller_spec.rb[1:3:4] | passed | 0.70796 seconds | -./spec/controllers/file_types_controller_spec.rb[1:4:1] | passed | 0.79963 seconds | -./spec/controllers/file_types_controller_spec.rb[1:4:2] | passed | 0.52003 seconds | -./spec/controllers/file_types_controller_spec.rb[1:4:3] | passed | 0.55009 seconds | -./spec/controllers/file_types_controller_spec.rb[1:5:1] | passed | 0.48244 seconds | -./spec/controllers/file_types_controller_spec.rb[1:5:2] | passed | 0.57857 seconds | -./spec/controllers/file_types_controller_spec.rb[1:5:3] | passed | 0.52193 seconds | -./spec/controllers/file_types_controller_spec.rb[1:5:4] | passed | 0.49106 seconds | -./spec/controllers/file_types_controller_spec.rb[1:6:1] | passed | 0.67506 seconds | -./spec/controllers/file_types_controller_spec.rb[1:6:2] | passed | 0.71581 seconds | -./spec/controllers/file_types_controller_spec.rb[1:6:3] | passed | 0.75251 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:1:1] | passed | 1.12 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:1:2] | passed | 0.70886 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:1:3] | passed | 0.72567 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:2:1] | passed | 0.70726 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:2:2] | passed | 0.70036 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:2:3] | passed | 0.96331 seconds | -./spec/controllers/file_types_controller_spec.rb[1:7:2:4] | passed | 0.72221 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:1:1] | passed | 0.89467 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:1:2] | passed | 1.01 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:1:3] | passed | 0.96557 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:1:4] | passed | 1.05 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:2:1] | passed | 0.94989 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:2:2] | passed | 1.33 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:2:3] | passed | 0.88133 seconds | -./spec/controllers/hints_controller_spec.rb[1:1:2:4] | passed | 1.05 seconds | -./spec/controllers/hints_controller_spec.rb[1:2:1] | passed | 1.3 seconds | -./spec/controllers/hints_controller_spec.rb[1:2:2] | passed | 1.4 seconds | -./spec/controllers/hints_controller_spec.rb[1:2:3] | passed | 1.61 seconds | -./spec/controllers/hints_controller_spec.rb[1:2:4] | passed | 1.52 seconds | -./spec/controllers/hints_controller_spec.rb[1:3:1] | passed | 1.38 seconds | -./spec/controllers/hints_controller_spec.rb[1:3:2] | passed | 1.36 seconds | -./spec/controllers/hints_controller_spec.rb[1:3:3] | passed | 1.29 seconds | -./spec/controllers/hints_controller_spec.rb[1:3:4] | passed | 1.78 seconds | -./spec/controllers/hints_controller_spec.rb[1:4:1] | passed | 0.95889 seconds | -./spec/controllers/hints_controller_spec.rb[1:4:2] | passed | 0.90212 seconds | -./spec/controllers/hints_controller_spec.rb[1:4:3] | passed | 0.90994 seconds | -./spec/controllers/hints_controller_spec.rb[1:4:4] | passed | 0.88076 seconds | -./spec/controllers/hints_controller_spec.rb[1:5:1] | passed | 1.05 seconds | -./spec/controllers/hints_controller_spec.rb[1:5:2] | passed | 1.27 seconds | -./spec/controllers/hints_controller_spec.rb[1:5:3] | passed | 0.83885 seconds | -./spec/controllers/hints_controller_spec.rb[1:5:4] | passed | 1.13 seconds | -./spec/controllers/hints_controller_spec.rb[1:6:1] | passed | 1.82 seconds | -./spec/controllers/hints_controller_spec.rb[1:6:2] | passed | 1.31 seconds | -./spec/controllers/hints_controller_spec.rb[1:6:3] | passed | 1.3 seconds | -./spec/controllers/hints_controller_spec.rb[1:6:4] | passed | 1.34 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:1:1] | passed | 1.74 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:1:2] | passed | 1.31 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:1:3] | passed | 1.36 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:2:1] | passed | 1.31 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:2:2] | passed | 1.39 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:2:3] | passed | 1.36 seconds | -./spec/controllers/hints_controller_spec.rb[1:7:2:4] | passed | 1.28 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:1:1] | passed | 0.93653 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:2:1] | passed | 1.07 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:3:1] | passed | 0.85398 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:3:2] | passed | 1.02 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:1:3:3] | passed | 0.90663 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:1:1] | passed | 0.9466 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:2:1] | passed | 0.94167 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:3:1] | passed | 0.8878 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:3:2] | passed | 1 second | -./spec/controllers/internal_users_controller_spec.rb[1:2:3:3] | passed | 0.88129 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:4:1] | passed | 1.02 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:4:2] | passed | 1 second | -./spec/controllers/internal_users_controller_spec.rb[1:2:4:3] | passed | 1.04 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:5:1] | passed | 1.19 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:5:2] | passed | 1.04 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:5:3] | passed | 1.27 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:2:5:4] | passed | 1.11 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:1] | passed | 0.74172 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:2] | passed | 0.7571 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:3] | passed | 0.72091 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:4] | passed | 0.76376 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:5] | passed | 1.01 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:1:6] | passed | 0.75806 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:2:1] | passed | 0.67078 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:2:2] | passed | 0.69978 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:3:2:3] | passed | 0.7253 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:4:1] | passed | 0.70981 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:4:2] | passed | 1.16 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:4:3] | passed | 0.95224 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:5:1] | passed | 1.19 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:5:2] | passed | 0.74226 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:5:3] | passed | 0.69343 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:6:1:1] | passed | 0.7506 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:6:1:2] | passed | 0.94879 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:6:2:1] | passed | 0.72029 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:6:2:2] | passed | 0.80326 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:7:1:1] | passed | 0.71071 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:7:1:2] | passed | 0.76412 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:7:2:1] | passed | 0.71613 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:7:2:2] | passed | 0.75737 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:8:1] | passed | 0.72195 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:8:2] | passed | 0.75732 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:8:3] | passed | 0.71156 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:9:1] | passed | 1.64 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:9:2] | passed | 0.75199 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:9:3] | passed | 0.71997 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:10:1:1] | passed | 0.67374 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:10:2:1] | passed | 0.89616 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:10:2:2] | passed | 0.89143 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:10:2:3] | passed | 0.68439 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:1:1] | passed | 0.75883 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:1] | passed | 1.12 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:2] | passed | 1.34 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:1:3] | passed | 1.17 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:1] | passed | 0.94258 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:2] | passed | 0.92263 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:11:2:2:3] | passed | 1.19 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:12:1] | passed | 0.71737 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:12:2] | passed | 0.71684 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:12:3] | passed | 0.74044 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:1:1] | passed | 0.71091 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:1:2] | passed | 1.55 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:2:1] | passed | 0.67754 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:2:2] | passed | 0.70417 seconds | -./spec/controllers/internal_users_controller_spec.rb[1:13:2:3] | passed | 0.71035 seconds | -./spec/controllers/sessions_controller_spec.rb[1:1:1:1] | passed | 1.26 seconds | -./spec/controllers/sessions_controller_spec.rb[1:1:1:2] | passed | 0.68359 seconds | -./spec/controllers/sessions_controller_spec.rb[1:1:2:1] | passed | 0.79514 seconds | -./spec/controllers/sessions_controller_spec.rb[1:1:2:2] | passed | 0.52831 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:1:1] | passed | 0.37032 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:2:1] | passed | 0.40997 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:3:1] | passed | 0.26585 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:4:1] | passed | 0.47495 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:5:1] | passed | 0.63658 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:1] | passed | 1.24 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:2] | passed | 0.99964 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:3] | passed | 1.08 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:4] | passed | 1.08 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:5] | passed | 1.25 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:6:1] | passed | 1.25 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:7:1] | passed | 0.93837 seconds | -./spec/controllers/sessions_controller_spec.rb[1:2:6:8] | passed | 1.75 seconds | -./spec/controllers/sessions_controller_spec.rb[1:3:1:1] | passed | 0.33515 seconds | -./spec/controllers/sessions_controller_spec.rb[1:3:1:2] | passed | 0.39173 seconds | -./spec/controllers/sessions_controller_spec.rb[1:3:2:1] | passed | 0.33611 seconds | -./spec/controllers/sessions_controller_spec.rb[1:3:2:2] | passed | 0.35244 seconds | -./spec/controllers/sessions_controller_spec.rb[1:4:1] | passed | 1.23 seconds | -./spec/controllers/sessions_controller_spec.rb[1:4:2] | passed | 0.97189 seconds | -./spec/controllers/sessions_controller_spec.rb[1:4:3] | passed | 0.93231 seconds | -./spec/controllers/sessions_controller_spec.rb[1:5:1:1] | passed | 0.84563 seconds | -./spec/controllers/sessions_controller_spec.rb[1:5:1:2] | passed | 0.38509 seconds | -./spec/controllers/sessions_controller_spec.rb[1:5:2:1] | passed | 0.32513 seconds | -./spec/controllers/sessions_controller_spec.rb[1:5:2:2] | passed | 0.44308 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:1:1] | passed | 1.5 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:1:2] | passed | 1.59 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:1:3] | passed | 1.48 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:1:4] | passed | 1.43 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:2:1] | passed | 0.54507 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:2:2] | passed | 0.55113 seconds | -./spec/controllers/submissions_controller_spec.rb[1:1:2:3] | passed | 0.50523 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:1:1] | passed | 2.4 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:1] | passed | 2.92 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:2] | passed | 3.2 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:3] | passed | 3.27 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:4] | passed | 3.4 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:1:5] | passed | 3.52 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:1] | passed | 3.74 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:2] | passed | 3.1 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:3] | passed | 3.82 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:4] | passed | 3.25 seconds | -./spec/controllers/submissions_controller_spec.rb[1:2:2:2:5] | passed | 3 seconds | -./spec/controllers/submissions_controller_spec.rb[1:3:1] | passed | 0.80581 seconds | -./spec/controllers/submissions_controller_spec.rb[1:3:2] | passed | 0.49216 seconds | -./spec/controllers/submissions_controller_spec.rb[1:3:3] | passed | 0.50166 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:1:1] | passed | 2.07 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:1] | passed | 2.88 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:2] | passed | 3.44 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:3] | passed | 3 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:4] | passed | 3.42 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:1:5] | passed | 3.56 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:1] | passed | 3.5 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:2] | passed | 2.96 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:3] | passed | 3.11 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:4] | passed | 2.76 seconds | -./spec/controllers/submissions_controller_spec.rb[1:4:2:2:5] | passed | 3.47 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:1:1] | failed | 2.02 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:1:2] | failed | 2.21 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:1:3] | failed | 1.99 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:1:4] | failed | 2.01 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:2:1:1] | pending | 2.07 seconds | -./spec/controllers/submissions_controller_spec.rb[1:5:2:2:1] | pending | 2.15 seconds | -./spec/controllers/submissions_controller_spec.rb[1:6:1] | passed | 2.13 seconds | -./spec/controllers/submissions_controller_spec.rb[1:6:2] | passed | 2.09 seconds | -./spec/controllers/submissions_controller_spec.rb[1:6:3] | passed | 2 seconds | -./spec/controllers/submissions_controller_spec.rb[1:7:1] | passed | 2.07 seconds | -./spec/controllers/submissions_controller_spec.rb[1:7:2] | passed | 2.11 seconds | -./spec/controllers/submissions_controller_spec.rb[1:7:3] | passed | 2.24 seconds | -./spec/controllers/submissions_controller_spec.rb[1:8:1:1] | passed | 2.3 seconds | -./spec/controllers/submissions_controller_spec.rb[1:8:1:2] | passed | 2.03 seconds | -./spec/controllers/submissions_controller_spec.rb[1:8:2:1] | passed | 2.45 seconds | -./spec/controllers/submissions_controller_spec.rb[1:8:2:2] | passed | 2.03 seconds | -./spec/controllers/submissions_controller_spec.rb[1:9:1] | passed | 2.02 seconds | -./spec/controllers/submissions_controller_spec.rb[1:9:2] | passed | 2.08 seconds | -./spec/controllers/submissions_controller_spec.rb[1:9:3] | passed | 2.12 seconds | -./spec/controllers/submissions_controller_spec.rb[1:9:4] | passed | 2.21 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:1:1] | passed | 0.52306 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:1:2] | passed | 0.85799 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:1:3] | passed | 0.81074 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:1:4] | passed | 0.43519 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:2:1] | passed | 0.46153 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:2:2] | passed | 0.42009 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:2:3] | passed | 0.52245 seconds | -./spec/controllers/submissions_controller_spec.rb[1:10:2:4] | passed | 0.47165 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:1:1] | passed | 0.50978 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:1:2] | passed | 0.55994 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:1:3] | passed | 0.55707 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:2:1] | passed | 0.70031 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:2:2] | passed | 0.5281 seconds | -./spec/controllers/teams_controller_spec.rb[1:1:2:3] | passed | 0.47249 seconds | -./spec/controllers/teams_controller_spec.rb[1:2:1] | passed | 1.17 seconds | -./spec/controllers/teams_controller_spec.rb[1:2:2] | passed | 1.96 seconds | -./spec/controllers/teams_controller_spec.rb[1:2:3] | passed | 1.26 seconds | -./spec/controllers/teams_controller_spec.rb[1:3:1] | passed | 1.4 seconds | -./spec/controllers/teams_controller_spec.rb[1:3:2] | passed | 1.22 seconds | -./spec/controllers/teams_controller_spec.rb[1:3:3] | passed | 1.22 seconds | -./spec/controllers/teams_controller_spec.rb[1:4:1] | passed | 0.93686 seconds | -./spec/controllers/teams_controller_spec.rb[1:4:2] | passed | 0.50114 seconds | -./spec/controllers/teams_controller_spec.rb[1:4:3] | passed | 0.44898 seconds | -./spec/controllers/teams_controller_spec.rb[1:5:1] | passed | 0.5113 seconds | -./spec/controllers/teams_controller_spec.rb[1:5:2] | passed | 0.49347 seconds | -./spec/controllers/teams_controller_spec.rb[1:5:3] | passed | 0.68706 seconds | -./spec/controllers/teams_controller_spec.rb[1:6:1] | passed | 1.2 seconds | -./spec/controllers/teams_controller_spec.rb[1:6:2] | passed | 1.21 seconds | -./spec/controllers/teams_controller_spec.rb[1:6:3] | passed | 1.24 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:1:1] | passed | 1.23 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:1:2] | passed | 1.87 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:2:1] | passed | 1.17 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:2:2] | passed | 1.22 seconds | -./spec/controllers/teams_controller_spec.rb[1:7:2:3] | passed | 1.43 seconds | -./spec/features/authentication_spec.rb[1:1:1] | passed | 0.49429 seconds | -./spec/features/authentication_spec.rb[1:1:2:1] | passed | 0.60044 seconds | -./spec/features/authentication_spec.rb[1:1:3:1] | passed | 0.48862 seconds | -./spec/features/authentication_spec.rb[1:2:1] | passed | 0.43804 seconds | -./spec/features/authentication_spec.rb[1:2:2] | passed | 0.45646 seconds | -./spec/features/authentication_spec.rb[1:2:3] | passed | 0.47432 seconds | -./spec/features/authorization_spec.rb[1:1:1] | passed | 0.38984 seconds | -./spec/features/authorization_spec.rb[1:1:2] | passed | 0.56208 seconds | -./spec/features/authorization_spec.rb[1:1:3] | passed | 0.41139 seconds | -./spec/features/authorization_spec.rb[1:1:4] | passed | 0.42773 seconds | -./spec/features/authorization_spec.rb[1:1:5] | passed | 0.34909 seconds | -./spec/features/authorization_spec.rb[1:1:6] | passed | 0.38089 seconds | -./spec/features/authorization_spec.rb[1:2:1] | passed | 0.10333 seconds | -./spec/features/authorization_spec.rb[1:2:2] | failed | 0.23435 seconds | -./spec/features/authorization_spec.rb[1:2:3] | passed | 0.10429 seconds | -./spec/features/authorization_spec.rb[1:2:4] | passed | 0.16712 seconds | -./spec/features/authorization_spec.rb[1:2:5] | passed | 0.10363 seconds | -./spec/features/authorization_spec.rb[1:2:6] | passed | 0.10498 seconds | -./spec/features/authorization_spec.rb[1:3:1] | passed | 0.28455 seconds | -./spec/features/authorization_spec.rb[1:3:2] | passed | 0.29486 seconds | -./spec/features/authorization_spec.rb[1:3:3] | passed | 0.44396 seconds | -./spec/features/authorization_spec.rb[1:3:4] | passed | 0.30501 seconds | -./spec/features/authorization_spec.rb[1:3:5] | passed | 0.33616 seconds | -./spec/features/authorization_spec.rb[1:3:6] | passed | 0.27512 seconds | -./spec/features/editor_spec.rb[1:1] | failed | 0.91726 seconds | -./spec/features/editor_spec.rb[1:2:1] | failed | 0.38425 seconds | -./spec/features/editor_spec.rb[1:3:1] | failed | 0.3683 seconds | -./spec/features/editor_spec.rb[1:3:2] | failed | 0.35491 seconds | -./spec/features/editor_spec.rb[1:3:3:1:1:1] | failed | 0.35493 seconds | -./spec/features/editor_spec.rb[1:3:3:1:2:1] | failed | 0.35738 seconds | -./spec/features/editor_spec.rb[1:3:3:1:3:1] | failed | 0.36695 seconds | -./spec/features/editor_spec.rb[1:3:3:2:1] | failed | 0.49427 seconds | -./spec/features/editor_spec.rb[1:4:1] | failed | 0.38213 seconds | -./spec/features/factories_spec.rb[1:1] | passed | 30.81 seconds | -./spec/helpers/admin/dashboard_helper_spec.rb[1:1:1] | passed | 0.04949 seconds | -./spec/helpers/admin/dashboard_helper_spec.rb[1:2:1] | passed | 0.4322 seconds | -./spec/helpers/admin/dashboard_helper_spec.rb[1:2:2] | passed | 0.42845 seconds | -./spec/helpers/admin/dashboard_helper_spec.rb[1:2:3] | passed | 0.43619 seconds | -./spec/helpers/application_helper_spec.rb[1:1:1:1] | passed | 0.04601 seconds | -./spec/helpers/application_helper_spec.rb[1:1:1:2] | passed | 0.05083 seconds | -./spec/helpers/application_helper_spec.rb[1:1:2:1] | passed | 0.04312 seconds | -./spec/helpers/application_helper_spec.rb[1:2:1] | passed | 0.05053 seconds | -./spec/helpers/application_helper_spec.rb[1:3:1] | passed | 0.04669 seconds | -./spec/helpers/application_helper_spec.rb[1:4:1] | passed | 0.05579 seconds | -./spec/helpers/application_helper_spec.rb[1:5:1:1] | passed | 0.04768 seconds | -./spec/helpers/application_helper_spec.rb[1:5:1:2] | passed | 0.05455 seconds | -./spec/helpers/application_helper_spec.rb[1:5:1:3] | passed | 0.0449 seconds | -./spec/helpers/application_helper_spec.rb[1:5:2:1] | passed | 0.04644 seconds | -./spec/helpers/application_helper_spec.rb[1:5:2:2] | passed | 0.05222 seconds | -./spec/helpers/application_helper_spec.rb[1:5:2:3] | passed | 0.04625 seconds | -./spec/helpers/application_helper_spec.rb[1:6:1] | passed | 0.04555 seconds | -./spec/helpers/application_helper_spec.rb[1:7:1:1] | passed | 0.0475 seconds | -./spec/helpers/application_helper_spec.rb[1:7:1:2] | passed | 0.04511 seconds | -./spec/helpers/application_helper_spec.rb[1:7:2:1] | passed | 0.05068 seconds | -./spec/helpers/application_helper_spec.rb[1:7:2:2] | passed | 0.04573 seconds | -./spec/helpers/application_helper_spec.rb[1:7:3:1] | passed | 0.05091 seconds | -./spec/helpers/application_helper_spec.rb[1:7:3:2] | passed | 0.05068 seconds | -./spec/helpers/application_helper_spec.rb[1:7:4:1] | passed | 0.05306 seconds | -./spec/helpers/application_helper_spec.rb[1:7:4:2] | passed | 0.05163 seconds | -./spec/helpers/application_helper_spec.rb[1:8:1] | passed | 0.04636 seconds | -./spec/helpers/exercise_helper_spec.rb[1:1:1] | passed | 0.6475 seconds | -./spec/helpers/exercise_helper_spec.rb[1:1:2] | passed | 0.62291 seconds | -./spec/lib/assessor_spec.rb[1:1:1:1] | passed | 0.46695 seconds | -./spec/lib/assessor_spec.rb[1:1:1:2] | passed | 0.46151 seconds | -./spec/lib/assessor_spec.rb[1:1:2:1] | passed | 0.51 seconds | -./spec/lib/assessor_spec.rb[1:1:2:2] | passed | 0.45934 seconds | -./spec/lib/assessor_spec.rb[1:2:1] | passed | 0.83966 seconds | -./spec/lib/assessor_spec.rb[1:3:1:1] | passed | 0.46642 seconds | -./spec/lib/assessor_spec.rb[1:3:2:1] | passed | 0.47094 seconds | -./spec/lib/code_ocean/config_spec.rb[1:1:1:1:1] | passed | 0.05578 seconds | -./spec/lib/code_ocean/config_spec.rb[1:1:1:2:1] | passed | 0.04735 seconds | -./spec/lib/code_ocean/config_spec.rb[1:1:2:1:1] | passed | 0.0479 seconds | -./spec/lib/code_ocean/config_spec.rb[1:1:2:2:1] | passed | 0.04498 seconds | -./spec/lib/docker_client_spec.rb[1:1:1:1] | passed | 0.05104 seconds | -./spec/lib/docker_client_spec.rb[1:1:2:1] | passed | 0.05096 seconds | -./spec/lib/docker_client_spec.rb[1:2:1] | passed | 0.45035 seconds | -./spec/lib/docker_client_spec.rb[1:2:2] | passed | 0.44681 seconds | -./spec/lib/docker_client_spec.rb[1:2:3] | passed | 0.4424 seconds | -./spec/lib/docker_client_spec.rb[1:2:4] | passed | 0.43693 seconds | -./spec/lib/docker_client_spec.rb[1:3:1] | passed | 0.44354 seconds | -./spec/lib/docker_client_spec.rb[1:3:2] | passed | 0.428 seconds | -./spec/lib/docker_client_spec.rb[1:4:1] | failed | 0.4641 seconds | -./spec/lib/docker_client_spec.rb[1:4:2] | failed | 0.48352 seconds | -./spec/lib/docker_client_spec.rb[1:4:3] | failed | 0.45244 seconds | -./spec/lib/docker_client_spec.rb[1:4:4] | failed | 0.45568 seconds | -./spec/lib/docker_client_spec.rb[1:4:5] | failed | 0.44904 seconds | -./spec/lib/docker_client_spec.rb[1:4:6] | failed | 0.46663 seconds | -./spec/lib/docker_client_spec.rb[1:4:7:1:1] | failed | 0.45626 seconds | -./spec/lib/docker_client_spec.rb[1:4:7:2:1] | pending | 0.45135 seconds | -./spec/lib/docker_client_spec.rb[1:5:1] | passed | 1.99 seconds | -./spec/lib/docker_client_spec.rb[1:5:2] | passed | 1.97 seconds | -./spec/lib/docker_client_spec.rb[1:5:3] | passed | 1.96 seconds | -./spec/lib/docker_client_spec.rb[1:6:1] | passed | 2.1 seconds | -./spec/lib/docker_client_spec.rb[1:7:1] | failed | 0.52902 seconds | -./spec/lib/docker_client_spec.rb[1:7:2] | failed | 0.47791 seconds | -./spec/lib/docker_client_spec.rb[1:7:3] | failed | 0.4794 seconds | -./spec/lib/docker_client_spec.rb[1:7:4] | failed | 0.45839 seconds | -./spec/lib/docker_client_spec.rb[1:7:5] | failed | 0.52342 seconds | -./spec/lib/docker_client_spec.rb[1:8:1] | failed | 0.47863 seconds | -./spec/lib/docker_client_spec.rb[1:8:2] | failed | 0.52634 seconds | -./spec/lib/docker_client_spec.rb[1:8:3:1:1] | failed | 0.46634 seconds | -./spec/lib/docker_client_spec.rb[1:8:3:2:1] | pending | 0.44356 seconds | -./spec/lib/docker_client_spec.rb[1:9:1] | failed | 1.97 seconds | -./spec/lib/docker_client_spec.rb[1:9:2] | failed | 1.97 seconds | -./spec/lib/docker_client_spec.rb[1:9:3] | failed | 2 seconds | -./spec/lib/docker_client_spec.rb[1:10:1] | failed | 1.96 seconds | -./spec/lib/docker_client_spec.rb[1:10:2] | failed | 1.97 seconds | -./spec/lib/docker_client_spec.rb[1:10:3] | failed | 2.02 seconds | -./spec/lib/docker_client_spec.rb[1:11:1] | passed | 0.04751 seconds | -./spec/lib/docker_client_spec.rb[1:11:2] | passed | 0.04688 seconds | -./spec/lib/docker_client_spec.rb[1:12:1:1] | passed | 0.05314 seconds | -./spec/lib/docker_client_spec.rb[1:12:2:1] | passed | 0.04604 seconds | -./spec/lib/docker_client_spec.rb[1:13:1] | failed | 0.47195 seconds | -./spec/lib/docker_client_spec.rb[1:13:2] | failed | 0.45205 seconds | -./spec/lib/docker_client_spec.rb[1:14:1] | passed | 0.05023 seconds | -./spec/lib/docker_client_spec.rb[1:15:1:1] | passed | 0.42814 seconds | -./spec/lib/docker_client_spec.rb[1:15:1:2] | passed | 0.43627 seconds | -./spec/lib/docker_client_spec.rb[1:15:2:1] | passed | 0.42761 seconds | -./spec/lib/docker_client_spec.rb[1:16:1] | failed | 0.82555 seconds | -./spec/lib/docker_client_spec.rb[1:16:2] | pending | 0.89455 seconds | -./spec/lib/docker_client_spec.rb[1:16:3] | pending | 0.82313 seconds | -./spec/lib/docker_client_spec.rb[1:16:4:1] | failed | 0.8775 seconds | -./spec/lib/docker_client_spec.rb[1:16:4:2] | failed | 0.89195 seconds | -./spec/lib/docker_client_spec.rb[1:16:5:1] | pending | 0.84039 seconds | -./spec/lib/docker_client_spec.rb[1:16:5:2] | failed | 0.85046 seconds | -./spec/lib/docker_client_spec.rb[1:16:5:3] | failed | 0.8589 seconds | -./spec/lib/docker_container_mixin_spec.rb[1:1:1] | passed | 0.0606 seconds | -./spec/lib/docker_container_mixin_spec.rb[1:1:2] | passed | 0.04567 seconds | -./spec/lib/docker_container_mixin_spec.rb[1:2:1] | passed | 0.06373 seconds | -./spec/lib/docker_container_mixin_spec.rb[1:2:2] | passed | 0.06955 seconds | -./spec/lib/docker_container_pool_spec.rb[1:1] | passed | 0.43583 seconds | -./spec/lib/docker_container_pool_spec.rb[1:2:1] | passed | 0.43681 seconds | -./spec/lib/docker_container_pool_spec.rb[1:2:2] | passed | 0.44123 seconds | -./spec/lib/docker_container_pool_spec.rb[1:3:1:1:1] | passed | 0.43728 seconds | -./spec/lib/docker_container_pool_spec.rb[1:3:1:2:1] | passed | 0.43581 seconds | -./spec/lib/docker_container_pool_spec.rb[1:3:2:1] | passed | 0.4393 seconds | -./spec/lib/docker_container_pool_spec.rb[1:4:1] | passed | 0.43248 seconds | -./spec/lib/docker_container_pool_spec.rb[1:5:1:1] | passed | 0.44943 seconds | -./spec/lib/docker_container_pool_spec.rb[1:5:2:1] | passed | 0.45709 seconds | -./spec/lib/docker_container_pool_spec.rb[1:6:1:1] | passed | 0.44414 seconds | -./spec/lib/docker_container_pool_spec.rb[1:6:2:1] | passed | 0.4425 seconds | -./spec/lib/docker_container_pool_spec.rb[1:7:1] | passed | 0.44224 seconds | -./spec/lib/docker_container_pool_spec.rb[1:7:2] | passed | 0.48752 seconds | -./spec/lib/file_tree_spec.rb[1:1:1:1:1] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:1:1:2:1] | passed | 1.75 seconds | -./spec/lib/file_tree_spec.rb[1:1:1:3:1] | passed | 1.76 seconds | -./spec/lib/file_tree_spec.rb[1:1:2:1:1] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:1:2:2:1] | passed | 1.78 seconds | -./spec/lib/file_tree_spec.rb[1:1:2:3:1] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:1:2:4:1] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:2:1] | passed | 0.04513 seconds | -./spec/lib/file_tree_spec.rb[1:3:1] | passed | 1.78 seconds | -./spec/lib/file_tree_spec.rb[1:3:2] | passed | 1.78 seconds | -./spec/lib/file_tree_spec.rb[1:3:3] | passed | 1.78 seconds | -./spec/lib/file_tree_spec.rb[1:4:1:1] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:4:1:2] | passed | 1.76 seconds | -./spec/lib/file_tree_spec.rb[1:4:1:3] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:4:2:1] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:4:2:2] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:4:2:3] | passed | 1.74 seconds | -./spec/lib/file_tree_spec.rb[1:4:2:4] | passed | 1.73 seconds | -./spec/lib/file_tree_spec.rb[1:5:1:1] | passed | 0.04461 seconds | -./spec/lib/file_tree_spec.rb[1:5:2:1] | passed | 0.04648 seconds | -./spec/lib/file_tree_spec.rb[1:5:3:1] | passed | 0.04946 seconds | -./spec/lib/file_tree_spec.rb[1:6:1] | passed | 0.04706 seconds | -./spec/lib/file_tree_spec.rb[1:6:2] | passed | 0.0554 seconds | -./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:1] | passed | 0.13097 seconds | -./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:2] | passed | 0.13694 seconds | -./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:3] | passed | 0.15343 seconds | -./spec/lib/generators/testing_framework_adapter_generator_spec.rb[1:1:4] | passed | 0.16829 seconds | -./spec/lib/junit_adapter_spec.rb[1:1:1:1] | passed | 0.0468 seconds | -./spec/lib/junit_adapter_spec.rb[1:1:2:1] | passed | 0.0495 seconds | -./spec/lib/mocha_adapter_spec.rb[1:1:1] | passed | 0.07256 seconds | -./spec/lib/nonce_store_spec.rb[1:1:1] | passed | 0.04928 seconds | -./spec/lib/nonce_store_spec.rb[1:2:1] | passed | 0.05167 seconds | -./spec/lib/nonce_store_spec.rb[1:3:1] | passed | 0.06516 seconds | -./spec/lib/nonce_store_spec.rb[1:3:2] | passed | 1.07 seconds | -./spec/lib/nonce_store_spec.rb[1:3:3] | passed | 0.05538 seconds | -./spec/lib/port_pool_spec.rb[1:1:1] | passed | 0.04779 seconds | -./spec/lib/port_pool_spec.rb[1:1:2:1] | passed | 0.05225 seconds | -./spec/lib/port_pool_spec.rb[1:1:2:2] | passed | 0.04625 seconds | -./spec/lib/port_pool_spec.rb[1:1:3:1] | passed | 0.04389 seconds | -./spec/lib/port_pool_spec.rb[1:2:1:1] | passed | 0.04476 seconds | -./spec/lib/port_pool_spec.rb[1:2:2:1] | passed | 0.04679 seconds | -./spec/lib/port_pool_spec.rb[1:2:3:1] | passed | 0.05205 seconds | -./spec/lib/py_unit_adapter_spec.rb[1:1:1] | passed | 0.0464 seconds | -./spec/lib/rspec_adapter_spec.rb[1:1:1] | passed | 0.04745 seconds | -./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:1:1] | passed | 0.05192 seconds | -./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:2:1] | passed | 0.04797 seconds | -./spec/lib/sql_result_set_comparator_adapter_spec.rb[1:1:3:1] | passed | 0.05233 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:1:1:1] | passed | 0.06723 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:1:2:1] | passed | 0.05049 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:1:3:1] | passed | 0.0499 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:2:1] | passed | 0.04968 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:3:1] | passed | 0.0518 seconds | -./spec/lib/testing_framework_adapter_spec.rb[1:4:1] | passed | 0.05101 seconds | -./spec/lib/whistleblower_spec.rb[1:1:1] | passed | 0.4526 seconds | -./spec/lib/whistleblower_spec.rb[1:1:2] | passed | 0.43831 seconds | -./spec/lib/whistleblower_spec.rb[1:2:1] | passed | 0.43577 seconds | -./spec/mailers/user_mailer_spec.rb[1:1:1] | passed | 0.25795 seconds | -./spec/mailers/user_mailer_spec.rb[1:1:2] | passed | 0.27475 seconds | -./spec/mailers/user_mailer_spec.rb[1:1:3] | passed | 0.2699 seconds | -./spec/mailers/user_mailer_spec.rb[1:1:4] | passed | 0.25876 seconds | -./spec/mailers/user_mailer_spec.rb[1:2:1] | passed | 0.23646 seconds | -./spec/mailers/user_mailer_spec.rb[1:3:1] | passed | 0.21859 seconds | -./spec/mailers/user_mailer_spec.rb[1:3:2] | passed | 0.22282 seconds | -./spec/mailers/user_mailer_spec.rb[1:3:3] | passed | 0.33699 seconds | -./spec/mailers/user_mailer_spec.rb[1:3:4] | passed | 0.21741 seconds | -./spec/models/code_ocean/file_spec.rb[1:1] | passed | 0.05281 seconds | -./spec/models/code_ocean/file_spec.rb[1:2] | passed | 0.06111 seconds | -./spec/models/code_ocean/file_spec.rb[1:3] | passed | 0.05727 seconds | -./spec/models/code_ocean/file_spec.rb[1:4] | passed | 0.06252 seconds | -./spec/models/code_ocean/file_spec.rb[1:5:1] | passed | 0.05775 seconds | -./spec/models/code_ocean/file_spec.rb[1:5:2] | passed | 0.06536 seconds | -./spec/models/code_ocean/file_spec.rb[1:5:3] | passed | 0.06164 seconds | -./spec/models/code_ocean/file_spec.rb[1:6:1] | passed | 0.06148 seconds | -./spec/models/code_ocean/file_spec.rb[1:6:2] | passed | 0.06278 seconds | -./spec/models/consumer_spec.rb[1:1] | passed | 0.05116 seconds | -./spec/models/consumer_spec.rb[1:2] | passed | 0.05519 seconds | -./spec/models/consumer_spec.rb[1:3] | passed | 0.07053 seconds | -./spec/models/consumer_spec.rb[1:4] | passed | 0.0555 seconds | -./spec/models/error_spec.rb[1:1] | passed | 0.04672 seconds | -./spec/models/error_spec.rb[1:2] | passed | 0.04962 seconds | -./spec/models/error_spec.rb[1:3:1] | passed | 0.04457 seconds | -./spec/models/execution_environment_spec.rb[1:1] | passed | 0.88342 seconds | -./spec/models/execution_environment_spec.rb[1:2] | passed | 0.41619 seconds | -./spec/models/execution_environment_spec.rb[1:3] | passed | 0.32074 seconds | -./spec/models/execution_environment_spec.rb[1:4] | passed | 0.87759 seconds | -./spec/models/execution_environment_spec.rb[1:5] | passed | 0.35236 seconds | -./spec/models/execution_environment_spec.rb[1:6] | passed | 0.34291 seconds | -./spec/models/execution_environment_spec.rb[1:7] | passed | 0.30257 seconds | -./spec/models/execution_environment_spec.rb[1:8] | passed | 0.51367 seconds | -./spec/models/execution_environment_spec.rb[1:9] | passed | 0.38582 seconds | -./spec/models/execution_environment_spec.rb[1:10] | passed | 0.31626 seconds | -./spec/models/execution_environment_spec.rb[1:11] | passed | 0.49556 seconds | -./spec/models/execution_environment_spec.rb[1:12] | passed | 0.38436 seconds | -./spec/models/execution_environment_spec.rb[1:13] | passed | 0.34001 seconds | -./spec/models/execution_environment_spec.rb[1:14:1:1] | passed | 1.37 seconds | -./spec/models/execution_environment_spec.rb[1:14:2:1] | passed | 0.5388 seconds | -./spec/models/execution_environment_spec.rb[1:14:3:1] | passed | 0.65292 seconds | -./spec/models/execution_environment_spec.rb[1:14:4:1] | passed | 0.30448 seconds | -./spec/models/execution_environment_spec.rb[1:15:1] | passed | 0.31281 seconds | -./spec/models/execution_environment_spec.rb[1:15:2] | passed | 0.34101 seconds | -./spec/models/execution_environment_spec.rb[1:15:3] | passed | 0.37395 seconds | -./spec/models/execution_environment_spec.rb[1:16:1] | failed | 3 minutes 15.8 seconds | -./spec/models/execution_environment_spec.rb[1:16:2] | failed | 2 minutes 1.6 seconds | -./spec/models/execution_environment_spec.rb[1:16:3:1] | failed | 2 minutes 2.7 seconds | -./spec/models/execution_environment_spec.rb[1:16:4:1] | failed | 3 minutes 31.8 seconds | -./spec/models/exercise_spec.rb[1:1] | passed | 4 seconds | -./spec/models/exercise_spec.rb[1:2] | passed | 0.06381 seconds | -./spec/models/exercise_spec.rb[1:3] | passed | 0.05955 seconds | -./spec/models/exercise_spec.rb[1:4] | passed | 0.0694 seconds | -./spec/models/exercise_spec.rb[1:5] | passed | 0.05958 seconds | -./spec/models/exercise_spec.rb[1:6] | passed | 0.06112 seconds | -./spec/models/exercise_spec.rb[1:7] | passed | 0.06287 seconds | -./spec/models/exercise_spec.rb[1:8:1:1] | passed | 1.54 seconds | -./spec/models/exercise_spec.rb[1:8:2:1] | passed | 1.86 seconds | -./spec/models/exercise_spec.rb[1:9:1:1] | passed | 1.54 seconds | -./spec/models/exercise_spec.rb[1:9:2:1] | passed | 1.83 seconds | -./spec/models/exercise_spec.rb[1:10:1] | passed | 1.54 seconds | -./spec/models/exercise_spec.rb[1:10:2] | passed | 1.55 seconds | -./spec/models/exercise_spec.rb[1:10:3] | passed | 1.55 seconds | -./spec/models/exercise_spec.rb[1:10:4] | passed | 1.56 seconds | -./spec/models/external_user_spec.rb[1:1] | passed | 0.05177 seconds | -./spec/models/external_user_spec.rb[1:2] | passed | 0.05328 seconds | -./spec/models/external_user_spec.rb[1:3:1] | passed | 0.06456 seconds | -./spec/models/external_user_spec.rb[1:4:1] | passed | 0.05401 seconds | -./spec/models/external_user_spec.rb[1:5:1] | passed | 0.05196 seconds | -./spec/models/external_user_spec.rb[1:6:1] | passed | 0.06018 seconds | -./spec/models/file_type_spec.rb[1:1] | passed | 0.05687 seconds | -./spec/models/file_type_spec.rb[1:2:1] | passed | 0.05752 seconds | -./spec/models/file_type_spec.rb[1:2:2] | passed | 0.05774 seconds | -./spec/models/file_type_spec.rb[1:3:1] | passed | 0.06183 seconds | -./spec/models/file_type_spec.rb[1:3:2] | passed | 0.06521 seconds | -./spec/models/file_type_spec.rb[1:4] | passed | 0.08014 seconds | -./spec/models/file_type_spec.rb[1:5] | passed | 0.05505 seconds | -./spec/models/file_type_spec.rb[1:6] | passed | 0.06553 seconds | -./spec/models/file_type_spec.rb[1:7] | passed | 0.05611 seconds | -./spec/models/hint_spec.rb[1:1] | passed | 0.05463 seconds | -./spec/models/hint_spec.rb[1:2] | passed | 0.05013 seconds | -./spec/models/hint_spec.rb[1:3] | passed | 0.05554 seconds | -./spec/models/hint_spec.rb[1:4] | passed | 0.05332 seconds | -./spec/models/hint_spec.rb[1:5] | passed | 0.05561 seconds | -./spec/models/hint_spec.rb[1:6:1] | passed | 0.04798 seconds | -./spec/models/hint_spec.rb[1:7:1] | passed | 0.05355 seconds | -./spec/models/internal_user_spec.rb[1:1] | passed | 0.05381 seconds | -./spec/models/internal_user_spec.rb[1:2] | passed | 0.23652 seconds | -./spec/models/internal_user_spec.rb[1:3:1] | passed | 0.48092 seconds | -./spec/models/internal_user_spec.rb[1:3:2] | passed | 0.2442 seconds | -./spec/models/internal_user_spec.rb[1:4:1] | passed | 0.4856 seconds | -./spec/models/internal_user_spec.rb[1:4:2] | passed | 0.24731 seconds | -./spec/models/internal_user_spec.rb[1:5:1] | passed | 0.48664 seconds | -./spec/models/internal_user_spec.rb[1:5:2] | passed | 0.23371 seconds | -./spec/models/internal_user_spec.rb[1:6] | passed | 0.05358 seconds | -./spec/models/internal_user_spec.rb[1:7] | passed | 0.05487 seconds | -./spec/models/internal_user_spec.rb[1:8:1] | passed | 0.07052 seconds | -./spec/models/internal_user_spec.rb[1:9:1] | passed | 0.05715 seconds | -./spec/models/internal_user_spec.rb[1:10:1] | passed | 0.04854 seconds | -./spec/models/internal_user_spec.rb[1:11:1] | passed | 0.06655 seconds | -./spec/models/submission_spec.rb[1:1] | passed | 0.0644 seconds | -./spec/models/submission_spec.rb[1:2] | passed | 0.1015 seconds | -./spec/models/submission_spec.rb[1:3] | passed | 0.08179 seconds | -./spec/models/submission_spec.rb[1:4:1] | passed | 0.68143 seconds | -./spec/models/submission_spec.rb[1:4:2] | passed | 0.7595 seconds | -./spec/models/submission_spec.rb[1:5:1] | passed | 0.80489 seconds | -./spec/models/submission_spec.rb[1:5:2] | passed | 0.68498 seconds | -./spec/models/submission_spec.rb[1:6:1] | passed | 0.83722 seconds | -./spec/models/submission_spec.rb[1:6:2] | passed | 0.77297 seconds | -./spec/models/submission_spec.rb[1:7:1] | passed | 0.66752 seconds | -./spec/models/submission_spec.rb[1:7:2] | passed | 0.64445 seconds | -./spec/models/submission_spec.rb[1:8:1] | passed | 1.76 seconds | -./spec/models/submission_spec.rb[1:9:1:1] | passed | 1.66 seconds | -./spec/models/submission_spec.rb[1:9:2:1] | passed | 0.73879 seconds | -./spec/models/submission_spec.rb[1:10:1:1] | passed | 2.05 seconds | -./spec/models/submission_spec.rb[1:10:2:1] | passed | 0.71365 seconds | -./spec/models/submission_spec.rb[1:11:1] | passed | 0.82545 seconds | -./spec/models/submission_spec.rb[1:12:1] | passed | 0.8341 seconds | -./spec/models/submission_spec.rb[1:13:1] | passed | 0.84713 seconds | -./spec/models/submission_spec.rb[1:14:1] | passed | 0.68107 seconds | -./spec/models/team_spec.rb[1:1] | passed | 0.05459 seconds | -./spec/policies/admin/dashboard_policy_spec.rb[1:1:1] | passed | 0.04881 seconds | -./spec/policies/admin/dashboard_policy_spec.rb[1:1:2] | passed | 0.05824 seconds | -./spec/policies/admin/dashboard_policy_spec.rb[1:1:3] | passed | 0.06351 seconds | -./spec/policies/application_policy_spec.rb[1:1:1:1] | passed | 0.04957 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:1] | passed | 1.54 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:2] | passed | 1.54 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:1:3] | passed | 1.56 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:2:1] | passed | 1.57 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:1:2:2] | passed | 1.59 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:1] | passed | 1.54 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:2] | passed | 1.54 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:2:1:3] | passed | 1.96 seconds | -./spec/policies/code_ocean/file_policy_spec.rb[1:2:2:1] | passed | 1.61 seconds | -./spec/policies/consumer_policy_spec.rb[1:1:1] | passed | 0.10357 seconds | -./spec/policies/consumer_policy_spec.rb[1:2:1] | passed | 0.08366 seconds | -./spec/policies/consumer_policy_spec.rb[1:3:1] | passed | 0.08169 seconds | -./spec/policies/consumer_policy_spec.rb[1:4:1] | passed | 0.08223 seconds | -./spec/policies/consumer_policy_spec.rb[1:5:1] | passed | 0.08195 seconds | -./spec/policies/consumer_policy_spec.rb[1:6:1] | passed | 0.07828 seconds | -./spec/policies/consumer_policy_spec.rb[1:7:1] | passed | 0.07932 seconds | -./spec/policies/error_policy_spec.rb[1:1:1] | passed | 0.45873 seconds | -./spec/policies/error_policy_spec.rb[1:1:2] | passed | 0.46128 seconds | -./spec/policies/error_policy_spec.rb[1:1:3] | passed | 0.46079 seconds | -./spec/policies/error_policy_spec.rb[1:2:1] | passed | 0.45973 seconds | -./spec/policies/error_policy_spec.rb[1:2:2] | passed | 0.45929 seconds | -./spec/policies/error_policy_spec.rb[1:2:3] | passed | 0.46767 seconds | -./spec/policies/error_policy_spec.rb[1:3:1] | passed | 0.445 seconds | -./spec/policies/error_policy_spec.rb[1:3:2] | passed | 0.46193 seconds | -./spec/policies/error_policy_spec.rb[1:3:3] | passed | 0.4657 seconds | -./spec/policies/error_policy_spec.rb[1:4:1] | passed | 0.46109 seconds | -./spec/policies/error_policy_spec.rb[1:4:2] | passed | 1.09 seconds | -./spec/policies/error_policy_spec.rb[1:4:3] | passed | 0.51032 seconds | -./spec/policies/error_policy_spec.rb[1:5:1] | passed | 0.4543 seconds | -./spec/policies/error_policy_spec.rb[1:5:2] | passed | 0.44643 seconds | -./spec/policies/error_policy_spec.rb[1:5:3] | passed | 0.47377 seconds | -./spec/policies/error_policy_spec.rb[1:6:1] | passed | 0.47607 seconds | -./spec/policies/error_policy_spec.rb[1:6:2] | passed | 0.45039 seconds | -./spec/policies/error_policy_spec.rb[1:6:3] | passed | 0.47517 seconds | -./spec/policies/error_policy_spec.rb[1:7:1] | passed | 0.45254 seconds | -./spec/policies/error_policy_spec.rb[1:7:2] | passed | 0.47799 seconds | -./spec/policies/error_policy_spec.rb[1:7:3] | passed | 0.46955 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:1:1] | passed | 0.4323 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:1:2] | passed | 0.45739 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:1:3] | passed | 0.44001 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:2:1] | passed | 0.55549 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:2:2] | passed | 0.43501 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:2:3] | passed | 0.43414 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:3:1] | passed | 0.4346 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:3:2] | passed | 0.45119 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:3:3] | passed | 0.44649 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:4:1] | passed | 0.43679 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:4:2] | passed | 0.43608 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:4:3] | passed | 0.45377 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:5:1] | passed | 0.43083 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:5:2] | passed | 0.42669 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:5:3] | passed | 0.45541 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:6:1] | passed | 0.4409 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:6:2] | passed | 0.43714 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:6:3] | passed | 0.45636 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:7:1] | passed | 0.42774 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:7:2] | passed | 0.42009 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:7:3] | passed | 0.4454 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:8:1] | passed | 0.42981 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:8:2] | passed | 0.42901 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:8:3] | passed | 0.44514 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:9:1] | passed | 0.43291 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:9:2] | passed | 0.44433 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:9:3] | passed | 0.44712 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:10:1] | passed | 0.43274 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:10:2] | passed | 0.4342 seconds | -./spec/policies/execution_environment_policy_spec.rb[1:10:3] | passed | 0.4458 seconds | -./spec/policies/exercise_policy_spec.rb[1:1:1] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:2:1] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:2:2] | passed | 1.33 seconds | -./spec/policies/exercise_policy_spec.rb[1:2:3] | passed | 1.33 seconds | -./spec/policies/exercise_policy_spec.rb[1:3:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:3:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:3:3] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:4:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:4:2] | passed | 1.33 seconds | -./spec/policies/exercise_policy_spec.rb[1:4:3] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:5:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:5:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:5:3] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:5:4] | passed | 1.57 seconds | -./spec/policies/exercise_policy_spec.rb[1:6:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:6:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:6:3] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:6:4] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:7:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:7:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:7:3] | passed | 1.61 seconds | -./spec/policies/exercise_policy_spec.rb[1:7:4] | passed | 1.35 seconds | -./spec/policies/exercise_policy_spec.rb[1:8:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:8:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:8:3] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:8:4] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:9:1] | passed | 1.32 seconds | -./spec/policies/exercise_policy_spec.rb[1:9:2] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:9:3] | passed | 1.31 seconds | -./spec/policies/exercise_policy_spec.rb[1:9:4] | passed | 1.34 seconds | -./spec/policies/exercise_policy_spec.rb[1:10:1] | passed | 1.33 seconds | -./spec/policies/exercise_policy_spec.rb[1:11:1] | passed | 0.0779 seconds | -./spec/policies/exercise_policy_spec.rb[1:12:1] | passed | 0.0805 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:1:1] | passed | 0.04881 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:2:1] | passed | 0.04955 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:3:1] | passed | 0.75105 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:3:2] | passed | 0.76452 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:3:3] | passed | 0.7714 seconds | -./spec/policies/exercise_policy_spec.rb[1:13:1:3:4] | passed | 0.75585 seconds | -./spec/policies/external_user_policy_spec.rb[1:1:1] | passed | 0.07825 seconds | -./spec/policies/external_user_policy_spec.rb[1:2:1] | passed | 0.07896 seconds | -./spec/policies/external_user_policy_spec.rb[1:3:1] | passed | 0.09095 seconds | -./spec/policies/external_user_policy_spec.rb[1:4:1] | passed | 0.08289 seconds | -./spec/policies/external_user_policy_spec.rb[1:5:1] | passed | 0.08806 seconds | -./spec/policies/external_user_policy_spec.rb[1:6:1] | passed | 0.24338 seconds | -./spec/policies/external_user_policy_spec.rb[1:7:1] | passed | 0.08096 seconds | -./spec/policies/file_type_policy_spec.rb[1:1:1] | passed | 0.23616 seconds | -./spec/policies/file_type_policy_spec.rb[1:1:2] | passed | 0.24798 seconds | -./spec/policies/file_type_policy_spec.rb[1:1:3] | passed | 0.24424 seconds | -./spec/policies/file_type_policy_spec.rb[1:2:1] | passed | 0.23601 seconds | -./spec/policies/file_type_policy_spec.rb[1:2:2] | passed | 0.24568 seconds | -./spec/policies/file_type_policy_spec.rb[1:2:3] | passed | 0.24071 seconds | -./spec/policies/file_type_policy_spec.rb[1:3:1] | passed | 0.23586 seconds | -./spec/policies/file_type_policy_spec.rb[1:3:2] | passed | 0.24816 seconds | -./spec/policies/file_type_policy_spec.rb[1:3:3] | passed | 0.23923 seconds | -./spec/policies/file_type_policy_spec.rb[1:4:1] | passed | 0.23465 seconds | -./spec/policies/file_type_policy_spec.rb[1:4:2] | passed | 0.23125 seconds | -./spec/policies/file_type_policy_spec.rb[1:4:3] | passed | 0.24993 seconds | -./spec/policies/file_type_policy_spec.rb[1:5:1] | passed | 0.236 seconds | -./spec/policies/file_type_policy_spec.rb[1:5:2] | passed | 0.23167 seconds | -./spec/policies/file_type_policy_spec.rb[1:5:3] | passed | 0.26042 seconds | -./spec/policies/file_type_policy_spec.rb[1:6:1] | passed | 0.23111 seconds | -./spec/policies/file_type_policy_spec.rb[1:6:2] | passed | 0.23244 seconds | -./spec/policies/file_type_policy_spec.rb[1:6:3] | passed | 0.25396 seconds | -./spec/policies/file_type_policy_spec.rb[1:7:1] | passed | 0.23573 seconds | -./spec/policies/file_type_policy_spec.rb[1:7:2] | passed | 0.2287 seconds | -./spec/policies/file_type_policy_spec.rb[1:7:3] | passed | 0.25366 seconds | -./spec/policies/hint_policy_spec.rb[1:1:1] | passed | 0.45419 seconds | -./spec/policies/hint_policy_spec.rb[1:1:2] | passed | 0.49946 seconds | -./spec/policies/hint_policy_spec.rb[1:1:3] | passed | 0.45711 seconds | -./spec/policies/hint_policy_spec.rb[1:2:1] | passed | 0.44633 seconds | -./spec/policies/hint_policy_spec.rb[1:2:2] | passed | 0.44596 seconds | -./spec/policies/hint_policy_spec.rb[1:2:3] | passed | 0.46862 seconds | -./spec/policies/hint_policy_spec.rb[1:3:1] | passed | 0.43792 seconds | -./spec/policies/hint_policy_spec.rb[1:3:2] | passed | 0.44381 seconds | -./spec/policies/hint_policy_spec.rb[1:3:3] | passed | 0.44477 seconds | -./spec/policies/hint_policy_spec.rb[1:4:1] | passed | 0.45777 seconds | -./spec/policies/hint_policy_spec.rb[1:4:2] | passed | 0.48273 seconds | -./spec/policies/hint_policy_spec.rb[1:4:3] | passed | 0.46427 seconds | -./spec/policies/hint_policy_spec.rb[1:5:1] | passed | 0.45315 seconds | -./spec/policies/hint_policy_spec.rb[1:5:2] | passed | 0.44008 seconds | -./spec/policies/hint_policy_spec.rb[1:5:3] | passed | 0.46454 seconds | -./spec/policies/hint_policy_spec.rb[1:6:1] | passed | 0.45193 seconds | -./spec/policies/hint_policy_spec.rb[1:6:2] | passed | 0.44814 seconds | -./spec/policies/hint_policy_spec.rb[1:6:3] | passed | 0.45544 seconds | -./spec/policies/hint_policy_spec.rb[1:7:1] | passed | 0.43596 seconds | -./spec/policies/hint_policy_spec.rb[1:7:2] | passed | 0.45115 seconds | -./spec/policies/hint_policy_spec.rb[1:7:3] | passed | 0.47503 seconds | -./spec/policies/internal_user_policy_spec.rb[1:1:1] | passed | 0.07814 seconds | -./spec/policies/internal_user_policy_spec.rb[1:2:1] | passed | 0.07735 seconds | -./spec/policies/internal_user_policy_spec.rb[1:3:1] | passed | 0.08016 seconds | -./spec/policies/internal_user_policy_spec.rb[1:4:1] | passed | 0.07969 seconds | -./spec/policies/internal_user_policy_spec.rb[1:5:1] | passed | 0.08187 seconds | -./spec/policies/internal_user_policy_spec.rb[1:6:1] | passed | 0.08311 seconds | -./spec/policies/internal_user_policy_spec.rb[1:7:1:1] | passed | 0.09534 seconds | -./spec/policies/internal_user_policy_spec.rb[1:7:2:1] | passed | 0.10351 seconds | -./spec/policies/submission_policy_spec.rb[1:1:1] | passed | 0.08955 seconds | -./spec/policies/submission_policy_spec.rb[1:2:1] | passed | 0.05916 seconds | -./spec/policies/submission_policy_spec.rb[1:2:2] | passed | 0.07581 seconds | -./spec/policies/submission_policy_spec.rb[1:3:1] | passed | 0.06324 seconds | -./spec/policies/submission_policy_spec.rb[1:3:2] | passed | 0.103 seconds | -./spec/policies/submission_policy_spec.rb[1:4:1] | passed | 0.05359 seconds | -./spec/policies/submission_policy_spec.rb[1:4:2] | passed | 0.08136 seconds | -./spec/policies/submission_policy_spec.rb[1:5:1] | passed | 0.04924 seconds | -./spec/policies/submission_policy_spec.rb[1:5:2] | passed | 0.07912 seconds | -./spec/policies/submission_policy_spec.rb[1:6:1] | passed | 0.06206 seconds | -./spec/policies/submission_policy_spec.rb[1:6:2] | passed | 0.09128 seconds | -./spec/policies/submission_policy_spec.rb[1:7:1] | passed | 0.05582 seconds | -./spec/policies/submission_policy_spec.rb[1:7:2] | passed | 0.06429 seconds | -./spec/policies/submission_policy_spec.rb[1:8:1] | passed | 0.0566 seconds | -./spec/policies/submission_policy_spec.rb[1:8:2] | passed | 0.07754 seconds | -./spec/policies/submission_policy_spec.rb[1:9:1] | passed | 0.05464 seconds | -./spec/policies/submission_policy_spec.rb[1:9:2] | passed | 0.06892 seconds | -./spec/policies/submission_policy_spec.rb[1:10:1] | passed | 0.09052 seconds | -./spec/policies/team_policy_spec.rb[1:1:1] | passed | 0.12256 seconds | -./spec/policies/team_policy_spec.rb[1:1:2] | passed | 0.1089 seconds | -./spec/policies/team_policy_spec.rb[1:1:3] | passed | 0.13294 seconds | -./spec/policies/team_policy_spec.rb[1:2:1] | passed | 0.07738 seconds | -./spec/policies/team_policy_spec.rb[1:2:2] | passed | 0.08324 seconds | -./spec/policies/team_policy_spec.rb[1:2:3] | passed | 0.08442 seconds | -./spec/policies/team_policy_spec.rb[1:3:1] | passed | 0.07919 seconds | -./spec/policies/team_policy_spec.rb[1:3:2] | passed | 0.08424 seconds | -./spec/policies/team_policy_spec.rb[1:3:3] | passed | 0.08273 seconds | -./spec/policies/team_policy_spec.rb[1:4:1] | passed | 0.10554 seconds | -./spec/policies/team_policy_spec.rb[1:4:2] | passed | 0.08925 seconds | -./spec/policies/team_policy_spec.rb[1:4:3] | passed | 0.11947 seconds | -./spec/policies/team_policy_spec.rb[1:5:1] | passed | 0.10834 seconds | -./spec/policies/team_policy_spec.rb[1:5:2] | passed | 0.09801 seconds | -./spec/policies/team_policy_spec.rb[1:5:3] | passed | 0.12565 seconds | -./spec/policies/team_policy_spec.rb[1:6:1] | passed | 0.09479 seconds | -./spec/policies/team_policy_spec.rb[1:6:2] | passed | 0.07876 seconds | -./spec/policies/team_policy_spec.rb[1:6:3] | passed | 0.174 seconds | -./spec/policies/team_policy_spec.rb[1:7:1] | passed | 0.09027 seconds | -./spec/policies/team_policy_spec.rb[1:7:2] | passed | 0.11863 seconds | -./spec/policies/team_policy_spec.rb[1:7:3] | passed | 0.14471 seconds | -./spec/uploaders/file_uploader_spec.rb[1:1] | passed | 1.78 seconds | -./spec/uploaders/file_uploader_spec.rb[1:2] | passed | 1.77 seconds | -./spec/views/execution_environments/shell.html.slim_spec.rb[1:1] | passed | 0.44742 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:1] | passed | 1.74 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:2] | passed | 3.81 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:3] | passed | 1.73 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:4] | passed | 1.73 seconds | -./spec/views/exercises/implement.html.slim_spec.rb[1:5] | passed | 1.72 seconds | diff --git a/spec/additional_setting_spec.rb b/spec/additional_setting_spec.rb deleted file mode 100644 index 3ff57d05..00000000 --- a/spec/additional_setting_spec.rb +++ /dev/null @@ -1,3 +0,0 @@ -RSpec.configure do |c| - c.example_status_persistence_file_path = "./spec/examples.txt" -end diff --git a/spec/examples.txt b/spec/examples.txt deleted file mode 100644 index e69de29b..00000000 From 23989dbc6cc9684c1fa9afc82b5382bea866a077 Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 2 Aug 2016 16:59:24 +0200 Subject: [PATCH 31/64] cleanup + rm --- app/views/exercises/{implement2.html.slim => _ace.html.slim} | 2 +- app/views/exercises/_editor2.html.slim | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename app/views/exercises/{implement2.html.slim => _ace.html.slim} (84%) delete mode 100644 app/views/exercises/_editor2.html.slim diff --git a/app/views/exercises/implement2.html.slim b/app/views/exercises/_ace.html.slim similarity index 84% rename from app/views/exercises/implement2.html.slim rename to app/views/exercises/_ace.html.slim index 7a843dfd..9e141afc 100644 --- a/app/views/exercises/implement2.html.slim +++ b/app/views/exercises/_ace.html.slim @@ -4,4 +4,4 @@ - @files.each do |file| .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-id=file.id + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id diff --git a/app/views/exercises/_editor2.html.slim b/app/views/exercises/_editor2.html.slim deleted file mode 100644 index e69de29b..00000000 From 984d592426fc40235d7d3e7fcdf4047773c62451 Mon Sep 17 00:00:00 2001 From: yqbk Date: Tue, 2 Aug 2016 17:00:52 +0200 Subject: [PATCH 32/64] remove form2 --- app/views/exercises/_form2.html.slim | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 app/views/exercises/_form2.html.slim diff --git a/app/views/exercises/_form2.html.slim b/app/views/exercises/_form2.html.slim deleted file mode 100644 index 9e141afc..00000000 --- a/app/views/exercises/_form2.html.slim +++ /dev/null @@ -1,7 +0,0 @@ -#editor.panel-group.row data-exercise-id=@exercise.id - #files style=("") data-entries=FileTree.new(@files).to_js_tree - div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') - - @files.each do |file| - .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type - .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id From f6a7f6ee1c68aaef8aa90f67bf92bcfe32a097c2 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 3 Aug 2016 11:25:52 +0200 Subject: [PATCH 33/64] fix indentation in implement --- app/views/exercises/implement.html.slim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/exercises/implement.html.slim b/app/views/exercises/implement.html.slim index fd7d3fcb..7aa79e62 100644 --- a/app/views/exercises/implement.html.slim +++ b/app/views/exercises/implement.html.slim @@ -79,7 +79,7 @@ - if session[:lti_parameters].try(:has_key?, 'lis_outcome_service_url') p.text-center = render('editor_button', classes: 'btn-lg btn-success', data: {:'data-url' => submit_exercise_path(@exercise)}, icon: 'fa fa-send', id: 'submit', label: t('exercises.editor.submit')) - else - p.text-center = render('editor_button', classes: 'btn-lg btn-warning-outline', data: {:'data-placement' => 'bottom', :'data-tooltip' => true} , icon: 'fa fa-clock-o', id: 'submit_outdated', label: t('exercises.editor.exercise_deadline_passed'), title: t('exercises.editor.tooltips.exercise_deadline_passed')) + p.text-center = render('editor_button', classes: 'btn-lg btn-warning-outline', data: {:'data-placement' => 'bottom', :'data-tooltip' => true}, icon: 'fa fa-clock-o', id: 'submit_outdated', label: t('exercises.editor.exercise_deadline_passed'), title: t('exercises.editor.tooltips.exercise_deadline_passed')) - if qa_url #questions-column From 5c9311cf76206bf34ba43eddfcf2b9209e5beb19 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 3 Aug 2016 11:29:04 +0200 Subject: [PATCH 34/64] fix indentation in implement2 --- app/views/exercises/implement.html.slim | 74 ++++++++++++------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/app/views/exercises/implement.html.slim b/app/views/exercises/implement.html.slim index 7aa79e62..0c5e109b 100644 --- a/app/views/exercises/implement.html.slim +++ b/app/views/exercises/implement.html.slim @@ -45,43 +45,43 @@ button#prompt-submit.btn.btn-primary type="button" = t('exercises.editor.send') #output pre = t('.no_output_yet') - - if CodeOcean::Config.new(:code_ocean).read[:flowr][:enabled] - #flowrHint.panel.panel-info data-url=CodeOcean::Config.new(:code_ocean).read[:flowr][:url] role='tab' - .panel-heading = 'Gain more insights here' - .panel-body - #output-col2.col-lg-5.col-md-5 - #turtlediv - // todo what should the canvas default size be? - canvas#turtlecanvas.hidden width=400 height=400 style='border-style:solid;border-width:thin' - #progress.tab-pane - #results - h2 = t('.results') - p.test-count == t('.test_count', count: 0) - ul.list-unstyled - ul#dummies.hidden.list-unstyled - li.panel.panel-default - .panel-heading - h3.panel-title == t('.file', filename: '', number: 0) - .panel-body - = row(label: '.passed_tests', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe) - = row(label: 'activerecord.attributes.submission.score', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe) - = row(label: '.feedback') - = row(label: '.error_messages') - = row(label: '.output', value: link_to(t('shared.show'), '#')) - #score data-maximum-score=@exercise.maximum_score data-score=@submission.try(:score) - h4 - span == "#{t('activerecord.attributes.submission.score')}: " - span.score - .progress - .progress-bar role='progressbar' + - if CodeOcean::Config.new(:code_ocean).read[:flowr][:enabled] + #flowrHint.panel.panel-info data-url=CodeOcean::Config.new(:code_ocean).read[:flowr][:url] role='tab' + .panel-heading = 'Gain more insights here' + .panel-body + #output-col2.col-lg-5.col-md-5 + #turtlediv + // todo what should the canvas default size be? + canvas#turtlecanvas.hidden width=400 height=400 style='border-style:solid;border-width:thin' + #progress.tab-pane + #results + h2 = t('.results') + p.test-count == t('.test_count', count: 0) + ul.list-unstyled + ul#dummies.hidden.list-unstyled + li.panel.panel-default + .panel-heading + h3.panel-title == t('.file', filename: '', number: 0) + .panel-body + = row(label: '.passed_tests', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe) + = row(label: 'activerecord.attributes.submission.score', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe) + = row(label: '.feedback') + = row(label: '.error_messages') + = row(label: '.output', value: link_to(t('shared.show'), '#')) + #score data-maximum-score=@exercise.maximum_score data-score=@submission.try(:score) + h4 + span == "#{t('activerecord.attributes.submission.score')}: " + span.score + .progress + .progress-bar role='progressbar' - br - - if session[:lti_parameters].try(:has_key?, 'lis_outcome_service_url') - p.text-center = render('editor_button', classes: 'btn-lg btn-success', data: {:'data-url' => submit_exercise_path(@exercise)}, icon: 'fa fa-send', id: 'submit', label: t('exercises.editor.submit')) - - else - p.text-center = render('editor_button', classes: 'btn-lg btn-warning-outline', data: {:'data-placement' => 'bottom', :'data-tooltip' => true}, icon: 'fa fa-clock-o', id: 'submit_outdated', label: t('exercises.editor.exercise_deadline_passed'), title: t('exercises.editor.tooltips.exercise_deadline_passed')) + br + - if session[:lti_parameters].try(:has_key?, 'lis_outcome_service_url') + p.text-center = render('editor_button', classes: 'btn-lg btn-success', data: {:'data-url' => submit_exercise_path(@exercise)}, icon: 'fa fa-send', id: 'submit', label: t('exercises.editor.submit')) + - else + p.text-center = render('editor_button', classes: 'btn-lg btn-warning-outline', data: {:'data-placement' => 'bottom', :'data-tooltip' => true} , icon: 'fa fa-clock-o', id: 'submit_outdated', label: t('exercises.editor.exercise_deadline_passed'), title: t('exercises.editor.tooltips.exercise_deadline_passed')) - if qa_url - #questions-column - #questions-holder data-url="#{qa_url}/qa/index/#{@exercise.id}/#{@user_id}" - = qa_js_tag \ No newline at end of file + #questions-column + #questions-holder data-url="#{qa_url}/qa/index/#{@exercise.id}/#{@user_id}" + = qa_js_tag From eb03ef1e50ddb08db5df644b58d1bc753acf9fd4 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 3 Aug 2016 16:22:35 +0200 Subject: [PATCH 35/64] pass file to form --- app/views/exercises/_ace.html.slim | 14 +++++++------- app/views/exercises/_file_form.html.slim | 3 ++- app/views/exercises/_form.html.slim | 9 ++++++--- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_ace.html.slim index 9e141afc..5d784c2d 100644 --- a/app/views/exercises/_ace.html.slim +++ b/app/views/exercises/_ace.html.slim @@ -1,7 +1,7 @@ -#editor.panel-group.row data-exercise-id=@exercise.id - #files style=("") data-entries=FileTree.new(@files).to_js_tree - div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') - - @files.each do |file| - .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type - .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id +- unless file.nil? + #editor.panel-group.row data-exercise-id=@exercise.id + #files style=("") data-entries=FileTree.new(@files).to_js_tree + div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') + .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type + .editor-content.hidden data-file-id=file.ancestor_id = file.content + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 7bb4cd27..4363f90d 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -36,4 +36,5 @@ li.panel.panel-default .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + //= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + = render('ace', exercise: @exercise, file: file) \ No newline at end of file diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index f69e7d43..00833b2f 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -34,11 +34,14 @@ = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') //render ace editor for not hidden files - = render('ace', exercise: @exercise, file: @files) + //= render('ace', exercise: @exercise, file: @files) + + ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form) + = render('file_form', f: files_form, file: files_form.object) + a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| - = render('file_form', f: files_form) + = render('file_form', f: files_form, file: nil) .actions = render('shared/submit_button', f: f, object: @exercise) From 89391f8c4a65ffaf17fac91358eb0af53dae96f6 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 5 Aug 2016 14:19:17 +0200 Subject: [PATCH 36/64] removed web-console gem from test environment --- Gemfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index d3d060b5..729beaae 100644 --- a/Gemfile +++ b/Gemfile @@ -53,12 +53,13 @@ group :development do gem 'rack-mini-profiler' gem 'rubocop', require: false gem 'rubocop-rspec' + gem 'web-console', '~> 2.0', platform: :ruby end group :development, :test do gem 'byebug', platform: :ruby gem 'spring' - gem 'web-console', '~> 2.0', platform: :ruby + end group :test do From 269c592bb8ac4b2d974d4a772b10dd734339f3b9 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 5 Aug 2016 14:19:54 +0200 Subject: [PATCH 37/64] removed jruby from travis build --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 78d878ff..0dca2ec6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,5 +17,4 @@ language: ruby rvm: - 2.1.5 - 2.2.1 - - jruby-19mode script: bundle exec rspec --tag ~docker From 6e6c9143cdd8156dcb1956a375e60260c59f4591 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Thu, 11 Aug 2016 18:13:33 +0200 Subject: [PATCH 38/64] Some tidy up in request for comments (bugfix: removed leftover parts of requested_at attribute, some UI changes in comment dialog) Redirect to open rfc if an exercise has been solved --- app/assets/javascripts/editor.js.erb | 4 +-- app/controllers/exercises_controller.rb | 29 +++++++++++++++++-- app/models/request_for_comment.rb | 6 +--- .../_comment_dialogcontent.html.slim | 6 ++-- app/views/request_for_comments/_form.html.erb | 4 --- .../request_for_comments/index.json.jbuilder | 2 +- app/views/request_for_comments/show.html.erb | 7 +++-- .../request_for_comments/show.json.jbuilder | 2 +- config/locales/de.yml | 3 +- config/locales/en.yml | 3 +- 10 files changed, 43 insertions(+), 23 deletions(-) diff --git a/app/assets/javascripts/editor.js.erb b/app/assets/javascripts/editor.js.erb index 2d73bbf0..1a38e685 100644 --- a/app/assets/javascripts/editor.js.erb +++ b/app/assets/javascripts/editor.js.erb @@ -153,8 +153,8 @@ $(function() { // This is the case, since it is set via a call to ancestor_id on the model, which returns either file_id if set, or id if it is not set. // therefore the else part is not needed any longer... - // if we have an file_id set (the file is a copy of a teacher supplied given file) - if (file_id_old != null){ + // if we have an file_id set (the file is a copy of a teacher supplied given file) and the new file-ids are present in the response + if (file_id_old != null && data.files){ // if we find file_id_old (this is the reference to the base file) in the submission, this is the match for(var j = 0; j< data.files.length; j++){ if(data.files[j].file_id == file_id_old){ diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index 45fd04d9..cbd5266a 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -224,7 +224,7 @@ class ExercisesController < ApplicationController if lti_outcome_service? transmit_lti_score else - redirect_to_lti_return_path + redirect_after_submit end end @@ -232,7 +232,7 @@ class ExercisesController < ApplicationController ::NewRelic::Agent.add_custom_parameters({ submission: @submission.id, normalized_score: @submission.normalized_score }) response = send_score(@submission.normalized_score) if response[:status] == 'success' - redirect_to_lti_return_path + redirect_after_submit else respond_to do |format| format.html { redirect_to(implement_exercise_path(@submission.exercise)) } @@ -245,4 +245,29 @@ class ExercisesController < ApplicationController def update update_and_respond(object: @exercise, params: exercise_params) end + + def redirect_after_submit + Rails.logger.error('Score ' + @submission.normalized_score.to_s) + if @submission.normalized_score == 1.0 + # if user has an own rfc, redirect to it and message him to clean up and accept the answer. + + # else: show open rfc for same exercise + if rfc = RequestForComment.unsolved.where(exercise_id: @submission.exercise).order("RANDOM()").first + Rails.logger.error('rfc: ' + rfc.to_s) + + # set a message that informs the user that his score was perfect and help in RFC is greatly appreciated. + flash[:notice] = I18n.t('exercises.submit.full_score_redirect_to_rfc') + flash.keep(:notice) + + respond_to do |format| + format.html { redirect_to(rfc) } + format.json { render(json: {redirect: url_for(rfc)}) } + end + + return + end + end + redirect_to_lti_return_path + end + end diff --git a/app/models/request_for_comment.rb b/app/models/request_for_comment.rb index 63d932fc..4be7d325 100644 --- a/app/models/request_for_comment.rb +++ b/app/models/request_for_comment.rb @@ -4,16 +4,12 @@ class RequestForComment < ActiveRecord::Base belongs_to :exercise belongs_to :file, class_name: 'CodeOcean::File' - before_create :set_requested_timestamp + scope :unsolved, -> { where(solved: [false, nil]) } def self.last_per_user(n = 5) from("(#{row_number_user_sql}) as request_for_comments").where("row_number <= ?", n) end - def set_requested_timestamp - self.requested_at = Time.now - end - # not used right now, finds the last submission for the respective user and exercise. # might be helpful to check whether the exercise has been solved in the meantime. def last_submission diff --git a/app/views/exercises/_comment_dialogcontent.html.slim b/app/views/exercises/_comment_dialogcontent.html.slim index b14c988f..0d89bea3 100644 --- a/app/views/exercises/_comment_dialogcontent.html.slim +++ b/app/views/exercises/_comment_dialogcontent.html.slim @@ -1,9 +1,9 @@ -h5 =t('exercises.implement.comment.others') -pre#other-comments - h5 =t('exercises.implement.comment.addyours') textarea.form-control(style='resize:none;') +#otherComments + h5 =t('exercises.implement.comment.others') + pre#otherCommentsTextfield p = '' button#addCommentButton.btn.btn-block.btn-primary(type='button') =t('exercises.implement.comment.addComment') button#removeAllButton.btn.btn-block.btn-warning(type='button') =t('exercises.implement.comment.removeAllOnLine') \ No newline at end of file diff --git a/app/views/request_for_comments/_form.html.erb b/app/views/request_for_comments/_form.html.erb index 4d4494ce..81f6ed65 100644 --- a/app/views/request_for_comments/_form.html.erb +++ b/app/views/request_for_comments/_form.html.erb @@ -23,10 +23,6 @@ <%= f.label :file_id %>
<%= f.number_field :file_id %> -
- <%= f.label :requested_at %>
- <%= f.datetime_select :requested_at %> -
<%= f.label :user_type %>
<%= f.text_field :user_type %> diff --git a/app/views/request_for_comments/index.json.jbuilder b/app/views/request_for_comments/index.json.jbuilder index 94bc95fd..eaf4293a 100644 --- a/app/views/request_for_comments/index.json.jbuilder +++ b/app/views/request_for_comments/index.json.jbuilder @@ -1,4 +1,4 @@ json.array!(@request_for_comments) do |request_for_comment| - json.extract! request_for_comment, :id, :user_id, :exercise_id, :file_id, :requested_at, :user_type + json.extract! request_for_comment, :id, :user_id, :exercise_id, :file_id, :user_type json.url request_for_comment_url(request_for_comment, format: :json) end diff --git a/app/views/request_for_comments/show.html.erb b/app/views/request_for_comments/show.html.erb index 4089d878..5ad78b58 100644 --- a/app/views/request_for_comments/show.html.erb +++ b/app/views/request_for_comments/show.html.erb @@ -8,7 +8,7 @@ <%= user.displayname %> | <%= @request_for_comment.created_at.localtime %>

- <%= t('activerecord.attributes.exercise.description') %>: "<%= render_markdown(@request_for_comment.exercise.description) %>" + <%= t('activerecord.attributes.exercise.description') %>: <%= render_markdown(@request_for_comment.exercise.description) %>
@@ -162,9 +162,10 @@ also, all settings from the rails model needed for the editor configuration in t if (hasCommentsInRow(editor, row)) { var rowComments = getCommentsForRow(editor, row); var comments = _.pluck(rowComments, 'text').join('\n'); - commentModal.find('#other-comments').text(comments); + commentModal.find('#otherComments').show(); + commentModal.find('#otherCommentsTextfield').text(comments); } else { - commentModal.find('#other-comments').text('none'); + commentModal.find('#otherComments').hide(); } commentModal.find('#addCommentButton').off('click'); diff --git a/app/views/request_for_comments/show.json.jbuilder b/app/views/request_for_comments/show.json.jbuilder index fd9ffe0c..443ce0fb 100644 --- a/app/views/request_for_comments/show.json.jbuilder +++ b/app/views/request_for_comments/show.json.jbuilder @@ -1 +1 @@ -json.extract! @request_for_comment, :id, :user_id, :exercise_id, :file_id, :requested_at, :created_at, :updated_at, :user_type, :solved +json.extract! @request_for_comment, :id, :user_id, :exercise_id, :file_id, :created_at, :updated_at, :user_type, :solved diff --git a/config/locales/de.yml b/config/locales/de.yml index 4905f929..a57b2c04 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -246,7 +246,7 @@ de: comment: a_comment: Kommentar line: Zeile - dialogtitle: Kommentieren Sie diese Zeile! + dialogtitle: Kommentar hinzufügen others: Andere Kommentare auf dieser Zeile addyours: Fügen Sie Ihren Kommentar hinzu addComment: Kommentieren @@ -273,6 +273,7 @@ de: external_user: Externe Nutzer submit: failure: Beim Übermitteln Ihrer Punktzahl ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut. + full_score_redirect_to_rfc: Herzlichen Glückwunsch! Sie haben die maximale Punktzahl für diese Aufgabe an den Kurs übertragen. Ein anderer Teilnehmer hat eine Frage zu der von Ihnen gelösten Aufgabe. Er würde sich sicherlich sehr über ihre Hilfe und Kommentare freuen. external_users: statistics: no_data_available: Keine Daten verfügbar. diff --git a/config/locales/en.yml b/config/locales/en.yml index eaf88018..691dfe72 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -246,7 +246,7 @@ en: comment: a_comment: comment line: line - dialogtitle: Comment on this line! + dialogtitle: Comment on this line others: Other comments on this line addyours: Add your comment addComment: Comment this @@ -273,6 +273,7 @@ en: external_users: External Users submit: failure: An error occured while transmitting your score. Please try again later. + full_score_redirect_to_rfc: Congratulations! You achieved and submitted the highest possible score for this exercise. Another participant has a question concerning the exercise you just solved. Your help and comments will be greatly appreciated! external_users: statistics: no_data_available: No data available. From b6cf5d313a748d3aba8de019fc99bea892fd25d9 Mon Sep 17 00:00:00 2001 From: yqbk Date: Fri, 12 Aug 2016 13:33:55 +0200 Subject: [PATCH 39/64] migration --- db/schema.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/db/schema.rb b/db/schema.rb index 57ce32e7..cc96aad8 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -74,6 +74,8 @@ ActiveRecord::Schema.define(version: 20160704143402) do t.integer "file_type_id" t.integer "memory_limit" t.boolean "network_enabled" + t.string "language" + t.string "language_version" end create_table "exercises", force: true do |t| From 728489c2fbf45d331e52ddf27601914bef9283da Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 12 Aug 2016 14:41:20 +0200 Subject: [PATCH 40/64] refactor initTurtle, hiding and showing of canvas. --- app/assets/javascripts/editor.js.erb | 15 ++++++++++++--- app/views/exercises/implement.html.slim | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/editor.js.erb b/app/assets/javascripts/editor.js.erb index 2d73bbf0..4ce95e1d 100644 --- a/app/assets/javascripts/editor.js.erb +++ b/app/assets/javascripts/editor.js.erb @@ -22,6 +22,7 @@ $(function() { var editor_for_file = new Map(); var regex_for_language = new Map(); var tracepositions_regex; + var resetTurtle = true; var active_file = undefined; var active_frame = undefined; @@ -949,6 +950,11 @@ $(function() { websocket.send(JSON.stringify({cmd: 'exit'})); websocket.flush(); websocket.close(); + + if(turtlescreen != null){ + resetTurtle = true; + } + hideSpinner(); running = false; toggleButtonStates(); @@ -1027,10 +1033,11 @@ $(function() { // clear canvas // turtlecanvas.getContext("2d").clearRect(0, 0, turtlecanvas.width, turtlecanvas.height); + if(resetTurtle) { turtlescreen = new Turtle(websocket, turtlecanvas); - if ($('#run').isPresent()) { - $('#run').bind('click', hideCanvas); - } + showCanvas(); + resetTurtle = false; + } }; var initPrompt = function() { @@ -1058,10 +1065,12 @@ $(function() { printWebsocketOutput(msg); break; case 'turtle': + initTurtle(); showCanvas(); handleTurtleCommand(msg); break; case 'turtlebatch': + initTurtle(); showCanvas(); handleTurtlebatchCommand(msg); break; diff --git a/app/views/exercises/implement.html.slim b/app/views/exercises/implement.html.slim index 0c5e109b..1feab189 100644 --- a/app/views/exercises/implement.html.slim +++ b/app/views/exercises/implement.html.slim @@ -38,7 +38,7 @@ / #output-col1.col-sm-12 #output-col1 // todo set to full width if turtle isnt used - #prompt.input-group.hidden + #prompt.input-group.hidden.col-lg-7.col-md-7.two-column span.input-group-addon data-prompt=t('exercises.editor.input') = t('exercises.editor.input') input#prompt-input.form-control type='text' span.input-group-btn From c12ee49d0134e9588298090705d012d148421460 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 12 Aug 2016 14:41:54 +0200 Subject: [PATCH 41/64] precompile of markdown buttons for edit of exercises. --- config/application.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/application.rb b/config/application.rb index 4b2a543a..68350af1 100644 --- a/config/application.rb +++ b/config/application.rb @@ -30,6 +30,8 @@ module CodeOcean config.autoload_paths << Rails.root.join('lib') config.eager_load_paths << Rails.root.join('lib') + config.assets.precompile += %w( markdown-buttons.png ) + case (RUBY_ENGINE) when 'ruby' # ... From 528c039cfcc4ce9247570688e93d81b7a77d058c Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 12 Aug 2016 14:42:52 +0200 Subject: [PATCH 42/64] cleanup of editor, removed unused methods and variables. ( code from server send event ) --- app/assets/javascripts/editor.js.erb | 123 ++------------------------- 1 file changed, 7 insertions(+), 116 deletions(-) diff --git a/app/assets/javascripts/editor.js.erb b/app/assets/javascripts/editor.js.erb index 4ce95e1d..a46667ae 100644 --- a/app/assets/javascripts/editor.js.erb +++ b/app/assets/javascripts/editor.js.erb @@ -14,9 +14,6 @@ $(function() { var REMEMBER_TAB = false; var AUTOSAVE_INTERVAL = 15 * 1000; var REQUEST_FOR_COMMENTS_DELAY = 3 * 60 * 1000; - var NONE = 0; - var WEBSOCKET = 1; - var SERVER_SEND_EVENT = 2; var editors = []; var editor_for_file = new Map(); @@ -29,7 +26,6 @@ $(function() { var running = false; var qa_api = undefined; var output_mode_is_streaming = true; - var runmode = NONE; var websocket, turtlescreen, @@ -64,18 +60,6 @@ $(function() { $('#output pre').remove(); }; - var closeEventSource = function(event) { - event.target.close(); - hideSpinner(); - running = false; - toggleButtonStates(); - - if (event.type === 'error' || JSON.parse(event.data).code !== 200) { - ajaxError(); - showTab(0); - } - }; - var collectFiles = function() { var editable_editors = _.filter(editors, function(editor) { return !editor.getReadOnly(); @@ -189,44 +173,8 @@ $(function() { }); }; - var evaluateCode = function(url, streamed, callback) { - (streamed ? evaluateCodeWithStreamedResponse : evaluateCodeWithoutStreamedResponse)(url, callback); - }; - - var evaluateCodeWithStreamedResponse = function(url, onmessageFunction) { - initWebsocketConnection(url, onmessageFunction); - - // TODO only init turtle when required - initTurtle(); - - // TODO reimplement via websocket messsages - /*var event_source = new EventSource(url); - event_source.addEventListener('hint', renderHint); - event_source.addEventListener('info', storeContainerInformation); - - if ($('#flowrHint').isPresent()) { - event_source.addEventListener('output', handleStderrOutputForFlowr); - event_source.addEventListener('close', handleStderrOutputForFlowr); - } - - if (qa_api) { - event_source.addEventListener('close', handleStreamedResponseForCodePilot); - }*/ - }; - - var handleStreamedResponseForCodePilot = function(event) { - qa_api.executeCommand('syncOutput', [chunkBuffer]); - chunkBuffer = [{streamedResponse: true}]; - } - - var evaluateCodeWithoutStreamedResponse = function(url, callback) { - var jqxhr = ajax({ - method: 'GET', - url: url - }); - jqxhr.always(hideSpinner); - jqxhr.done(callback); - jqxhr.fail(ajaxError); + var evaluateCode = function(url, callback) { + initWebsocketConnection(url, callback); }; var fileActionsAvailable = function() { @@ -522,10 +470,6 @@ $(function() { }, REQUEST_FOR_COMMENTS_DELAY); }; - var isActiveFileBinary = function() { - return 'binary' in active_frame.data(); - }; - var isActiveFileExecutable = function() { return 'executable' in active_frame.data(); }; @@ -575,21 +519,6 @@ $(function() { panel.find('.row .col-sm-9').eq(4).find('a').attr('href', '#output-' + index); }; - var chunkBuffer = [{streamedResponse: true}]; - - var printChunk = function(event) { - var output = JSON.parse(event.data); - if (output) { - printOutput(output, true, 0); - // send test response to QA - // we are expecting an array of outputs: - if (qa_api) { - chunkBuffer.push(output); - } - } else { - resetOutputTab(); - } - }; var resetOutputTab = function() { clearOutput(); @@ -770,14 +699,13 @@ $(function() { var runCode = function(event) { event.preventDefault(); if ($('#run').is(':visible')) { - runmode = WEBSOCKET; createSubmission(this, null, function(response) { $('#stop').data('url', response.stop_url); running = true; showSpinner($('#run')); toggleButtonStates(); var url = response.run_url.replace(FILENAME_URL_PLACEHOLDER, active_file.filename); - evaluateCode(url, true, function(evt) { parseCanvasMessage(evt.data, true); }); + evaluateCode(url, function(evt) { parseCanvasMessage(evt.data, true); }); }); } }; @@ -808,11 +736,10 @@ $(function() { var scoreCode = function(event) { event.preventDefault(); - runmode = SERVER_SEND_EVENT; createSubmission(this, null, function(response) { showSpinner($('#assess')); var url = response.score_url; - evaluateCode(url, true, handleScoringResponse); + evaluateCode(url, handleScoringResponse); }); }; @@ -918,31 +845,11 @@ $(function() { var stopCode = function(event) { event.preventDefault(); - if ($('#stop').is(':visible')) { - if(runmode == WEBSOCKET){ - killWebsocketAndContainer(); - } else if (runmode == SERVER_SEND_EVENT) { - stopCodeServerSendEvent(event); - } - runmode = NONE; + if (isActiveFileStoppable()) { + killWebsocketAndContainer(); } }; - var stopCodeServerSendEvent = function(event){ - var jqxhr = ajax({ - data: { - container_id: $('#stop').data('container').id - }, - url: $('#stop').data('url') - }); - jqxhr.always(function() { - hideSpinner(); - running = false; - toggleButtonStates(); - }); - jqxhr.fail(ajaxError); - }; - var killWebsocketAndContainer = function() { if (websocket.readyState != WebSocket.OPEN) { return; @@ -961,22 +868,6 @@ $(function() { hidePrompt(); } - // todo set this from websocket command, required to e.g. stop container - var storeContainerInformation = function(event) { - var container_information = JSON.parse(event.data); - $('#stop').data('container', container_information); - - if (_.size(container_information.port_bindings) > 0) { - $.flash.info({ - icon: ['fa', 'fa-exchange'], - text: _.map(container_information.port_bindings, function(key, value) { - var url = window.location.protocol + '//' + window.location.hostname + ':' + key; - return $('#run').data('message-network').replace('%{port}', value).replace(/%{address}/g, url); - }).join('\n') - }); - } - }; - var storeTab = function(event) { localStorage.tab = $(event.target).parent().index(); }; @@ -996,7 +887,7 @@ $(function() { createSubmission(this, null, function(response) { showSpinner($('#test')); var url = response.test_url.replace(FILENAME_URL_PLACEHOLDER, active_file.filename); - evaluateCode(url, true, handleTestResponse); + evaluateCode(url, handleTestResponse); }); } }; From 31b0c3ba258dd32a18dac550f480fb94765db13d Mon Sep 17 00:00:00 2001 From: yqbk Date: Fri, 12 Aug 2016 15:29:06 +0200 Subject: [PATCH 43/64] Ace editor for each file form --- app/assets/stylesheets/editor.css.scss | 6 +++++- app/views/exercises/_ace.html.slim | 13 ++++++------- app/views/exercises/_file_form.html.slim | 4 ++-- app/views/exercises/_form.html.slim | 4 ++-- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/app/assets/stylesheets/editor.css.scss b/app/assets/stylesheets/editor.css.scss index e41153e2..81504ba0 100644 --- a/app/assets/stylesheets/editor.css.scss +++ b/app/assets/stylesheets/editor.css.scss @@ -9,7 +9,8 @@ button i.fa-spin { .frame { display: none; - height: 400px; + height: 200px; + width: 400px; audio, img, video { max-width: 100%; @@ -55,8 +56,11 @@ button i.fa-spin { #files { overflow: auto; + } + + #hint { display: none; } diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_ace.html.slim index 5d784c2d..2fc2875d 100644 --- a/app/views/exercises/_ace.html.slim +++ b/app/views/exercises/_ace.html.slim @@ -1,7 +1,6 @@ -- unless file.nil? - #editor.panel-group.row data-exercise-id=@exercise.id - #files style=("") data-entries=FileTree.new(@files).to_js_tree - div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9') - .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type - .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id +#editor.panel-group.row data-exercise-id=@exercise.id + #files data-entries=FileTree.new(@files).to_js_tree + #frames + .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type + .editor-content.hidden data-file-id=file.ancestor_id = file.content + .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-id=file.id diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 4363f90d..4b2055c0 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -36,5 +36,5 @@ li.panel.panel-default .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - //= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) - = render('ace', exercise: @exercise, file: file) \ No newline at end of file + /= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + = render('ace', exercise: @exercise, file: @files.first) \ No newline at end of file diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index f258a2cc..7a601852 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -30,8 +30,8 @@ = f.check_box(:allow_file_creation) = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') - //render ace editor for not hidden files - //= render('ace', exercise: @exercise, file: @files) + /render ace editor for not hidden files + = render('ace', exercise: @exercise, file: @files.first) ul#files.list-unstyled.panel-group From 2c23d96fae5f03b47a7c8d4341ceda2d27574af4 Mon Sep 17 00:00:00 2001 From: yqbk Date: Fri, 12 Aug 2016 16:43:19 +0200 Subject: [PATCH 44/64] split code between editors --- app/assets/stylesheets/editor.css.scss | 2 +- app/views/exercises/_form.html.slim | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/editor.css.scss b/app/assets/stylesheets/editor.css.scss index 81504ba0..6cf2975c 100644 --- a/app/assets/stylesheets/editor.css.scss +++ b/app/assets/stylesheets/editor.css.scss @@ -10,7 +10,7 @@ button i.fa-spin { .frame { display: none; height: 200px; - width: 400px; + width: auto; audio, img, video { max-width: 100%; diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 7a601852..c284c0a3 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -36,7 +36,7 @@ ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| - = render('file_form', f: files_form, file: files_form.object) + = render('file_form', f: files_form, file: files_form.object, code: @files) a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| From aa254366dbe70f4d8d1ad016c04f4f256921528f Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 15 Aug 2016 14:59:04 +0200 Subject: [PATCH 45/64] adjustments in file form --- app/assets/stylesheets/editor.css.scss | 3 +- app/views/exercises/_file_form.html.slim | 82 +++++++++++++----------- app/views/exercises/_form.html.slim | 17 +++-- 3 files changed, 57 insertions(+), 45 deletions(-) diff --git a/app/assets/stylesheets/editor.css.scss b/app/assets/stylesheets/editor.css.scss index 6cf2975c..8b68b6b2 100644 --- a/app/assets/stylesheets/editor.css.scss +++ b/app/assets/stylesheets/editor.css.scss @@ -4,7 +4,8 @@ button i.fa-spin { .editor { height: 100%; - width: 100%; + width: auto; + margin: 12px; } .frame { diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 4b2055c0..50cd0631 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,40 +1,46 @@ -- id = f.object.id -li.panel.panel-default - .panel-heading role="tab" id="heading" - a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" - div.clearfix role="button" - span = f.object.name - .panel-collapse.collapse-in id="collapse#{id}" role="tabpanel" - .panel-body - .clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right') - .form-group - = f.label(:name, t('activerecord.attributes.file.name')) - = f.text_field(:name, class: 'form-control') - .form-group - = f.label(:path, t('activerecord.attributes.file.path')) - = f.text_field(:path, class: 'form-control') - .help-block = t('.hints.path') - .form-group - = f.label(:file_type_id, t('activerecord.attributes.file.file_type_id')) - = f.collection_select(:file_type_id, @file_types, :id, :name, {}, class: 'form-control') - .form-group - = f.label(:role, t('activerecord.attributes.file.role')) - = f.select(:role, CodeOcean::File::TEACHER_DEFINED_ROLES.map { |role| [t("files.roles.#{role}"), role] }, {include_blank: true}, class: 'form-control') - .checkbox - label - = f.check_box(:hidden) - = t('activerecord.attributes.file.hidden') - .checkbox - label - = f.check_box(:read_only) - = t('activerecord.attributes.file.read_only') - .test-related-fields style="display: #{f.object.teacher_defined_test? ? 'initial' : 'none'};" +//- id = f.object.id += form_for(file) do |f| + li.panel.panel-default + .panel-heading role="tab" id="heading" + a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{file.id}" + div.clearfix role="button" + span = file.name + /.panel-collapse.collapse id="collapse#{file.id}" role="tabpanel" + .panel-body + .clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right') .form-group - = f.label(:name, t('activerecord.attributes.file.feedback_message')) - = f.text_area(:feedback_message, class: 'form-control', maxlength: 255) - .help-block = t('.hints.feedback_message') + = f.label(:name, t('activerecord.attributes.file.name')) + = f.text_field(:name, class: 'form-control') .form-group - = f.label(:role, t('activerecord.attributes.file.weight')) - = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - /= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) - = render('ace', exercise: @exercise, file: @files.first) \ No newline at end of file + = f.label(:path, t('activerecord.attributes.file.path')) + = f.text_field(:path, class: 'form-control') + .help-block = t('.hints.path') + .form-group + = f.label(:file_type_id, t('activerecord.attributes.file.file_type_id')) + = f.collection_select(:file_type_id, @file_types, :id, :name, {}, class: 'form-control') + .form-group + = f.label(:role, t('activerecord.attributes.file.role')) + = f.select(:role, CodeOcean::File::TEACHER_DEFINED_ROLES.map { |role| [t("files.roles.#{role}"), role] }, {include_blank: true}, class: 'form-control') + .checkbox + label + = f.check_box(:hidden) + = t('activerecord.attributes.file.hidden') + .checkbox + label + = f.check_box(:read_only) + = t('activerecord.attributes.file.read_only') + .test-related-fields style="display: #{file.teacher_defined_test? ? 'initial' : 'none'};" + .form-group + = f.label(:name, t('activerecord.attributes.file.feedback_message')) + = f.text_area(:feedback_message, class: 'form-control', maxlength: 255) + .help-block = t('.hints.feedback_message') + .form-group + = f.label(:role, t('activerecord.attributes.file.weight')) + = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') + + /render ace editor + - unless file.new_record? + = render partial: 'ace', locals: { exercise: @exercise, file: file } + + /Disabled blank text editor field + /= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index c284c0a3..f5adc068 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -30,15 +30,20 @@ = f.check_box(:allow_file_creation) = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') - /render ace editor for not hidden files - = render('ace', exercise: @exercise, file: @files.first) + /hidden editor -> to be deleted + .hidden = render('ace', exercise: @exercise, file: @files.first) + /after use $('.frame').show() in js console everything works fine, probably editors are hidden somewhere in editor.js because we get "display:none" on frames ul#files.list-unstyled.panel-group - = f.fields_for :files do |files_form| - = render('file_form', f: files_form, file: files_form.object, code: @files) + = @exercise.files.each do |file| + = render partial: 'file_form', locals: { file: file } + /= f.fields_for :files do |files_form| + / = render('file_form', f: files_form, file: files_form.object, code: @files) a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') - ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| - = render('file_form', f: files_form, file: nil) + ul#dummies.hidden + // = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| + = render partial: 'file_form', locals: { file: CodeOcean::File.new } + //= render('file_form', f: files_form, file: nil) .actions = render('shared/submit_button', f: f, object: @exercise) From 6a6ed9f453af084a414e01dba225a3473e10e8b4 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 15 Aug 2016 16:06:15 +0200 Subject: [PATCH 46/64] separate editor for each file --- app/assets/javascripts/editor.js.erb | 5 ++++- app/views/exercises/_file_form.html.slim | 2 +- app/views/exercises/_form.html.slim | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/editor.js.erb b/app/assets/javascripts/editor.js.erb index 2d73bbf0..ea6c9424 100644 --- a/app/assets/javascripts/editor.js.erb +++ b/app/assets/javascripts/editor.js.erb @@ -403,6 +403,8 @@ $(function() { $('.editor').each(function(index, element) { var editor = ace.edit(element); + console.log('ace', element) + if (qa_api) { editor.getSession().on("change", function (deltaObject) { qa_api.executeCommand('syncEditor', [active_file, deltaObject]); @@ -834,7 +836,8 @@ $(function() { var showFrame = function(frame) { active_frame = frame; - $('.frame').hide(); + // should not be hidden to generate multiple ace editors in edit mode + //$('.frame').hide(); frame.show(); }; diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 50cd0631..6efad9d1 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -5,7 +5,7 @@ a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{file.id}" div.clearfix role="button" span = file.name - /.panel-collapse.collapse id="collapse#{file.id}" role="tabpanel" + .panel-collapse.collapse id="collapse#{file.id}" role="tabpanel" .panel-body .clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right') .form-group diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index f5adc068..1b42eb7c 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -32,7 +32,7 @@ h2 = t('activerecord.attributes.exercise.files') /hidden editor -> to be deleted - .hidden = render('ace', exercise: @exercise, file: @files.first) + = render('ace', exercise: @exercise, file: @files.first) /after use $('.frame').show() in js console everything works fine, probably editors are hidden somewhere in editor.js because we get "display:none" on frames ul#files.list-unstyled.panel-group From 9a47f126e4330b18010d09bbaaa2cdac60e27a48 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 17 Aug 2016 13:50:01 +0200 Subject: [PATCH 47/64] routing error --- app/assets/javascripts/editor.js.erb | 2 +- app/views/exercises/_form.html.slim | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/editor.js.erb b/app/assets/javascripts/editor.js.erb index ea6c9424..dff940e8 100644 --- a/app/assets/javascripts/editor.js.erb +++ b/app/assets/javascripts/editor.js.erb @@ -838,7 +838,7 @@ $(function() { active_frame = frame; // should not be hidden to generate multiple ace editors in edit mode //$('.frame').hide(); - frame.show(); + $('.frame').show(); }; var showOutput = function(event) { diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 1b42eb7c..4b4baea1 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -32,7 +32,7 @@ h2 = t('activerecord.attributes.exercise.files') /hidden editor -> to be deleted - = render('ace', exercise: @exercise, file: @files.first) + .hide = render('ace', exercise: @exercise, file: @files.first) /after use $('.frame').show() in js console everything works fine, probably editors are hidden somewhere in editor.js because we get "display:none" on frames ul#files.list-unstyled.panel-group From 476188990ff48d3a016bb86a49d26f6c6490a642 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 17 Aug 2016 15:37:36 +0200 Subject: [PATCH 48/64] separate file for editor in edit view --- app/assets/javascripts/editor-edit.js | 43 +++++++++++++++++++++++++ app/controllers/exercises_controller.rb | 5 ++- app/views/exercises/_ace.html.slim | 3 +- app/views/exercises/_form.html.slim | 10 +----- 4 files changed, 47 insertions(+), 14 deletions(-) create mode 100644 app/assets/javascripts/editor-edit.js diff --git a/app/assets/javascripts/editor-edit.js b/app/assets/javascripts/editor-edit.js new file mode 100644 index 00000000..5ae92c33 --- /dev/null +++ b/app/assets/javascripts/editor-edit.js @@ -0,0 +1,43 @@ +$(function() { + var ACE_FILES_PATH = '/assets/ace/'; + var THEME = 'ace/theme/textmate'; + + var configureEditors = function() { + _.each(['modePath', 'themePath', 'workerPath'], function(attribute) { + ace.config.set(attribute, ACE_FILES_PATH); + }); + }; + + var initializeEditors = function() { + $('.editor').each(function(index, element) { + var editor = ace.edit(element); + + var document = editor.getSession().getDocument(); + // insert pre-existing code into editor. we have to use insertLines, otherwise the deltas are not properly added + var file_id = $(element).data('file-id'); + var content = $('.editor-content[data-file-id=' + file_id + ']'); + + document.insertLines(0, content.text().split(/\n/)); + // remove last (empty) that is there by default line + document.removeLines(document.getLength() - 1, document.getLength() - 1); + editor.setReadOnly($(element).data('read-only') !== undefined); + editor.setShowPrintMargin(false); + editor.setTheme(THEME); + editor.commands.bindKey("ctrl+alt+0", null); + var session = editor.getSession(); + session.setMode($(element).data('mode')); + session.setTabSize($(element).data('indent-size')); + session.setUseSoftTabs(true); + session.setUseWrapMode(true); + + var file_id = $(element).data('id'); + } + )}; + + if ($('#editor-edit').isPresent()) { + configureEditors(); + initializeEditors(); + $('.frame').show(); + } +}); + diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index f7ffc24f..d1fcadd4 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -6,7 +6,7 @@ class ExercisesController < ApplicationController before_action :handle_file_uploads, only: [:create, :update] before_action :set_execution_environments, only: [:create, :edit, :new, :update] - before_action :set_exercise, only: MEMBER_ACTIONS + [:clone, :implement, :edit, :run, :statistics, :submit, :reload] + before_action :set_exercise, only: MEMBER_ACTIONS + [:clone, :implement, :run, :statistics, :submit, :reload] before_action :set_external_user, only: [:statistics] before_action :set_file_types, only: [:create, :edit, :new, :update] @@ -63,8 +63,7 @@ class ExercisesController < ApplicationController end def edit - @files = (@submission ? @submission.collect_files : @exercise.files).select(&:visible).sort_by(&:name_with_extension) - @paths = collect_paths(@files) + end def import_proforma_xml diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_ace.html.slim index 2fc2875d..c694bb49 100644 --- a/app/views/exercises/_ace.html.slim +++ b/app/views/exercises/_ace.html.slim @@ -1,5 +1,4 @@ -#editor.panel-group.row data-exercise-id=@exercise.id - #files data-entries=FileTree.new(@files).to_js_tree +#editor-edit.panel-group.row data-exercise-id=@exercise.id #frames .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type .editor-content.hidden data-file-id=file.ancestor_id = file.content diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 4b4baea1..7ce719b3 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -9,7 +9,6 @@ .form-group = f.label(:description) = f.pagedown_editor :description - .form-group = f.label(:execution_environment_id) = f.collection_select(:execution_environment_id, @execution_environments, :id, :name, {}, class: 'form-control') @@ -31,19 +30,12 @@ = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') - /hidden editor -> to be deleted - .hide = render('ace', exercise: @exercise, file: @files.first) - /after use $('.frame').show() in js console everything works fine, probably editors are hidden somewhere in editor.js because we get "display:none" on frames - ul#files.list-unstyled.panel-group = @exercise.files.each do |file| = render partial: 'file_form', locals: { file: file } - /= f.fields_for :files do |files_form| - / = render('file_form', f: files_form, file: files_form.object, code: @files) a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') + ul#dummies.hidden - // = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| = render partial: 'file_form', locals: { file: CodeOcean::File.new } - //= render('file_form', f: files_form, file: nil) .actions = render('shared/submit_button', f: f, object: @exercise) From 7bead2c4730c741eed184485f2baa0c5635582e0 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 17 Aug 2016 15:53:16 +0200 Subject: [PATCH 49/64] implementation ready for testing --- app/assets/javascripts/editor.js.erb | 8 +++----- app/assets/stylesheets/editor.css.scss | 9 ++------- app/controllers/exercises_controller.rb | 1 - app/views/exercises/_file_form.html.slim | 1 - app/views/exercises/_form.html.slim | 2 +- app/views/exercises/edit.html.slim | 2 +- 6 files changed, 7 insertions(+), 16 deletions(-) diff --git a/app/assets/javascripts/editor.js.erb b/app/assets/javascripts/editor.js.erb index dff940e8..52ee8f20 100644 --- a/app/assets/javascripts/editor.js.erb +++ b/app/assets/javascripts/editor.js.erb @@ -403,8 +403,6 @@ $(function() { $('.editor').each(function(index, element) { var editor = ace.edit(element); - console.log('ace', element) - if (qa_api) { editor.getSession().on("change", function (deltaObject) { qa_api.executeCommand('syncEditor', [active_file, deltaObject]); @@ -836,9 +834,9 @@ $(function() { var showFrame = function(frame) { active_frame = frame; - // should not be hidden to generate multiple ace editors in edit mode - //$('.frame').hide(); - $('.frame').show(); + $('.frame').hide(); + frame.show(); + }; var showOutput = function(event) { diff --git a/app/assets/stylesheets/editor.css.scss b/app/assets/stylesheets/editor.css.scss index 8b68b6b2..e41153e2 100644 --- a/app/assets/stylesheets/editor.css.scss +++ b/app/assets/stylesheets/editor.css.scss @@ -4,14 +4,12 @@ button i.fa-spin { .editor { height: 100%; - width: auto; - margin: 12px; + width: 100%; } .frame { display: none; - height: 200px; - width: auto; + height: 400px; audio, img, video { max-width: 100%; @@ -57,11 +55,8 @@ button i.fa-spin { #files { overflow: auto; - } - - #hint { display: none; } diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index d1fcadd4..45fd04d9 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -63,7 +63,6 @@ class ExercisesController < ApplicationController end def edit - end def import_proforma_xml diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 6efad9d1..cfd17783 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,4 +1,3 @@ -//- id = f.object.id = form_for(file) do |f| li.panel.panel-default .panel-heading role="tab" id="heading" diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 7ce719b3..b498cbb3 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -31,7 +31,7 @@ h2 = t('activerecord.attributes.exercise.files') ul#files.list-unstyled.panel-group - = @exercise.files.each do |file| + - @exercise.files.each do |file| = render partial: 'file_form', locals: { file: file } a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') diff --git a/app/views/exercises/edit.html.slim b/app/views/exercises/edit.html.slim index 6681eff5..43550759 100644 --- a/app/views/exercises/edit.html.slim +++ b/app/views/exercises/edit.html.slim @@ -1,3 +1,3 @@ h1 = @exercise -= render('form', exercise: @exercise, files: @files) += render('form') From ea21b0cc8dfb42daa76f9958b8a2b00f642d248a Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 19 Aug 2016 16:18:51 +0200 Subject: [PATCH 50/64] removed tag from travis configuration --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0dca2ec6..40c85850 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,4 +17,4 @@ language: ruby rvm: - 2.1.5 - 2.2.1 -script: bundle exec rspec --tag ~docker +script: bundle exec rspec From 1964c4a31f2c61af300fa90762e58dc26de111af Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 19 Aug 2016 16:33:28 +0200 Subject: [PATCH 51/64] removed nginx.conf which is not necessary here --- config/nginx.conf | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 config/nginx.conf diff --git a/config/nginx.conf b/config/nginx.conf deleted file mode 100644 index 32d4f34f..00000000 --- a/config/nginx.conf +++ /dev/null @@ -1,45 +0,0 @@ -upstream puma { - server unix:///var/www/app/shared/tmp/sockets/puma.sock; -} - -server { - listen 80 default deferred; - return 301 https://codeocean.openhpi.de$request_uri; - server_name codeocean.openhpi.de; -} - -server { - client_max_body_size 4G; - error_page 500 502 503 504 /500.html; - keepalive_timeout 10; - listen 443 ssl; - root /var/www/app/current/public; - server_name codeocean.openhpi.de; - try_files $uri @puma; - - ssl_certificate /etc/nginx/ssl/ssl-bundle.crt; - ssl_certificate_key /etc/nginx/ssl/server.key; - ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM; - ssl_prefer_server_ciphers on; - ssl_protocols SSLv3 TLSv1; - ssl_session_timeout 5m; - - location / { - access_log /var/www/app/current/log/nginx.access.log; - error_log /var/www/app/current/log/nginx.error.log; - proxy_http_version 1.1; - proxy_pass http://puma; - proxy_read_timeout 900; - proxy_redirect off; - proxy_set_header Connection ''; - proxy_set_header Host $http_host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - location ^~ /assets/ { - add_header Cache-Control public; - expires max; - gzip_static on; - } -} From 12cec1ac2215f7f267cf79489e918aeaf0f32630 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 24 Aug 2016 11:20:14 +0200 Subject: [PATCH 52/64] fields for instead form for (solved problem with sibmission button) --- app/views/exercises/_file_form.html.slim | 4 +--- app/views/exercises/_form.html.slim | 8 +++----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index cfd17783..a030db25 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,4 +1,4 @@ -= form_for(file) do |f| += fields_for(file) do |f| li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{file.id}" @@ -36,8 +36,6 @@ .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - - /render ace editor - unless file.new_record? = render partial: 'ace', locals: { exercise: @exercise, file: file } diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index b498cbb3..24c0cd74 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -29,13 +29,11 @@ = f.check_box(:allow_file_creation) = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') - ul#files.list-unstyled.panel-group - @exercise.files.each do |file| - = render partial: 'file_form', locals: { file: file } - + = render partial: 'file_form', locals: {file: file} a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') - ul#dummies.hidden - = render partial: 'file_form', locals: { file: CodeOcean::File.new } + = render partial: 'file_form', locals: {file: CodeOcean::File.new} .actions = render('shared/submit_button', f: f, object: @exercise) + From f7577376064ad40a119a8e4d70230555ed4e9aaf Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 24 Aug 2016 11:20:14 +0200 Subject: [PATCH 53/64] fields for instead form for (solved problem with sibmission button) --- app/views/exercises/_file_form.html.slim | 4 +--- app/views/exercises/_form.html.slim | 8 +++----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index cfd17783..a030db25 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,4 +1,4 @@ -= form_for(file) do |f| += fields_for(file) do |f| li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{file.id}" @@ -36,8 +36,6 @@ .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - - /render ace editor - unless file.new_record? = render partial: 'ace', locals: { exercise: @exercise, file: file } diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index b498cbb3..24c0cd74 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -29,13 +29,11 @@ = f.check_box(:allow_file_creation) = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') - ul#files.list-unstyled.panel-group - @exercise.files.each do |file| - = render partial: 'file_form', locals: { file: file } - + = render partial: 'file_form', locals: {file: file} a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') - ul#dummies.hidden - = render partial: 'file_form', locals: { file: CodeOcean::File.new } + = render partial: 'file_form', locals: {file: CodeOcean::File.new} .actions = render('shared/submit_button', f: f, object: @exercise) + From cba44680ef5153b5b69bc61f455026d5d1ec1d96 Mon Sep 17 00:00:00 2001 From: yqbk Date: Fri, 26 Aug 2016 11:38:17 +0200 Subject: [PATCH 54/64] save properly --- app/assets/javascripts/editor-edit.js | 9 ++ app/assets/javascripts/editor.js.erb | 1 - app/views/exercises/_code_field.html.slim | 1 + app/views/exercises/_file_form.html.slim | 118 ++++++++++++++++------ app/views/exercises/_form.html.slim | 20 +++- 5 files changed, 112 insertions(+), 37 deletions(-) diff --git a/app/assets/javascripts/editor-edit.js b/app/assets/javascripts/editor-edit.js index 5ae92c33..5df9f35d 100644 --- a/app/assets/javascripts/editor-edit.js +++ b/app/assets/javascripts/editor-edit.js @@ -23,6 +23,15 @@ $(function() { editor.setReadOnly($(element).data('read-only') !== undefined); editor.setShowPrintMargin(false); editor.setTheme(THEME); + + //todo + // var textarea = $('textarea[name="2822862"]'); + // alert($(element).data('file-id')); + // editor.getSession().setValue(textarea.val()); + // editor.getSession().on('change', function(){ + // textarea.val(editor.getSession().getValue()); + // }); + editor.commands.bindKey("ctrl+alt+0", null); var session = editor.getSession(); session.setMode($(element).data('mode')); diff --git a/app/assets/javascripts/editor.js.erb b/app/assets/javascripts/editor.js.erb index 52ee8f20..2d73bbf0 100644 --- a/app/assets/javascripts/editor.js.erb +++ b/app/assets/javascripts/editor.js.erb @@ -836,7 +836,6 @@ $(function() { active_frame = frame; $('.frame').hide(); frame.show(); - }; var showOutput = function(event) { diff --git a/app/views/exercises/_code_field.html.slim b/app/views/exercises/_code_field.html.slim index 3ad55f16..67d614dd 100644 --- a/app/views/exercises/_code_field.html.slim +++ b/app/views/exercises/_code_field.html.slim @@ -2,5 +2,6 @@ = form.label(attribute, label) |   a.toggle-input data={text_initial: t('shared.upload_file'), text_toggled: t('shared.back')} href='#' = t('shared.upload_file') + /= form.text_area(attribute, class: 'code-field form-control original-input', rows: 16, name: file.id) = form.text_area(attribute, class: 'code-field form-control original-input', rows: 16) = form.file_field(attribute, class: 'alternative-input form-control', disabled: true) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index a030db25..26654ae8 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,4 +1,85 @@ -= fields_for(file) do |f| +li.panel.panel-default + .panel-heading role="tab" id="heading" + a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{file.id}" + div.clearfix role="button" + span = file.name + .panel-collapse.collapse id="collapse#{file.id}" role="tabpanel" + .panel-body + .clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right') + .form-group + = f.label(:name, t('activerecord.attributes.file.name')) + = f.text_field(:name, class: 'form-control') + .form-group + = f.label(:path, t('activerecord.attributes.file.path')) + = f.text_field(:path, class: 'form-control') + .help-block = t('.hints.path') + .form-group + = f.label(:file_type_id, t('activerecord.attributes.file.file_type_id')) + = f.collection_select(:file_type_id, @file_types, :id, :name, {}, class: 'form-control') + .form-group + = f.label(:role, t('activerecord.attributes.file.role')) + = f.select(:role, CodeOcean::File::TEACHER_DEFINED_ROLES.map { |role| [t("files.roles.#{role}"), role] }, {include_blank: true}, class: 'form-control') + .checkbox + label + = f.check_box(:hidden) + = t('activerecord.attributes.file.hidden') + .checkbox + label + = f.check_box(:read_only) + = t('activerecord.attributes.file.read_only') + .test-related-fields style="display: #{file.teacher_defined_test? ? 'initial' : 'none'};" + .form-group + = f.label(:name, t('activerecord.attributes.file.feedback_message')) + = f.text_area(:feedback_message, class: 'form-control', maxlength: 255) + .help-block = t('.hints.feedback_message') + .form-group + = f.label(:role, t('activerecord.attributes.file.weight')) + = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') + - unless file.new_record? + /= render partial: 'ace', locals: { exercise: @exercise, file: file } + + /Disabled blank text editor field + = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + + + + + + + + + + + + +/- id = f.object.id +/ +/li.panel.panel-default +/ .panel-heading role="tab" id="heading" +/ a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" +/ div.clearfix role="button" +/ span = f.object.name +/ .panel-collapse.collapse-in id="collapse#{id}" role="tabpanel" +/ .panel-body +/ .clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right') +/ .form-group +/ = f.label(:name, t('activerecord.attributes.file.name')) +/ = f.text_field(:name, class: 'form-control') +/ +/ +/ = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) +/ = render partial: 'ace', locals: { exercise: @exercise, file: file, } + + + + + + + + + + +/= fields_for(file) do |f| li.panel.panel-default .panel-heading role="tab" id="heading" a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{file.id}" @@ -8,36 +89,9 @@ .panel-body .clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right') .form-group - = f.label(:name, t('activerecord.attributes.file.name')) - = f.text_field(:name, class: 'form-control') - .form-group - = f.label(:path, t('activerecord.attributes.file.path')) - = f.text_field(:path, class: 'form-control') - .help-block = t('.hints.path') - .form-group - = f.label(:file_type_id, t('activerecord.attributes.file.file_type_id')) - = f.collection_select(:file_type_id, @file_types, :id, :name, {}, class: 'form-control') - .form-group - = f.label(:role, t('activerecord.attributes.file.role')) - = f.select(:role, CodeOcean::File::TEACHER_DEFINED_ROLES.map { |role| [t("files.roles.#{role}"), role] }, {include_blank: true}, class: 'form-control') - .checkbox - label - = f.check_box(:hidden) - = t('activerecord.attributes.file.hidden') - .checkbox - label - = f.check_box(:read_only) - = t('activerecord.attributes.file.read_only') - .test-related-fields style="display: #{file.teacher_defined_test? ? 'initial' : 'none'};" - .form-group - = f.label(:name, t('activerecord.attributes.file.feedback_message')) - = f.text_area(:feedback_message, class: 'form-control', maxlength: 255) - .help-block = t('.hints.feedback_message') - .form-group - = f.label(:role, t('activerecord.attributes.file.weight')) - = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - - unless file.new_record? - = render partial: 'ace', locals: { exercise: @exercise, file: file } + = f.label(:name, t('activerecord.attributes.file.name')) + = f.text_field(:name, class: 'form-control') + = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + /Disabled blank text editor field - /= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 24c0cd74..cf9bf0c7 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -29,11 +29,23 @@ = f.check_box(:allow_file_creation) = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') + + /---------------------- + /todo + /ul#files.list-unstyled.panel-group + = f.fields_for :files do |files_form| + = render('file_form', f: files_form) + + ul#files.list-unstyled.panel-group - - @exercise.files.each do |file| - = render partial: 'file_form', locals: {file: file} + - @exercise.files.each_with_index do |file, index| + = f.fields_for(:files) do |files_form| + - if index == (files_form.index - 1) + = render('file_form', file: file, f: files_form) + /---------------------- + a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') - ul#dummies.hidden - = render partial: 'file_form', locals: {file: CodeOcean::File.new} + ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| + = render('file_form', file: CodeOcean::File.new, f: files_form) .actions = render('shared/submit_button', f: f, object: @exercise) From e17782b18dde784a1d4f5e331f7f98c3c88df5df Mon Sep 17 00:00:00 2001 From: yqbk Date: Fri, 26 Aug 2016 13:16:38 +0200 Subject: [PATCH 55/64] done --- app/assets/javascripts/editor-edit.js | 17 +++--- app/views/exercises/_ace.html.slim | 6 +- app/views/exercises/_code_field.html.slim | 3 +- app/views/exercises/_file_form.html.slim | 72 +++-------------------- app/views/exercises/_form.html.slim | 12 +--- 5 files changed, 23 insertions(+), 87 deletions(-) diff --git a/app/assets/javascripts/editor-edit.js b/app/assets/javascripts/editor-edit.js index 5df9f35d..b1251cf9 100644 --- a/app/assets/javascripts/editor-edit.js +++ b/app/assets/javascripts/editor-edit.js @@ -24,13 +24,16 @@ $(function() { editor.setShowPrintMargin(false); editor.setTheme(THEME); - //todo - // var textarea = $('textarea[name="2822862"]'); - // alert($(element).data('file-id')); - // editor.getSession().setValue(textarea.val()); - // editor.getSession().on('change', function(){ - // textarea.val(editor.getSession().getValue()); - // }); + var textarea = $('textarea[id="exercise_files_attributes_'+index+'_content"]'); + var content = textarea.val(); + + if (content != undefined) + { + editor.getSession().setValue(content); + editor.getSession().on('change', function(){ + textarea.val(editor.getSession().getValue()); + }); + } editor.commands.bindKey("ctrl+alt+0", null); var session = editor.getSession(); diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_ace.html.slim index c694bb49..810653d2 100644 --- a/app/views/exercises/_ace.html.slim +++ b/app/views/exercises/_ace.html.slim @@ -1,5 +1,5 @@ #editor-edit.panel-group.row data-exercise-id=@exercise.id #frames - .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type - .editor-content.hidden data-file-id=file.ancestor_id = file.content - .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-id=file.id + .frame + .editor-content.hidden + .editor \ No newline at end of file diff --git a/app/views/exercises/_code_field.html.slim b/app/views/exercises/_code_field.html.slim index 67d614dd..5273a693 100644 --- a/app/views/exercises/_code_field.html.slim +++ b/app/views/exercises/_code_field.html.slim @@ -2,6 +2,5 @@ = form.label(attribute, label) |   a.toggle-input data={text_initial: t('shared.upload_file'), text_toggled: t('shared.back')} href='#' = t('shared.upload_file') - /= form.text_area(attribute, class: 'code-field form-control original-input', rows: 16, name: file.id) - = form.text_area(attribute, class: 'code-field form-control original-input', rows: 16) + = form.text_area(attribute, class: 'code-field form-control original-input', rows: 16, style: "display:none;") = form.file_field(attribute, class: 'alternative-input form-control', disabled: true) diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 26654ae8..6698abcc 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -1,9 +1,11 @@ +- id = f.object.id + li.panel.panel-default .panel-heading role="tab" id="heading" - a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{file.id}" + a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" div.clearfix role="button" - span = file.name - .panel-collapse.collapse id="collapse#{file.id}" role="tabpanel" + span = f.object.name + .panel-collapse.collapse-in id="collapse#{id}" role="tabpanel" .panel-body .clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right') .form-group @@ -27,7 +29,7 @@ li.panel.panel-default label = f.check_box(:read_only) = t('activerecord.attributes.file.read_only') - .test-related-fields style="display: #{file.teacher_defined_test? ? 'initial' : 'none'};" + .test-related-fields style="display: #{f.object.teacher_defined_test? ? 'initial' : 'none'};" .form-group = f.label(:name, t('activerecord.attributes.file.feedback_message')) = f.text_area(:feedback_message, class: 'form-control', maxlength: 255) @@ -35,63 +37,5 @@ li.panel.panel-default .form-group = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') - - unless file.new_record? - /= render partial: 'ace', locals: { exercise: @exercise, file: file } - - /Disabled blank text editor field - = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) - - - - - - - - - - - - -/- id = f.object.id -/ -/li.panel.panel-default -/ .panel-heading role="tab" id="heading" -/ a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}" -/ div.clearfix role="button" -/ span = f.object.name -/ .panel-collapse.collapse-in id="collapse#{id}" role="tabpanel" -/ .panel-body -/ .clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right') -/ .form-group -/ = f.label(:name, t('activerecord.attributes.file.name')) -/ = f.text_field(:name, class: 'form-control') -/ -/ -/ = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) -/ = render partial: 'ace', locals: { exercise: @exercise, file: file, } - - - - - - - - - - -/= fields_for(file) do |f| - li.panel.panel-default - .panel-heading role="tab" id="heading" - a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{file.id}" - div.clearfix role="button" - span = file.name - .panel-collapse.collapse id="collapse#{file.id}" role="tabpanel" - .panel-body - .clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right') - .form-group - = f.label(:name, t('activerecord.attributes.file.name')) - = f.text_field(:name, class: 'form-control') - = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) - - - /Disabled blank text editor field + = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) + = render partial: 'ace', locals: { exercise: @exercise } \ No newline at end of file diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index cf9bf0c7..2797474c 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -30,20 +30,10 @@ = t('activerecord.attributes.exercise.allow_file_creation') h2 = t('activerecord.attributes.exercise.files') - /---------------------- - /todo - /ul#files.list-unstyled.panel-group + ul#files.list-unstyled.panel-group = f.fields_for :files do |files_form| = render('file_form', f: files_form) - - ul#files.list-unstyled.panel-group - - @exercise.files.each_with_index do |file, index| - = f.fields_for(:files) do |files_form| - - if index == (files_form.index - 1) - = render('file_form', file: file, f: files_form) - /---------------------- - a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| = render('file_form', file: CodeOcean::File.new, f: files_form) From 8abc0bb15a4abbff6df06ebe938cd7cc0a6ad1b9 Mon Sep 17 00:00:00 2001 From: yqbk Date: Fri, 26 Aug 2016 13:22:16 +0200 Subject: [PATCH 56/64] cleanup --- app/views/exercises/_form.html.slim | 5 ++--- db/schema.rb | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index e00be6dd..a640f0c2 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -35,7 +35,6 @@ a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file') ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form| - = render('file_form', file: CodeOcean::File.new, f: files_form) - - .actions = render('shared/submit_button', f: f, object: @exercise) + = render('file_form', f: files_form) + .actions = render('shared/submit_button', f: f, object: @exercise) \ No newline at end of file diff --git a/db/schema.rb b/db/schema.rb index cc96aad8..b2c3b8a4 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -74,8 +74,7 @@ ActiveRecord::Schema.define(version: 20160704143402) do t.integer "file_type_id" t.integer "memory_limit" t.boolean "network_enabled" - t.string "language" - t.string "language_version" + end create_table "exercises", force: true do |t| From 21699952fffb3133ee8f0b980d148b755e521510 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Mon, 29 Aug 2016 13:00:12 +0200 Subject: [PATCH 57/64] some renaming --- app/assets/javascripts/{editor-edit.js => editor_edit.js} | 0 app/views/exercises/{_ace.html.slim => _editor_edit.html.slim} | 0 app/views/exercises/_file_form.html.slim | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename app/assets/javascripts/{editor-edit.js => editor_edit.js} (100%) rename app/views/exercises/{_ace.html.slim => _editor_edit.html.slim} (100%) diff --git a/app/assets/javascripts/editor-edit.js b/app/assets/javascripts/editor_edit.js similarity index 100% rename from app/assets/javascripts/editor-edit.js rename to app/assets/javascripts/editor_edit.js diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_editor_edit.html.slim similarity index 100% rename from app/views/exercises/_ace.html.slim rename to app/views/exercises/_editor_edit.html.slim diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 6698abcc..796c6722 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -38,4 +38,4 @@ li.panel.panel-default = f.label(:role, t('activerecord.attributes.file.weight')) = f.number_field(:weight, class: 'form-control', min: 1, step: 'any') = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content')) - = render partial: 'ace', locals: { exercise: @exercise } \ No newline at end of file + = render partial: 'editor_edit', locals: { exercise: @exercise } \ No newline at end of file From a9b273a9025b3f083cfe646c18b451d371011122 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Wed, 31 Aug 2016 15:54:19 +0200 Subject: [PATCH 58/64] Changes to support deploy staging --- config.ru | 5 +- config/deploy/staging.rb | 2 + config/environments/staging.rb | 87 ++++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 config/deploy/staging.rb create mode 100644 config/environments/staging.rb diff --git a/config.ru b/config.ru index 5bc2a619..23973bc3 100644 --- a/config.ru +++ b/config.ru @@ -1,4 +1,7 @@ # This file is used by Rack-based servers to start the application. require ::File.expand_path('../config/environment', __FILE__) -run Rails.application + +map CodeOcean::Application.config.relative_url_root || '/' do + run Rails.application +end diff --git a/config/deploy/staging.rb b/config/deploy/staging.rb new file mode 100644 index 00000000..4cdc5169 --- /dev/null +++ b/config/deploy/staging.rb @@ -0,0 +1,2 @@ +server '10.210.0.50', roles: [:app, :db, :puma_nginx, :web], user: 'debian' +set :rails_env, "staging" diff --git a/config/environments/staging.rb b/config/environments/staging.rb new file mode 100644 index 00000000..1cb098cb --- /dev/null +++ b/config/environments/staging.rb @@ -0,0 +1,87 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Code is not reloaded between requests. + config.cache_classes = true + + # Eager load code on boot. This eager loads most of Rails and + # your application in memory, allowing both threaded web servers + # and those relying on copy on write to perform better. + # Rake tasks automatically ignore this option for performance. + config.eager_load = true + + # Full error reports are disabled and caching is turned on. + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Enable Rack::Cache to put a simple HTTP cache in front of your application + # Add `rack-cache` to your Gemfile before enabling this. + # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid. + # config.action_dispatch.rack_cache = true + + # Disable Rails's static asset server (Apache or nginx will already do this). + config.serve_static_assets = false + + # Compress JavaScripts and CSS. + config.assets.js_compressor = :uglifier + # config.assets.css_compressor = :sass + + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = false + + # Generate digests for assets URLs. + config.assets.digest = true + + # Version of your assets, change this if you want to expire all your assets. + config.assets.version = '1.0' + + # Specifies the header that your server uses for sending files. + # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # Set to :debug to see everything in the log. + config.log_level = :error + + # Prepend all log lines with the following tags. + # config.log_tags = [ :subdomain, :uuid ] + + # Use a different logger for distributed setups. + # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + # config.action_controller.asset_host = "http://assets.example.com" + + # Precompile additional assets. + # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. + # config.assets.precompile += %w( search.js ) + + # Ignore bad email addresses and do not raise email delivery errors. + # Set this to true and configure the email server for immediate delivery to raise delivery errors. + # config.action_mailer.raise_delivery_errors = false + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation cannot be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Disable automatic flushing of the log to improve performance. + # config.autoflush_log = false + + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = ::Logger::Formatter.new + + # Do not dump schema after migrations. + config.active_record.dump_schema_after_migration = false + + # Run on subfolder in production environment. + config.relative_url_root = '/co-staging' + +end From 7cfa6a21ee456ec3e944c413d2294f7b3d332c71 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Wed, 31 Aug 2016 16:03:19 +0200 Subject: [PATCH 59/64] add staging settings for docker.yml.erb --- config/docker.yml.erb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/docker.yml.erb b/config/docker.yml.erb index 1124e063..0a018241 100644 --- a/config/docker.yml.erb +++ b/config/docker.yml.erb @@ -34,6 +34,20 @@ production: ws_host: ws://localhost:4243 #url to connect rails server to docker host ws_client_protocol: wss:// #set the websocket protocol to be used by the client to connect to the rails server (ws on development, wss on production) +staging: + <<: *default + host: unix:///var/run/docker.sock + pool: + active: true + refill: + async: false + batch_size: 8 + interval: 15 + timeout: 60 + workspace_root: <%= Rails.root.join('tmp', 'files', Rails.env) %> + ws_host: ws://localhost:4243 #url to connect rails server to docker host + ws_client_protocol: wss:// #set the websocket protocol to be used by the client to connect to the rails server (ws on development, wss on production) + test: <<: *default host: tcp://192.168.59.104:2376 From 012e11857f7be36063a802901f686255a87d74da Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Thu, 1 Sep 2016 13:53:57 +0200 Subject: [PATCH 60/64] ignore staging files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d39c25e5..4a862a70 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ /config/sendmail.yml /config/smtp.yml /config/*.production.yml +/config/*.staging.yml /coverage /log /public/assets From 99f1fe45a3dacae62d8e0f783468c0d2738669ef Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 2 Sep 2016 15:05:48 +0200 Subject: [PATCH 61/64] Allow to specify a branch to deploy for staging --- config/deploy/staging.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/config/deploy/staging.rb b/config/deploy/staging.rb index 4cdc5169..5093b58e 100644 --- a/config/deploy/staging.rb +++ b/config/deploy/staging.rb @@ -1,2 +1,3 @@ server '10.210.0.50', roles: [:app, :db, :puma_nginx, :web], user: 'debian' set :rails_env, "staging" +set :branch, ENV['BRANCH'] if ENV['BRANCH'] From e45426635dc19e0d60bec4ef9d1664bf6af27906 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 2 Sep 2016 15:06:11 +0200 Subject: [PATCH 62/64] rename application from Code Ocean to CodeOcean --- app/helpers/application_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index f11da84b..844a87c4 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,5 +1,5 @@ module ApplicationHelper - APPLICATION_NAME = 'Code Ocean' + APPLICATION_NAME = 'CodeOcean' def application_name APPLICATION_NAME From e67f1f78c43b2723f5d903a5d9dd9b74e04e01f9 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 9 Sep 2016 14:11:38 +0200 Subject: [PATCH 63/64] cleanup logging statements. --- app/controllers/exercises_controller.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index cbd5266a..75451eb3 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -247,13 +247,12 @@ class ExercisesController < ApplicationController end def redirect_after_submit - Rails.logger.error('Score ' + @submission.normalized_score.to_s) + Rails.logger.debug('Score ' + @submission.normalized_score.to_s) if @submission.normalized_score == 1.0 # if user has an own rfc, redirect to it and message him to clean up and accept the answer. # else: show open rfc for same exercise if rfc = RequestForComment.unsolved.where(exercise_id: @submission.exercise).order("RANDOM()").first - Rails.logger.error('rfc: ' + rfc.to_s) # set a message that informs the user that his score was perfect and help in RFC is greatly appreciated. flash[:notice] = I18n.t('exercises.submit.full_score_redirect_to_rfc') From c88a57c4105d89c20e747b5bc9f945d2817aeed5 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 7 Oct 2016 16:38:22 +0200 Subject: [PATCH 64/64] some comments and update of gem conccurrent-ruby --- Gemfile.lock | 4 ++-- codeocean-dockerconfig.md | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 codeocean-dockerconfig.md diff --git a/Gemfile.lock b/Gemfile.lock index 527a91fe..18067c27 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -96,8 +96,8 @@ GEM coffee-script-source execjs coffee-script-source (1.10.0) - concurrent-ruby (1.0.0) - concurrent-ruby (1.0.0-java) + concurrent-ruby (1.0.2) + concurrent-ruby (1.0.2-java) concurrent-ruby-ext (1.0.0) concurrent-ruby (~> 1.0.0) d3-rails (3.5.11) diff --git a/codeocean-dockerconfig.md b/codeocean-dockerconfig.md new file mode 100644 index 00000000..84331a8a --- /dev/null +++ b/codeocean-dockerconfig.md @@ -0,0 +1,11 @@ +In order to make containers accessible for codeocean, they need to be reachable via tcp. +For this, the docker daemon has to be started with the following options: + +DOCKER_OPTS='-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock --iptables=false' + +This binds the daemon to the specified socket (for access via the command line on the machine) as well as the specified tcp url. +Either pass these options to the starting call, or specify them in the docker config file. + +In Ubuntu, this file is located under: /ect/default/docker + +In Debian, please refer to the RHEL and CentOS part under that link: https://docs.docker.com/engine/admin/#/configuring-docker-1