def run(self, edit):
		settings = sublime.load_settings("GoTests.sublime-settings")
		gopath = settings.get("GOPATH", "")
		if os.environ.get("GOPATH") == None:
			if gopath != "":
				# Set $GOPATH in this shell and add $GOPATH/bin to $PATH.
				os.environ["GOPATH"] = gopath
				os.environ["PATH"] += os.pathsep + os.path.join(gopath, "bin")
			else:
				sublime.message_dialog("GoTests: GOPATH is not set.")
				return False
		fn = self.view.file_name()
		if fn and fn.endswith('.go') and not fn.endswith('_test.go'):
			fs = []
			for s in self.view.sel():
				line = self.function_line(s.begin())
				i = line.begin()
				while s.end() <= i:
					f = self.function_name(line)
					i = line.end() + 1
					line = self.view.line(i)
					if not f:
						continue
					fs.append(f)
			try:
				gotests = settings.get("gotests_cmd", "gotests")
				cmd = [gotests, '-w', '-only=(?i)^(' + "|".join(fs) + ')$', fn]
				proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
				print(proc.stdout.read().decode("utf-8").replace('\r\n', '\n'))
			except OSError as e:
				sublime.message_dialog("GoTests error: " + str(e) + ".")
				return False
			return True
		return False

	# Returns a function signature's line from a point in its body.
dataset/ETHPy150Open cweill/GoTests-Sublime/GoTests.py/gotestsCommand.run/swapped operands of `<=`