From 8ab1f6554bb62f54afa8c509952605aed70a6af9 Mon Sep 17 00:00:00 2001
From: Matthew Hague <matthew.hague@rhul.ac.uk>
Date: Tue, 10 Nov 2020 17:09:59 +0000
Subject: [PATCH] Clean up some compiler warnings

Add suppressions for deliberate errors or bits where the compiler
doesn't expect reflection.
---
 .../uk/ac/rhul/cs/javatester/BaseTester.java   |  4 +---
 .../uk/ac/rhul/cs/javatester/CodeTester.java   |  1 +
 .../java/uk/ac/rhul/cs/javatester/Config.java  |  2 --
 .../uk/ac/rhul/cs/javatester/UnitTests.java    | 18 +++++++++++++-----
 .../cs/javatester/solution/Assignment.java     |  8 ++------
 .../cs/javatester/solution/LongerInOut.java    |  1 +
 .../cs/javatester/solution/NullPtrMethod.java  |  2 ++
 .../cs/javatester/solution/PrivateClass.java   |  2 ++
 .../cs/javatester/solution/SimpleInOut.java    |  1 +
 .../rhul/cs/javatester/solution/Storage.java   |  4 ----
 10 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/src/main/java/uk/ac/rhul/cs/javatester/BaseTester.java b/src/main/java/uk/ac/rhul/cs/javatester/BaseTester.java
index 4437668..7a2ec70 100644
--- a/src/main/java/uk/ac/rhul/cs/javatester/BaseTester.java
+++ b/src/main/java/uk/ac/rhul/cs/javatester/BaseTester.java
@@ -7,9 +7,7 @@ import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
-import java.net.MalformedURLException;
 import java.net.URL;
