Small improvments on native launcher and test

1. Add final and a private ctor for NativeLauncherUtil

2. some refactor on launcher_test.py

Change-Id: Ia12fe82038e080f10ebd02ca8b841a91f2a29f52
PiperOrigin-RevId: 166035866
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/NativeLauncherUtil.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/NativeLauncherUtil.java
index 451c05a..6323772 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/NativeLauncherUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/NativeLauncherUtil.java
@@ -28,7 +28,9 @@
 import java.nio.ByteOrder;
 
 /** Utility class to create Windows native launcher */
-public class NativeLauncherUtil {
+public final class NativeLauncherUtil {
+
+  private NativeLauncherUtil() {}
 
   /** Write a key-value pair launch info to buffer. */
   public static void writeLaunchInfo(ByteArrayOutputStream launchInfo, String key, String value)
diff --git a/src/test/py/bazel/launcher_test.py b/src/test/py/bazel/launcher_test.py
index 25db61c..d009ded 100644
--- a/src/test/py/bazel/launcher_test.py
+++ b/src/test/py/bazel/launcher_test.py
@@ -88,9 +88,6 @@
                                          launcher_flag)
     self.AssertExitCode(exit_code, 0, stderr)
 
-    if not self.IsWindows():
-      bin1_suffix = ''
-
     bin1 = os.path.join(bazel_bin, 'foo', 'bin1.sh%s' % bin1_suffix)
 
     self.assertTrue(os.path.exists(bin1))
@@ -172,13 +169,11 @@
       self.AssertExitCode(exit_code, 0, stderr)
       self.assertEqual(stdout[0], 'hello batch')
 
-  def _buildPyTargets(self, bazel_bin, launcher_flag, win_suffix):
+  def _buildPyTargets(self, bazel_bin, launcher_flag, binary_suffix):
     # Verify that the build of our py_binary succeeds.
     exit_code, _, stderr = self.RunBazel(['build', '//foo:foo'] + launcher_flag)
     self.AssertExitCode(exit_code, 0, stderr)
 
-    binary_suffix = win_suffix if self.IsWindows() else ''
-
     # Verify that generated files exist.
     foo_bin = os.path.join(bazel_bin, 'foo', 'foo%s' % binary_suffix)
     self.assertTrue(os.path.isfile(foo_bin))
@@ -260,8 +255,10 @@
     self.AssertExitCode(exit_code, 0, stderr)
     bazel_bin = stdout[0]
 
-    self._buildShBinaryTargets(bazel_bin, ['--windows_exe_launcher=0'], '.cmd')
-    self._buildShBinaryTargets(bazel_bin, [], '.exe')
+    self._buildShBinaryTargets(bazel_bin, ['--windows_exe_launcher=0'], '.cmd'
+                               if self.IsWindows() else '')
+    self._buildShBinaryTargets(bazel_bin, [], '.exe'
+                               if self.IsWindows() else '')
 
   def testShBinaryArgumentPassing(self):
     self.ScratchFile('WORKSPACE')
@@ -359,8 +356,9 @@
     self.AssertExitCode(exit_code, 0, stderr)
     bazel_bin = stdout[0]
 
-    self._buildPyTargets(bazel_bin, ['--windows_exe_launcher=0'], '.cmd')
-    self._buildPyTargets(bazel_bin, [], '.exe')
+    self._buildPyTargets(bazel_bin, ['--windows_exe_launcher=0'], '.cmd'
+                         if self.IsWindows() else '')
+    self._buildPyTargets(bazel_bin, [], '.exe' if self.IsWindows() else '')
 
   def AssertRunfilesManifestContains(self, manifest, entry):
     with open(manifest, 'r') as f: