summaryrefslogtreecommitdiffstats
path: root/tinyusb/test/vendor/ceedling/lib/ceedling/system_utils.rb
diff options
context:
space:
mode:
Diffstat (limited to 'tinyusb/test/vendor/ceedling/lib/ceedling/system_utils.rb')
-rwxr-xr-xtinyusb/test/vendor/ceedling/lib/ceedling/system_utils.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/tinyusb/test/vendor/ceedling/lib/ceedling/system_utils.rb b/tinyusb/test/vendor/ceedling/lib/ceedling/system_utils.rb
new file mode 100755
index 00000000..477aba4f
--- /dev/null
+++ b/tinyusb/test/vendor/ceedling/lib/ceedling/system_utils.rb
@@ -0,0 +1,37 @@
+
+class Object
+ def deep_clone
+ Marshal::load(Marshal.dump(self))
+ end
+end
+
+
+##
+# Class containing system utility funcions.
+class SystemUtils
+
+ constructor :system_wrapper
+
+ ##
+ # Sets up the class.
+ def setup
+ @tcsh_shell = nil
+ end
+
+ ##
+ # Checks the system shell to see if it a tcsh shell.
+ def tcsh_shell?
+ # once run a single time, return state determined at that execution
+ return @tcsh_shell if not @tcsh_shell.nil?
+
+ result = @system_wrapper.shell_backticks('echo $version')
+
+ if ((result[:exit_code] == 0) and (result[:output].strip =~ /^tcsh/))
+ @tcsh_shell = true
+ else
+ @tcsh_shell = false
+ end
+
+ return @tcsh_shell
+ end
+end