diff --git a/src/ClientServer/Config/Constants.cs b/src/ClientServer/Config/Constants.cs index 79be811721aa8b95f22067615175aed2061af56f..f253644a4f99aab66f998d41b1ac40f9196c05f6 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 2b655e91a64f22cc90fc5abbdefe699276976787..5e6b0d01b6df23e1fe039f15d927dc90bd548fe8 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 18713a123e6a17a63baf1e74fcaff8a3d1ac21b5..b44890bf7628d207df39c56107e31ab4fbbf1e77 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 0b1dccbc61490af52d4699c77ebe088043846205..267e5f2a8d54a3ea8770e3718412ccc011f2edaf 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 c1d49a2c931ac51436974df83fb4a48658ad5d46..fcf1e5c1f90334e90e8815b06fbe8abb599c8edc 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 a69354d256d35cc4ad9a3d6db93ce44327077ff4..4960fabd0e84497a18d4707c4dee5c6f4585eb46 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 4a942a76341d7b084011aca5c60fe6dd08cafdd2..188bf2ad0435b9f9abbaff47842c6e25c0beb37d 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 e8d199d5135a3893fc465e378f7c5067d0300a13..2956a9b2d6510ca0be59b761e2304ecfdd6bfe59 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 4e20fcc5007add8ef2bad22383a37ca75582b22c..e9d623b8c4371c7030798815e8e29e8bdd2b662b 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 db33afb27330f6acd59ebe19ab2e5bba2b243add..00da59d834e7df415e3329cc46292ea31dba4d20 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 94693f81bc8716eb8eb289c38b94afafff91bb6c..37d00a51925ce470d246c0dbce009e0103d442b3 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 fa3f0e481ecb25890920711040716aa234c94403..456f04c58a672ae95d14715e4ce2466b422f1296 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 33a8887545287fecfa30e1201348179924ccb07b..50ea7bf8fc44b2259ac3e28576acdf9a43d2ffe1 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 8c81cbe5b914a6e433acd7034c0e9cf5138724b2..21e2bba899dfab2bea4b75897cc82e34c3ae5276 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 161cede73fff5c6a771a2fc1682751ce5eed2f3d..234e94f3d515e68f5c61e1f126e619e95ec64496 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 c2e517cf8bb2c10cca52bac50bad777b86c6405b..1fd89baa99c8270014757d553c1b14bb2e9073c2 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 923e035346d0c5b6b6567a63e2a53b2ab1f45ce3..a31984c2fcfb1dd91ca4c78b96f35301c7da5976 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; }