Files

minitest.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
  • import_code("/home/guest/minitest/libs/listLib.src")
  • import_code("/home/guest/minitest/manager.src")
  • MiniManager.instalation_path = "/home/guest/minitest"
  • MiniManager.prepend = []
  • MiniManager.append = []
  • shell = get_shell
  • computer = shell.host_computer
  • 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"")")
  • if params.len == 0 then exit("usage: minitest test")
  • 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
  • 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)
  • if params[0] == "test" then
  • files = computer.File(current_path).get_files
  • 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
  • MiniManager.set_files_to_run(files)
  • start_time = time
  • MiniManager.test_files
  • end_time = time
  • print("Finished in " + (end_time - start_time))
  • print(MiniManager.get_stat("assertions") + " assertions, " + MiniManager.get_stat("failures") + " failures, " + MiniManager.get_stat("errors") + " errors")
  • end if
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