def test_fcounters(): """Sample for an expected property in fcounters.""" log = backend.log_open("tests/input/sample.darshan") rec = backend.log_get_mpiio_record(log) assert rec['fcounters'][1] == 2.04800000e+03
def test_fcounters(): """Sample for an expected property in fcounters.""" log = backend.log_open("tests/input/sample.darshan") rec = backend.log_get_record(log, "POSIX") assert rec['fcounters'][0] == 3.9191410541534424
def test_counters(): """Sample for an expected property in counters.""" log = backend.log_open("tests/input/sample.darshan") rec = backend.log_get_record(log, "POSIX") assert rec['counters'][0] == 2049
def test_fcounters(): """Sample for an expected property in fcounters.""" log = backend.log_open("tests/input/sample.darshan") rec = backend.log_get_record(log, "STDIO") assert rec['fcounters'][3] == 0.0
def test_counters(): """Sample for an expected property in counters.""" log = backend.log_open("tests/input/sample.darshan") rec = backend.log_get_stdio_record(log) assert rec['counters'][1] == 18446744073709551615
def test_repeated_access(): """ Check if repeated access is working.""" log = backend.log_open("tests/input/sample.darshan") rec = backend.log_get_mpiio_record(log) rec = backend.log_get_mpiio_record(log) # fetch next assert rec is None
def test_repeated_access(): """ Check if repeated access is working.""" log = backend.log_open("tests/input/sample.darshan") rec = backend.log_get_record(log, "STDIO") rec = backend.log_get_record(log, "STDIO") # fetch next assert rec['counters'][3] == 68
def test_cannotopen(): """Ensure we do not dump core on error.""" # assert fake log file name comes back with a NULL file handle log = backend.log_open("fake/tooth-fairy.darshan") c_file_handle_repr = log['handle'].__repr__() assert 'NULL' in c_file_handle_repr # assert no record is returned using above NULL file handle rec = backend.log_get_record(log, "MPI-IO") assert rec == None
def open(self, filename, read_all=False): """ Open log file via CFFI backend. Args: filename (str): filename to open (optional) read_all (bool): whether to read all records for log Return: None """ self.filename = filename if filename: self.log = backend.log_open(self.filename) if not bool(self.log['handle']): raise RuntimeError("Failed to open file.") self.read_metadata(read_all=read_all) if read_all: self.read_all()
def test_dxt_records(logfile, mod, expected_dict): # regression guard for DXT records values logfile = os.path.join("tests/input", logfile) log = backend.log_open(logfile) rec = backend.log_get_record(log, mod) assert rec == expected_dict
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import darshan.backend.cffi_backend as backend log = backend.log_open("example.darshan") mods = backend.log_get_modules(log) nrecs = backend.log_get_name_records(log) # reliable hashes: 15920181672442173319 (stdout), 14734109647742566553 (stdin), 7238257241479193519 (stderr) selected_nrecs = backend.log_lookup_name_records(log, [15920181672442173319])