def cleanup(self): r"""Cleanup files created during the test.""" if (self.yaml is not None) and (self.output_files is not None): timer_class = tools.YggClass() for fout in self.output_files: if os.path.isfile(fout): tools.remove_path(fout, timer_class=timer_class, timeout=5)
def teardown(self, ncurr_comm=None, ncurr_thread=None, ncurr_fd=None): r"""Check the number of open comms, threads, and file descriptors. Args: ncurr_comm (int, optional): Number of current comms. If not provided, it is determined to be the present number of comms. ncurr_thread (int, optional): Number of current threads. If not provided, it is determined to be the present number of threads. ncurr_fd (int, optional): Number of current open file descriptors. If not provided, it is determined to be the present number of open file descriptors. """ if self.skip_comm_check: return self._teardown_complete = True x = tools.YggClass('dummy', timeout=self.timeout, sleeptime=self.sleeptime) # Give comms time to close if ncurr_comm is None: Tout = x.start_timeout() while ((not Tout.is_out) and (self.comm_count > self.nprev_comm)): # pragma: debug x.sleep() x.stop_timeout() ncurr_comm = self.comm_count self.assert_less_equal(ncurr_comm, self.nprev_comm) # Give threads time to close if ncurr_thread is None: Tout = x.start_timeout() while ((not Tout.is_out) and (self.thread_count > self.nprev_thread)): # pragma: debug x.sleep() x.stop_timeout() ncurr_thread = self.thread_count self.assert_less_equal(ncurr_thread, self.nprev_thread) # Give files time to close self.cleanup_comms() if ncurr_fd is None: if not self._first_test: Tout = x.start_timeout() while ((not Tout.is_out) and (self.fd_count > self.nprev_fd)): # pragma: debug x.sleep() x.stop_timeout() ncurr_fd = self.fd_count fds_created = max(0, ncurr_fd - self.nprev_fd) # print("FDS CREATED: %d" % fds_created) if not self._first_test: self.assert_equal(fds_created, 0) # Reset the log, encoding, and default comm self.reset_log() self.reset_encoding() self.reset_default_comm() self._first_test = False