code: def abivalidate_inputs(self):
          
          if not self.allocated:
              self.allocate()
  
          isok, tuples = True, []
          for task in self.iflat_tasks():
              t = task.input.abivalidate()
              if t.retcode != 0: isok = False
              tuples.append(t)
  
          return isok, tuples
docs: Run ABINIT in dry mode to validate all the inputs of the flow.
  
          Return:
              (isok, tuples)
  
              isok is True if all inputs are ok.
              tuples is List of `namedtuple` objects, one for each task in the flow.
              Each namedtuple has the following attributes:
  
                  retcode: Return code. 0 if OK.
                  log_file:  log file of the Abinit run, use log_file.read() to access its content.
                  stderr_file: stderr file of the Abinit run. use stderr_file.read() to access its content.
  
          Raises:
              `RuntimeError` if executable is not in $PATH.