-import java.net.URLClassLoader;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -28,6 +26,7 @@ public abstract class BaseTester {
      * For custom error messages for tests failing by exception
      */
     public static class FailedTestException extends Exception {
+        private static final long serialVersionUID = -7087131188058589135L;
         public FailedTestException(String msg) { super(msg); }
     }
 
@@ -289,7 +288,6 @@ public abstract class BaseTester {
             out.printCodeLine("Failing interaction:");
 
             if (outputCommandLine) {
-                String[] args = wrapper.getCommandLineArgs();
                 out.printCodeLine("$ " + wrapper.getRunCommand());
             }
 
diff --git a/src/main/java/uk/ac/rhul/cs/javatester/CodeTester.java b/src/main/java/uk/ac/rhul/cs/javatester/CodeTester.java
index c38190e..b7c6be0 100644
--- a/src/main/java/uk/ac/rhul/cs/javatester/CodeTester.java
+++ b/src/main/java/uk/ac/rhul/cs/javatester/CodeTester.java
@@ -98,6 +98,7 @@ public class CodeTester {
      */
     public static class StudentCodeException
                   extends BaseTester.FailedTestException {
+        private static final long serialVersionUID = -4498256171743133274L;
         public StudentCodeException(String msg) { super(msg); }
     }
 
diff --git a/src/main/java/uk/ac/rhul/cs/javatester/Config.java b/src/main/java/uk/ac/rhul/cs/javatester/Config.java
index 32ef90d..47c0cd8 100644
--- a/src/main/java/uk/ac/rhul/cs/javatester/Config.java
+++ b/src/main/java/uk/ac/rhul/cs/javatester/Config.java
@@ -4,10 +4,8 @@ package uk.ac.rhul.cs.javatester;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 /**
  * Class for handling command line parameters.
diff --git a/src/test/java/uk/ac/rhul/cs/javatester/UnitTests.java b/src/test/java/uk/ac/rhul/cs/javatester/UnitTests.java
index 8403428..34e0db3 100644
--- a/src/test/java/uk/ac/rhul/cs/javatester/UnitTests.java
+++ b/src/test/java/uk/ac/rhul/cs/javatester/UnitTests.java
@@ -14,11 +14,9 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
 
 
 public class UnitTests {
-    private static final String THING_RE = ".*XYZ\\s*";
     private static final String OUT_THING_RE = "> .*XYZ\\s*";
     private static final String THING_FAIL_MSG
         = "Expected a thing ending in XYX";
@@ -37,14 +35,13 @@ public class UnitTests {
     private static final String NULL_PTR_CLASS
         = "uk.ac.rhul.cs.javatester.solution.NullPtrMethod";
 
-    // TODO: import some of the non-fail tests from Assignment3Tester
-
     @Rule
     public Timeout globalTimeout = Timeout.seconds(10);
 
     @Test
     public void testMainClassFail() throws IOException {
         BaseTester base = new BaseTester("Not a class") {
+            @SuppressWarnings("unused")
             public void testMainClass()
                  throws BaseTester.FailedTestException {
                 CodeTester ct = new CodeTester();
@@ -151,6 +148,7 @@ public class UnitTests {
     @Test
     public void testLoadClass() {
         BaseTester tester = new BaseTester(STORAGE) {
+            @SuppressWarnings("unused")
             public boolean testLoadClass()
                     throws BaseTester.FailedTestException {
                 CodeTester ct = new CodeTester();
@@ -164,6 +162,7 @@ public class UnitTests {
     @Test
     public void testLoadClassFail() {
         BaseTester tester = new BaseTester(STORAGE) {
+            @SuppressWarnings("unused")
             public boolean testLoadClass()
                     throws BaseTester.FailedTestException {
                 CodeTester ct = new CodeTester();
@@ -177,6 +176,7 @@ public class UnitTests {
     @Test
     public void testConstruct() {
         BaseTester tester = new BaseTester(STORAGE) {
+            @SuppressWarnings("unused")
             public boolean testConstruct()
                     throws BaseTester.FailedTestException {
                 CodeTester ct = new CodeTester();
@@ -190,6 +190,7 @@ public class UnitTests {
     @Test
     public void testGetConstructFail() {
         BaseTester tester = new BaseTester(STORAGE) {
+            @SuppressWarnings("unused")
             public boolean testGetConstruct()
                     throws BaseTester.FailedTestException {
                 CodeTester ct = new CodeTester();
@@ -203,6 +204,7 @@ public class UnitTests {
     @Test
     public void testCallMethod() {
         BaseTester tester = new BaseTester(STORAGE) {
+            @SuppressWarnings("unused")
             public boolean testCallMethod()
                     throws BaseTester.FailedTestException {
                 CodeTester ct = new CodeTester();
@@ -217,6 +219,7 @@ public class UnitTests {
     @Test
     public void testCallMethodFail() {
         BaseTester tester = new BaseTester(STORAGE) {
+            @SuppressWarnings("unused")
             public boolean testCallMethod()
                     throws BaseTester.FailedTestException {
                 CodeTester ct = new CodeTester();
@@ -231,6 +234,7 @@ public class UnitTests {
     @Test
     public void testOptInOutHasNot() {
         BaseTester tester = new BaseTester(SIMPLE_IN_OUT) {
+            @SuppressWarnings("unused")
             public boolean testOptInOut()
                     throws BaseTester.FailedTestException, IOException {
                 return scriptedInteraction(
@@ -250,6 +254,7 @@ public class UnitTests {
     @Test
     public void testOptInOutHasSo() {
         BaseTester tester = new BaseTester(LONGER_IN_OUT) {
+            @SuppressWarnings("unused")
             public boolean testOptInOut()
                     throws BaseTester.FailedTestException, IOException {
                 return scriptedInteraction(
@@ -269,6 +274,7 @@ public class UnitTests {
     @Test
     public void testPrivate() {
         BaseTester tester = new BaseTester(PRIVATE_CLASS) {
+            @SuppressWarnings("unused")
             public boolean testAccess() throws FailedTestException {
                 CodeTester ct = new CodeTester();
                 Object priv = ct.construct(PRIVATE_CLASS);
@@ -286,6 +292,7 @@ public class UnitTests {
     @Test
     public void testNullPtrInCall() {
         BaseTester tester = new BaseTester(NULL_PTR_CLASS) {
+            @SuppressWarnings("unused")
             public boolean testNullPtr() throws FailedTestException {
                 CodeTester ct = new CodeTester();
                 Object np = ct.construct(NULL_PTR_CLASS);
@@ -299,9 +306,10 @@ public class UnitTests {
     @Test
     public void testNullPtrInConstructor() {
         BaseTester tester = new BaseTester(NULL_PTR_CLASS) {
+            @SuppressWarnings("unused")
             public boolean testNullPtr() throws FailedTestException {
                 CodeTester ct = new CodeTester();
-                Object np = ct.construct(NULL_PTR_CLASS, "x");
+                ct.construct(NULL_PTR_CLASS, "x");
                 return true;
             }
         };
diff --git a/src/test/java/uk/ac/rhul/cs/javatester/solution/Assignment.java b/src/test/java/uk/ac/rhul/cs/javatester/solution/Assignment.java
index 75f42a4..33fc12b 100644
--- a/src/test/java/uk/ac/rhul/cs/javatester/solution/Assignment.java
+++ b/src/test/java/uk/ac/rhul/cs/javatester/solution/Assignment.java
@@ -2,11 +2,6 @@
 package uk.ac.rhul.cs.javatester.solution;
 
 import java.util.Scanner;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
 
 public class Assignment {
     public static void main(String[] args) {
@@ -14,9 +9,10 @@ public class Assignment {
         doThing("This is a question");
     }
 
+    @SuppressWarnings("resource")
     private static void doThing(String question) {
         System.out.println(question + " XYZ");
         Scanner scanner = new Scanner(System.in);
-        String input = scanner.nextLine().trim();
+        scanner.nextLine().trim();
     }
 }
diff --git a/src/test/java/uk/ac/rhul/cs/javatester/solution/LongerInOut.java b/src/test/java/uk/ac/rhul/cs/javatester/solution/LongerInOut.java
index 8500472..b864479 100644
--- a/src/test/java/uk/ac/rhul/cs/javatester/solution/LongerInOut.java
+++ b/src/test/java/uk/ac/rhul/cs/javatester/solution/LongerInOut.java
@@ -4,6 +4,7 @@ package uk.ac.rhul.cs.javatester.solution;
 import java.util.Scanner;
 
 public class LongerInOut {
+    @SuppressWarnings("resource")
     public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
 
diff --git a/src/test/java/uk/ac/rhul/cs/javatester/solution/NullPtrMethod.java b/src/test/java/uk/ac/rhul/cs/javatester/solution/NullPtrMethod.java
index dc641a3..1788f9f 100644
--- a/src/test/java/uk/ac/rhul/cs/javatester/solution/NullPtrMethod.java
+++ b/src/test/java/uk/ac/rhul/cs/javatester/solution/NullPtrMethod.java
@@ -5,11 +5,13 @@ public class NullPtrMethod {
 
     public NullPtrMethod() { }
 
+    @SuppressWarnings("null")
     public NullPtrMethod(String x) {
         String n = null;
         n.length();
     }
 
+    @SuppressWarnings("null")
     public void nullPtr() {
         String n = null;
         n.length();
diff --git a/src/test/java/uk/ac/rhul/cs/javatester/solution/PrivateClass.java b/src/test/java/uk/ac/rhul/cs/javatester/solution/PrivateClass.java
index fdc5b39..d741477 100644
--- a/src/test/java/uk/ac/rhul/cs/javatester/solution/PrivateClass.java
+++ b/src/test/java/uk/ac/rhul/cs/javatester/solution/PrivateClass.java
@@ -8,8 +8,10 @@ package uk.ac.rhul.cs.javatester.solution;
 class PrivateClass {
 
     PrivateClass() { }
+    @SuppressWarnings("unused")
     private PrivateClass(String isPrivate) { }
 
+    @SuppressWarnings("unused")
     private void privateMethod() { }
     protected void protectedMethod() { }
     void packageMethod() { }
diff --git a/src/test/java/uk/ac/rhul/cs/javatester/solution/SimpleInOut.java b/src/test/java/uk/ac/rhul/cs/javatester/solution/SimpleInOut.java
index fa25ea4..63935ee 100644
--- a/src/test/java/uk/ac/rhul/cs/javatester/solution/SimpleInOut.java
+++ b/src/test/java/uk/ac/rhul/cs/javatester/solution/SimpleInOut.java
@@ -4,6 +4,7 @@ package uk.ac.rhul.cs.javatester.solution;
 import java.util.Scanner;
 
 public class SimpleInOut {
+    @SuppressWarnings("resource")
     public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
 
diff --git a/src/test/java/uk/ac/rhul/cs/javatester/solution/Storage.java b/src/test/java/uk/ac/rhul/cs/javatester/solution/Storage.java
index dd1359d..a278813 100644
--- a/src/test/java/uk/ac/rhul/cs/javatester/solution/Storage.java
+++ b/src/test/java/uk/ac/rhul/cs/javatester/solution/Storage.java
@@ -1,10 +1,6 @@
 
 package uk.ac.rhul.cs.javatester.solution;
 
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-
 public class Storage {
     String value;
 
-- 
GitLab