From e20a7a51bad33c8d0381a5f5f4f898120674d11c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janis=20Daniel=20Da=CC=88hne?= <janis.daehne2@student.uni-halle.de> Date: Thu, 14 Nov 2019 19:55:16 +0100 Subject: [PATCH] - fixed small issue where in the tutor view the FeedbackForStudent was retuned as lastAssessmentErrorMessage - changed all error reporting to output more verbose messages (default error toString) --- src/ClientServer/Config/Constants.cs | 2 +- .../Controllers/ControllerWithDb.cs | 11 ++-- .../Exercises/ExerciseEditorController.cs | 22 +++++--- .../Core/Exercises/SubmissionController.cs | 42 +++++++++++---- .../TutorViewAssessmentController.cs | 7 ++- .../Controllers/Core/Login/AuthController.cs | 4 +- .../Core/Login/AuthTokenController.cs | 4 +- .../Core/SystemSettingsController.cs | 4 +- .../Core/Testing/TestingController.cs | 53 ++++++++++--------- .../Core/Users/PrivacyController.cs | 4 +- .../dashboard/DashboardController.cs | 11 ++-- src/ClientServer/Helpers/Files.cs | 3 +- src/ClientServer/Helpers/Json.cs | 4 +- src/ClientServer/Startup.cs | 6 +-- src/ClientServer/Workers/FileWorker.cs | 12 ++--- src/ClientServer/Workers/ReleaseWorker.cs | 2 +- .../Workers/SubmissionAssessmentWorker.cs | 23 ++++---- 17 files changed, 123 insertions(+), 91 deletions(-) diff --git a/src/ClientServer/Config/Constants.cs b/src/ClientServer/Config/Constants.cs index 79be811..f253644 100644 --- a/src/ClientServer/Config/Constants.cs +++ b/src/ClientServer/Config/Constants.cs @@ -13,7 +13,7 @@ namespace ClientServer.Helpers /// </summary> public static class Constants { - public static string VersionString = "2.5.8"; + public static string VersionString = "2.5.9"; /// <summary> /// this is only set once at program.cs!! diff --git a/src/ClientServer/Controllers/ControllerWithDb.cs b/src/ClientServer/Controllers/ControllerWithDb.cs index 2b655e9..5e6b0d0 100644 --- a/src/ClientServer/Controllers/ControllerWithDb.cs +++ b/src/ClientServer/Controllers/ControllerWithDb.cs @@ -31,18 +31,13 @@ namespace ClientServer.Controllers /// <param name="ex">the error</param> public Task HandleDbError(Exception ex) { - var message = "server db error: " + ex.Message; - if (ex.InnerException != null) - { - message += " | inner exception: " + ex.InnerException.Message; - } - - Console.WriteLine("[DB ERROR]: " + message); + //Exception.toString() is more verbose than just the exception + inner... + Console.WriteLine("[DB ERROR]: " + ex); if (AppConfiguration.IsDebugMode) { return - Response.WriteAsync(Jc.Serialize(new BasicResponse(ResponseCode.ServerError, message))); + Response.WriteAsync(Jc.Serialize(new BasicResponse(ResponseCode.ServerError, ex.ToString()))); } return diff --git a/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs b/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs index 18713a1..b44890b 100644 --- a/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs +++ b/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs @@ -1683,8 +1683,18 @@ namespace ClientServer.Controllers.Core.Exercises { _context.Exercises.Add(exCopy); + //TODO does this help?? + foreach (var test in newTests) + { + test.TestSettings.Id = test.Id; + } + jsonTests = JsonConvert.SerializeObject(exCopy.Tests, Formatting.Indented, - new JsonSerializerSettings() {ReferenceLoopHandling = ReferenceLoopHandling.Serialize}); + new JsonSerializerSettings() + { + ReferenceLoopHandling = ReferenceLoopHandling.Serialize, + PreserveReferencesHandling = PreserveReferencesHandling.All + }); await _context.SaveChangesAsync(); @@ -1700,11 +1710,9 @@ namespace ClientServer.Controllers.Core.Exercises } catch (Exception ex) { - Console.WriteLine(ex.Message); - if (ex.InnerException != null) - { - Console.WriteLine(ex.InnerException); - } + Console.WriteLine(ex); + + Console.WriteLine("DBG: " + jsonTests); // transaction.Rollback(); @@ -1719,7 +1727,7 @@ namespace ClientServer.Controllers.Core.Exercises //we get the error here: ERROR: insert or update on table "TestCaseSettingses" violates foreign key constraint "FK_TestCaseSettingses_Tests_TestId //DETAIL: Key (TestId)=(0) is not present in table "Tests". - Console.WriteLine("DBG: " + jsonTests); +// Console.WriteLine("DBG: " + jsonTests); //see https://www.npgsql.org/doc/transactions.html await base.HandleDbError(e); diff --git a/src/ClientServer/Controllers/Core/Exercises/SubmissionController.cs b/src/ClientServer/Controllers/Core/Exercises/SubmissionController.cs index 0b1dccb..267e5f2 100644 --- a/src/ClientServer/Controllers/Core/Exercises/SubmissionController.cs +++ b/src/ClientServer/Controllers/Core/Exercises/SubmissionController.cs @@ -1036,10 +1036,23 @@ namespace ClientServer.Controllers.Core.Exercises } catch (System.Exception ex) { - await - Response.WriteAsync( - Jc.Serialize(new BasicResponse(ResponseCode.InvalidRequest, - "could not process line " + lineCount + ", error: " + ex.Message))); + + if (AppConfiguration.IsDebugMode) + { + await + Response.WriteAsync( + Jc.Serialize(new BasicResponse(ResponseCode.InvalidRequest, + "could not process line " + lineCount + ", error: " + ex))); + } + else + { + await + Response.WriteAsync( + Jc.Serialize(new BasicResponse(ResponseCode.InvalidRequest, + "could not process line " + lineCount + ", error: " + ex.Message))); + } + + return; } @@ -1245,11 +1258,12 @@ namespace ClientServer.Controllers.Core.Exercises if (AppConfiguration.IsDebugMode) { Response.StatusCode = 406; + Console.WriteLine("[ERROR] zipping file, exception: " + ex); await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.ServerError, - "error when zipping file: " + solutionFile.FileNameWithExtension + ", message: " + - ex.Message))); + "error when zipping file: " + solutionFile.FileNameWithExtension + ", exception: " + + ex))); } else { @@ -1501,13 +1515,15 @@ namespace ClientServer.Controllers.Core.Exercises { if (AppConfiguration.IsDebugMode) { + Console.WriteLine("[ERROR] zipping file, exception: " + ex); + Response.StatusCode = 406; await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.ServerError, "error when zipping file: " + solutionFile.FileNameWithExtension + - ", message: " + - ex.Message))); + ", exception: " + + ex))); } else { @@ -1564,15 +1580,19 @@ namespace ClientServer.Controllers.Core.Exercises { if (AppConfiguration.IsDebugMode) { + + Console.WriteLine("[ERROR] zipping file, exception: " + ex); + Response.StatusCode = 406; await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.ServerError, "error when zipping file: " + templateFile.FileNameWithExtension + - ", message: " + - ex.Message))); + ", exception: " + + ex))); } else { + Response.StatusCode = 406; await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.ServerError, @@ -2220,7 +2240,7 @@ namespace ClientServer.Controllers.Core.Exercises /// IF a user solved the exercise with different p langs then this does not count separate because /// all restrictions are stored at the participation (e.g. time) and thus the p lang does not matter! /// - /// CAN be -1 on error + /// CAN be -1 on error or on unset (heavy to compute...) /// /// sometimes we want to know if a user solved an exercise multiple times /// e.g. when he/she is only allowed to solve it one time (e.g. an exam) diff --git a/src/ClientServer/Controllers/Core/Exercises/TutorViewAssessmentController.cs b/src/ClientServer/Controllers/Core/Exercises/TutorViewAssessmentController.cs index c1d49a2..fcf1e5c 100644 --- a/src/ClientServer/Controllers/Core/Exercises/TutorViewAssessmentController.cs +++ b/src/ClientServer/Controllers/Core/Exercises/TutorViewAssessmentController.cs @@ -505,6 +505,7 @@ namespace ClientServer.Controllers.Core.Exercises var assessment = new AssessmentFullBase() { + Token = userReleaseParticipation.User.Token, FirstName = userReleaseParticipation.User.FirstName, LastName = userReleaseParticipation.User.LastName, UserId = userReleaseParticipation.UserId, @@ -517,7 +518,11 @@ namespace ClientServer.Controllers.Core.Exercises ManualPoints = solution.Assessment?.ManualPoints, NoteForOtherTutors = solution.Assessment?.NoteForOtherTutors, FeedbackForStudent = solution.Assessment?.FeedbackForStudent, - LastAssessmentErrorMessage = solution.Assessment?.FeedbackForStudent + LastAssessmentErrorMessage = solution.Assessment?.LastAssessmentErrorMessage, + MaxManualPoints = release.MaxManualPoint, + ShouldNotCount = userReleaseParticipation.ShouldNotCount, + LastEditingIpAddress = solution.LastEditingIpAddress, + ParticipationCount = -1 //not set }; await diff --git a/src/ClientServer/Controllers/Core/Login/AuthController.cs b/src/ClientServer/Controllers/Core/Login/AuthController.cs index a69354d..4960fab 100644 --- a/src/ClientServer/Controllers/Core/Login/AuthController.cs +++ b/src/ClientServer/Controllers/Core/Login/AuthController.cs @@ -498,7 +498,7 @@ namespace ClientServer.Controllers.Core.Login } catch (Exception ex) { - Console.WriteLine("ERROR getting test server result: " + ex.Message); + Console.WriteLine("ERROR getting test server result: " + ex); Response.StatusCode = 200; //500 //client will only parse response if we send ok http code await Response.WriteAsync( @@ -636,7 +636,7 @@ namespace ClientServer.Controllers.Core.Login } catch (Exception ex) { - Console.WriteLine("ERROR getting test server result: " + ex.Message); + Console.WriteLine("ERROR getting test server result: " + ex); await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.ServerError, "decode error"))); diff --git a/src/ClientServer/Controllers/Core/Login/AuthTokenController.cs b/src/ClientServer/Controllers/Core/Login/AuthTokenController.cs index 4a942a7..188bf2a 100644 --- a/src/ClientServer/Controllers/Core/Login/AuthTokenController.cs +++ b/src/ClientServer/Controllers/Core/Login/AuthTokenController.cs @@ -98,7 +98,7 @@ namespace ClientServer.Controllers.Core.Login } catch (Exception ex) { - Console.WriteLine("error creating auth token: " + ex.Message); + Console.WriteLine("error creating auth token: " + ex); await base.HandleDbError(ex); csrfToken = null; return new AuthTokenTuple () { @@ -148,7 +148,7 @@ namespace ClientServer.Controllers.Core.Login } catch (Exception ex) { - Console.WriteLine("error extending token lifetime: " + ex.Message); + Console.WriteLine("error extending token lifetime: " + ex); //suppress errors //base.HandleDbError(ex); return null; diff --git a/src/ClientServer/Controllers/Core/SystemSettingsController.cs b/src/ClientServer/Controllers/Core/SystemSettingsController.cs index e8d199d..2956a9b 100644 --- a/src/ClientServer/Controllers/Core/SystemSettingsController.cs +++ b/src/ClientServer/Controllers/Core/SystemSettingsController.cs @@ -378,7 +378,7 @@ namespace ClientServer.Controllers.Core } catch (Exception ex) { - Console.WriteLine("ERROR getting test server settings: " + ex.Message); + Console.WriteLine("ERROR getting test server settings: " + ex); //throw; await @@ -408,7 +408,7 @@ namespace ClientServer.Controllers.Core } catch (Exception ex) { - Console.WriteLine("ERROR deserializing, message: " + ex.Message + ", time: " + DateTime.Now); + Console.WriteLine("ERROR deserializing, message: " + ex + ", time: " + DateTime.Now); Console.WriteLine("text tried to deserialize: " + contentResult); await diff --git a/src/ClientServer/Controllers/Core/Testing/TestingController.cs b/src/ClientServer/Controllers/Core/Testing/TestingController.cs index 4e20fcc..e9d623b 100644 --- a/src/ClientServer/Controllers/Core/Testing/TestingController.cs +++ b/src/ClientServer/Controllers/Core/Testing/TestingController.cs @@ -210,12 +210,12 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception ex) { - Console.WriteLine("ERROR: test server timeout hit?: " + ex.Message); + Console.WriteLine("ERROR: test server timeout hit?: " + ex); //probably timeout hit (not from the test program but the request string reason = ""; if (AppConfiguration.IsDebugMode) { - reason = ", error: " + ex.Message; + reason = ", error: " + ex; } await @@ -356,12 +356,12 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception ex) { - Console.WriteLine("ERROR: test server timeout hit?: " + ex.Message); + Console.WriteLine("ERROR: test server timeout hit?: " + ex); //probably timeout hit (not from the test program but the request string reason = ""; if (AppConfiguration.IsDebugMode) { - reason = ", error: " + ex.Message; + reason = ", error: " + ex; } await @@ -527,12 +527,12 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception ex) { - Console.WriteLine("ERROR: test server timeout hit?: " + ex.Message); + Console.WriteLine("ERROR: test server timeout hit?: " + ex); //probably timeout hit (not from the test program but the request string reason = ""; if (AppConfiguration.IsDebugMode) { - reason = ", error: " + ex.Message; + reason = ", error: " + ex; } await @@ -1419,7 +1419,8 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception e) { - Console.WriteLine(e); + //we create this exception so it should be ok to send just the message... + Console.WriteLine("ERROR " + e); await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.NotFound, e.Message))); @@ -1794,7 +1795,8 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception e) { - Console.WriteLine(e); + //we create this exception so it should be ok to send just the message... + Console.WriteLine("ERROR " + e); await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.NotFound, e.Message))); @@ -1974,7 +1976,8 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception e) { - Console.WriteLine(e); + //we create this exception so it should be ok to send just the message... + Console.WriteLine("ERROR " + e); await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.NotFound, e.Message))); @@ -2210,7 +2213,8 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception e) { - Console.WriteLine(e); + //we create this exception so it should be ok to send just the message... + Console.WriteLine("ERROR " + e); await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.NotFound, e.Message))); @@ -2402,7 +2406,8 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception e) { - Console.WriteLine(e); + //we create this exception so it should be ok to send just the message... + Console.WriteLine("ERROR " + e); await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.NotFound, e.Message))); @@ -2781,7 +2786,8 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception e) { - Console.WriteLine(e); + //we create this exception so it should be ok to send just the message... + Console.WriteLine("ERROR " + e); await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.NotFound, e.Message))); @@ -2918,12 +2924,12 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception ex) { - Console.WriteLine("ERROR: test server timeout hit?: " + ex.Message); + Console.WriteLine("ERROR: test server timeout hit?: " + ex); //probably timeout hit (not from the test program but the request string reason = ""; if (AppConfiguration.IsDebugMode) { - reason = ", error: " + ex.Message; + reason = ", error: " + ex; } await @@ -3164,19 +3170,18 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception ex) { - Console.WriteLine("ERROR getting test server result: " + ex.Message); + Console.WriteLine("ERROR getting test server result: " + ex); //throw; errorDuringRequest = true; - errorMessageDuringRequest = "error during connection to test server: " + ex.Message; - if (ex.InnerException != null) { - - Console.WriteLine("... inner exception (connecting to test server): " + ex.InnerException.Message); - - if ( ex.InnerException.Message == "Couldn't connect to server") { - errorMessageDuringRequest = ex.InnerException.Message.ToLower(); - } + if (AppConfiguration.IsDebugMode) + { + errorMessageDuringRequest = "error during connection to test server: " + ex; } + else + { + errorMessageDuringRequest = "error during connection to test server"; + } } } @@ -3217,7 +3222,7 @@ namespace ClientServer.Controllers.Core.Testing } catch (Exception ex) { - Console.WriteLine("ERROR deserializing, message: " + ex.Message + ", time: " + DateTime.Now); + Console.WriteLine("ERROR deserializing, message: " + ex + ", time: " + DateTime.Now); Console.WriteLine("text tried to deserialize: " + contentResult); return new Tuple<ResponseFromTestServer, string>(null, "error deserializing test server response");; } diff --git a/src/ClientServer/Controllers/Core/Users/PrivacyController.cs b/src/ClientServer/Controllers/Core/Users/PrivacyController.cs index db33afb..00da59d 100644 --- a/src/ClientServer/Controllers/Core/Users/PrivacyController.cs +++ b/src/ClientServer/Controllers/Core/Users/PrivacyController.cs @@ -498,14 +498,14 @@ namespace ClientServer.Controllers.Core.Users } catch (Exception e) { - Console.WriteLine($"[ERROR] downloading personal data for user id: {targetUser}, error: {e.Message}"); + Console.WriteLine($"[ERROR] downloading personal data for user id: {targetUser}, error: {e}"); if (AppConfiguration.IsDebugMode) { await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.ServerError, - $"could not create personal data zip file, error: {e.Message}"))); + $"could not create personal data zip file, error: {e}"))); } else { diff --git a/src/ClientServer/Controllers/dashboard/DashboardController.cs b/src/ClientServer/Controllers/dashboard/DashboardController.cs index 94693f8..37d00a5 100644 --- a/src/ClientServer/Controllers/dashboard/DashboardController.cs +++ b/src/ClientServer/Controllers/dashboard/DashboardController.cs @@ -76,10 +76,12 @@ namespace ClientServer.Controllers } catch (Exception e) { + Console.WriteLine("ERROR get hardware usage : " + e); + //only users with permission see this so we can output the full exception await Response.WriteAsync( Jc.Serialize(new BasicResponseWithData<string>(ResponseCode.ServerError, - "could not get hardware usage (execute error)", e.Message))); + "could not get hardware usage (execute error)", e.ToString()))); return; } @@ -360,13 +362,14 @@ namespace ClientServer.Controllers } catch (Exception ex) { - Console.WriteLine("ERROR getting test server settings: " + ex.Message); + Console.WriteLine("ERROR getting test server settings: " + ex); //throw; + //only users with permission see this so we can output the full exception await Response.WriteAsync( Jc.Serialize(new BasicResponse(ResponseCode.ServerError, - "error getting test server settings"))); + "error getting test server settings, error: " + ex))); return; } } @@ -390,7 +393,7 @@ namespace ClientServer.Controllers } catch (Exception ex) { - Console.WriteLine("ERROR deserializing, message: " + ex.Message + ", time: " + DateTime.Now); + Console.WriteLine("ERROR deserializing, message: " + ex + ", time: " + DateTime.Now); Console.WriteLine("text tried to deserialize: " + contentResult); await diff --git a/src/ClientServer/Helpers/Files.cs b/src/ClientServer/Helpers/Files.cs index fa3f0e4..456f04c 100644 --- a/src/ClientServer/Helpers/Files.cs +++ b/src/ClientServer/Helpers/Files.cs @@ -181,8 +181,7 @@ namespace ClientServer.Helpers } catch (Exception e) { - Console.WriteLine("[ERROR] error creating file"); - Console.WriteLine(e.Message); + Console.WriteLine("[ERROR] error creating file: " + e); throw; } diff --git a/src/ClientServer/Helpers/Json.cs b/src/ClientServer/Helpers/Json.cs index 33a8887..50ea7bf 100644 --- a/src/ClientServer/Helpers/Json.cs +++ b/src/ClientServer/Helpers/Json.cs @@ -44,7 +44,7 @@ namespace ClientServer.Helpers } catch (Exception ex) { - Console.WriteLine("error deserializing obj: " + ex.Message); + Console.WriteLine("error deserializing obj: " + ex); Console.WriteLine("json: " + json); return null; } @@ -69,7 +69,7 @@ namespace ClientServer.Helpers } catch (Exception ex) { - Console.WriteLine("error deserializing obj: " + ex.Message); + Console.WriteLine("error deserializing obj: " + ex); Console.WriteLine("json: " + json); return null; } diff --git a/src/ClientServer/Startup.cs b/src/ClientServer/Startup.cs index 8c81cbe..21e2bba 100644 --- a/src/ClientServer/Startup.cs +++ b/src/ClientServer/Startup.cs @@ -88,11 +88,7 @@ namespace ClientServer } catch (Exception ex) { - Console.WriteLine("error migrating database: " + ex.Message.ToString()); - if (ex.InnerException != null) - { - Console.WriteLine("inner exception: " + ex.InnerException.Message.ToString()); - } + Console.WriteLine("error migrating database: " + ex); Environment.Exit(1); } diff --git a/src/ClientServer/Workers/FileWorker.cs b/src/ClientServer/Workers/FileWorker.cs index 161cede..234e94f 100644 --- a/src/ClientServer/Workers/FileWorker.cs +++ b/src/ClientServer/Workers/FileWorker.cs @@ -85,8 +85,8 @@ namespace ClientServer.Workers } catch (Exception e) { - transaction.Rollback(); - Console.WriteLine(e); + transaction.Rollback(); + Console.WriteLine("[ERROR in FileWorker, markdown]: " + e); throw; } } @@ -131,7 +131,7 @@ namespace ClientServer.Workers catch (Exception e) { transaction.Rollback(); - Console.WriteLine(e); + Console.WriteLine("[ERROR in FileWorker, test assets]: " + e); throw; } } @@ -178,7 +178,7 @@ namespace ClientServer.Workers catch (Exception e) { transaction.Rollback(); - Console.WriteLine(e); + Console.WriteLine("[ERROR in FileWorker, user assets]: " + e); throw; } } @@ -186,9 +186,9 @@ namespace ClientServer.Workers #endregion } } - catch (Exception exception) + catch (Exception e) { - Console.WriteLine(exception); + Console.WriteLine("[ERROR in FileWorker]: " + e); } } } diff --git a/src/ClientServer/Workers/ReleaseWorker.cs b/src/ClientServer/Workers/ReleaseWorker.cs index c2e517c..1fd89ba 100644 --- a/src/ClientServer/Workers/ReleaseWorker.cs +++ b/src/ClientServer/Workers/ReleaseWorker.cs @@ -107,7 +107,7 @@ namespace ClientServer.Workers } catch (Exception ex) { - Console.WriteLine(ex.Message); + Console.WriteLine(ex); } if (AppConfiguration.IsDebugMode) diff --git a/src/ClientServer/Workers/SubmissionAssessmentWorker.cs b/src/ClientServer/Workers/SubmissionAssessmentWorker.cs index 923e035..a31984c 100644 --- a/src/ClientServer/Workers/SubmissionAssessmentWorker.cs +++ b/src/ClientServer/Workers/SubmissionAssessmentWorker.cs @@ -310,7 +310,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR: " + ex.Message); + Console.WriteLine("ERROR: " + ex); return false; } @@ -452,7 +452,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR when saving dummy automatic assessment: " + ex.Message); + Console.WriteLine("ERROR when saving dummy automatic assessment: " + ex); return false; } @@ -471,6 +471,7 @@ namespace ClientServer.Schedulers /// <param name="release">the release to use</param> /// <param name="context">the db context</param> /// <param name="testingController">the testing controller to run the tests</param> + /// <param name="reRunNotFinishedAssessments">true: unfinished releases are rerun (see implementation when a release is unfinished), false: not</param> /// <param name="resetTestResultsFirst">true: reset all test results before running the assessment, false: not</param> /// <returns>true: ok, false: no matching release found</returns> internal static async Task<bool> RunForRelease(ExerciseRelease release, YapexDbContext context, @@ -520,7 +521,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR: " + ex.Message); + Console.WriteLine("ERROR: " + ex); return false; } @@ -629,7 +630,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR: " + ex.Message); + Console.WriteLine("ERROR: " + ex); return false; } } @@ -690,7 +691,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR when saving finished automatic assessment: " + ex.Message); + Console.WriteLine("ERROR when saving finished automatic assessment: " + ex); return false; } @@ -811,7 +812,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR when saving (single) finished automatic assessment: " + ex.Message); + Console.WriteLine("ERROR when saving (single) finished automatic assessment: " + ex); return false; } @@ -988,7 +989,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR running normal test: " + ex.Message); + Console.WriteLine("ERROR running normal test: " + ex); hasError = true; errorMessageForFrontend = ex.Message; goto saveTestResults; @@ -1069,7 +1070,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR saving test result: " + ex.Message); + Console.WriteLine("ERROR saving test result: " + ex); //stop tests because others will normally fail too hasError = true; errorMessageForFrontend = "error saving test result to db"; @@ -1135,7 +1136,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR running submit test: " + ex.Message); + Console.WriteLine("ERROR running submit test: " + ex); hasError = true; errorMessageForFrontend = ex.Message; goto saveTestResults; @@ -1213,7 +1214,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR saving submit test result: " + ex.Message); + Console.WriteLine("ERROR saving submit test result: " + ex); //stop tests because others will normally fail too hasError = true; errorMessageForFrontend = "error saving submit test result to db"; @@ -1266,7 +1267,7 @@ namespace ClientServer.Schedulers } catch (Exception ex) { - Console.WriteLine("ERROR saving automatic assessment result: " + ex.Message); + Console.WriteLine("ERROR saving automatic assessment result: " + ex); hasError = true; return false; } -- GitLab