Files
manager.src
- MiniManager = {}
- MiniManager.shell = get_shell
- MiniManager.computer = MiniManager.shell.host_computer
- MiniManager.running_test = null
- MiniManager.work_path = home_dir+"/.tmp"
- MiniManager.stats = ["assertions", "failures", "errors"]
- MiniManager.assertions = 0
- MiniManager.failures = 0
- MiniManager.errors = 0
- MiniManager.instalation_path = "/home/guest/minitest"
- MiniManager.prepend = []
- MiniManager.append = []
- MiniManager.prepend.push("import_code("""+MiniManager.instalation_path+"/libs/listLib.src"")")
- MiniManager.prepend.push("import_code("""+MiniManager.instalation_path+"/manager.src"")")
- MiniManager.prepend.push("import_code("""+MiniManager.instalation_path+"/testApi.src"")")
- MiniManager.append.push("import_code("""+MiniManager.instalation_path+"/runner.src"")")
- MiniManager.test_files = function()
- self.set_stats_files
- for file_path in self.files_to_run
- self.test_file(file_path)
- end for
- end function
- MiniManager.test_file = function(file_path)
- test_src_path = home_dir+"/.tmp/test.src"
- test_src = self.computer.File(test_src_path)
- if test_src != null then
- test_src.delete
self.computer.touch(home_dir+"/.tmp", "test.src")
test_src = self.computer.File(test_src_path)
- end if
- self.computer.touch(home_dir+"/.tmp", "test.src")
- test_src = self.computer.File(test_src_path)
- bin_file_path = home_dir+"/.tmp/test"
- bin_file = self.computer.File(bin_file_path)
- if bin_file != null then
- bin_file.delete
- end if
- code = self.computer.File(file_path).get_content
- test_code = self.prepend.join(char(10)) + char(10) + code + char(10) + self.append.join(char(10))
- test_src.set_content(test_code)
-
- test_build = self.shell.build(test_src_path, home_dir+"/.tmp")
- if test_build.len != 0 then
- print(char(10)+"<color=red>compilation error on:</color>"+char(10)+"<color=red>"+file_path+"</color>")
- print(test_build)
- self.increment_stat("errors")
- return
- end if
- self.shell.launch(bin_file_path)
- end function
- MiniManager.files_to_run = function()
- return self.computer.File(home_dir+"/.tmp/files_to_run.txt").get_content.split(char(10))
- end function
- MiniManager.set_files_to_run = function(files)
- self.computer.touch(home_dir+"/.tmp", "files_to_run.txt")
- content = ""
- for file in files
- content = content + file.path + char(10)
- end for
- content = content[0:-1] // remove the last line break
- self.computer.File(home_dir+"/.tmp/files_to_run.txt").set_content(content)
- end function
- MiniManager.set_stats_files = function()
- for stat in self.stats
- self.computer.touch(self.work_path, stat)
- file = self.computer.File(self.work_path+"/"+stat)
- stat_value = file.get_content
- if stat_value != "0" then
- file.set_content("0")
- end if
- end for
- end function
- MiniManager.increment_stat = function(stat)
- file = self.computer.File(self.work_path+"/"+stat)
- stat_value = file.get_content.to_int
- file.set_content(stat_value + 1)
- end function
- MiniManager.get_stat = function(stat)
- file = self.computer.File(self.work_path+"/"+stat)
- stat_value = file.get_content.to_int
- return stat_value
- end function
- MiniManager.set_running_test = function(test)
- self.running_test = test
- end function