{
  "__version__": [
    17,
    0,
    6
  ],
  "elapsed": 0.12727808952331543,
  "tests": [
    {
      "code": "PASS",
      "elapsed": 0.11764740943908691,
      "name": "compiler :: schedule_atomic_commit_replay.c",
      "output": "Script:\n--\n: 'RUN: at line 1';   env SYMCC_DPOR_ATOMIC_ONLY=1 SYMCC_DPOR_SCHEDULE_ONLY=1 /home/ubuntu/code/symcc/build-llvm17/test/../symcc -O0 -S -emit-llvm /home/ubuntu/code/symcc/test/schedule_atomic_commit_replay.c -o /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.ll -pthread\n: 'RUN: at line 2';   grep -q \"load atomic\" /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.ll\n: 'RUN: at line 3';   grep -q \"store atomic\" /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.ll\n: 'RUN: at line 4';   env SYMCC_DPOR_ATOMIC_ONLY=1 SYMCC_DPOR_SCHEDULE_ONLY=1 /home/ubuntu/code/symcc/build-llvm17/test/../symcc -O0 /home/ubuntu/code/symcc/test/schedule_atomic_commit_replay.c -o /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp -pthread\n: 'RUN: at line 5';   python3 -c \"open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.prefix','w').write('2\\n1\\n')\"\n: 'RUN: at line 6';   python3 -c \"open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.prefix','w').write('1\\n2\\n')\"\n: 'RUN: at line 7';   rm -f /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.trace /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.trace\n: 'RUN: at line 8';   env LD_PRELOAD=/home/ubuntu/code/symcc/build-llvm17/libsymcc_schedule_rt.so SYMCC_DPOR=1 SYMCC_SCHEDULE_MEMORY=1 SYMCC_SCHEDULE_ATOMIC_COMMIT=1 SYMCC_SCHEDULE_WAIT_MS=2000 SYMCC_SCHEDULE_PREFIX=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.prefix SYMCC_SCHEDULE_TRACE=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.trace /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp\n: 'RUN: at line 9';   env LD_PRELOAD=/home/ubuntu/code/symcc/build-llvm17/libsymcc_schedule_rt.so SYMCC_DPOR=1 SYMCC_SCHEDULE_MEMORY=1 SYMCC_SCHEDULE_ATOMIC_COMMIT=1 SYMCC_SCHEDULE_WAIT_MS=2000 SYMCC_SCHEDULE_PREFIX=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.prefix SYMCC_SCHEDULE_TRACE=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.trace /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp\n: 'RUN: at line 10';   python3 -c \"rows=[l.split() for l in open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.trace')]; tags=lambda r:set(r[4:]); commits=[r for r in rows if r[2]=='atomic_commit']; values=[r for r in rows if r[2]=='atomic_value']; assert sum('advanced=1' in tags(r) for r in commits)==2, commits; assert not any(r[2] in {'fallback','atomic_pending_conflict'} or (r[2]=='atomic_commit' and 'mismatch=1' in tags(r)) for r in rows); assert any(r[2]=='atomic_value' and 'role=read' in tags(r) and 'value=0x0' in tags(r) for r in values), values\"\n: 'RUN: at line 11';   python3 -c \"rows=[l.split() for l in open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.trace')]; tags=lambda r:set(r[4:]); commits=[r for r in rows if r[2]=='atomic_commit']; values=[r for r in rows if r[2]=='atomic_value']; assert sum('advanced=1' in tags(r) for r in commits)==2, commits; assert not any(r[2] in {'fallback','atomic_pending_conflict'} or (r[2]=='atomic_commit' and 'mismatch=1' in tags(r)) for r in rows); assert any(r[2]=='atomic_value' and 'role=read' in tags(r) and 'value=0x1' in tags(r) for r in values), values\"\n--\nExit Code: 0\n\nCommand Output (stdout):\n--\n$ \":\" \"RUN: at line 1\"\n$ \"env\" \"SYMCC_DPOR_ATOMIC_ONLY=1\" \"SYMCC_DPOR_SCHEDULE_ONLY=1\" \"/home/ubuntu/code/symcc/build-llvm17/test/../symcc\" \"-O0\" \"-S\" \"-emit-llvm\" \"/home/ubuntu/code/symcc/test/schedule_atomic_commit_replay.c\" \"-o\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.ll\" \"-pthread\"\n# command stderr:\nSymbolizer module instrumentation\n\n$ \":\" \"RUN: at line 2\"\n$ \"grep\" \"-q\" \"load atomic\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.ll\"\n$ \":\" \"RUN: at line 3\"\n$ \"grep\" \"-q\" \"store atomic\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.ll\"\n$ \":\" \"RUN: at line 4\"\n$ \"env\" \"SYMCC_DPOR_ATOMIC_ONLY=1\" \"SYMCC_DPOR_SCHEDULE_ONLY=1\" \"/home/ubuntu/code/symcc/build-llvm17/test/../symcc\" \"-O0\" \"/home/ubuntu/code/symcc/test/schedule_atomic_commit_replay.c\" \"-o\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp\" \"-pthread\"\n# command stderr:\nSymbolizer module instrumentation\n\n$ \":\" \"RUN: at line 5\"\n$ \"python3\" \"-c\" \"open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.prefix','w').write('2\\n1\\n')\"\n$ \":\" \"RUN: at line 6\"\n$ \"python3\" \"-c\" \"open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.prefix','w').write('1\\n2\\n')\"\n$ \":\" \"RUN: at line 7\"\n$ \"rm\" \"-f\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.trace\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.trace\"\n$ \":\" \"RUN: at line 8\"\n$ \"env\" \"LD_PRELOAD=/home/ubuntu/code/symcc/build-llvm17/libsymcc_schedule_rt.so\" \"SYMCC_DPOR=1\" \"SYMCC_SCHEDULE_MEMORY=1\" \"SYMCC_SCHEDULE_ATOMIC_COMMIT=1\" \"SYMCC_SCHEDULE_WAIT_MS=2000\" \"SYMCC_SCHEDULE_PREFIX=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.prefix\" \"SYMCC_SCHEDULE_TRACE=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.trace\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp\"\n$ \":\" \"RUN: at line 9\"\n$ \"env\" \"LD_PRELOAD=/home/ubuntu/code/symcc/build-llvm17/libsymcc_schedule_rt.so\" \"SYMCC_DPOR=1\" \"SYMCC_SCHEDULE_MEMORY=1\" \"SYMCC_SCHEDULE_ATOMIC_COMMIT=1\" \"SYMCC_SCHEDULE_WAIT_MS=2000\" \"SYMCC_SCHEDULE_PREFIX=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.prefix\" \"SYMCC_SCHEDULE_TRACE=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.trace\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp\"\n$ \":\" \"RUN: at line 10\"\n$ \"python3\" \"-c\" \"rows=[l.split() for l in open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.reader-first.trace')]; tags=lambda r:set(r[4:]); commits=[r for r in rows if r[2]=='atomic_commit']; values=[r for r in rows if r[2]=='atomic_value']; assert sum('advanced=1' in tags(r) for r in commits)==2, commits; assert not any(r[2] in {'fallback','atomic_pending_conflict'} or (r[2]=='atomic_commit' and 'mismatch=1' in tags(r)) for r in rows); assert any(r[2]=='atomic_value' and 'role=read' in tags(r) and 'value=0x0' in tags(r) for r in values), values\"\n$ \":\" \"RUN: at line 11\"\n$ \"python3\" \"-c\" \"rows=[l.split() for l in open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_commit_replay.c.tmp.writer-first.trace')]; tags=lambda r:set(r[4:]); commits=[r for r in rows if r[2]=='atomic_commit']; values=[r for r in rows if r[2]=='atomic_value']; assert sum('advanced=1' in tags(r) for r in commits)==2, commits; assert not any(r[2] in {'fallback','atomic_pending_conflict'} or (r[2]=='atomic_commit' and 'mismatch=1' in tags(r)) for r in rows); assert any(r[2]=='atomic_value' and 'role=read' in tags(r) and 'value=0x1' in tags(r) for r in values), values\"\n\n--\n"
    },
    {
      "code": "PASS",
      "elapsed": 0.07781291007995605,
      "name": "compiler :: schedule_atomic_trace.c",
      "output": "Script:\n--\n: 'RUN: at line 1';   env SYMCC_DPOR_MEMORY=1 /home/ubuntu/code/symcc/build-llvm17/test/../symcc -O0 /home/ubuntu/code/symcc/test/schedule_atomic_trace.c -o /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp -pthread\n: 'RUN: at line 2';   rm -f /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp.trace\n: 'RUN: at line 3';   env LD_PRELOAD=/home/ubuntu/code/symcc/build-llvm17/libsymcc_schedule_rt.so SYMCC_DPOR=1 SYMCC_SCHEDULE_TRACE=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp.trace SYMCC_SCHEDULE_MEMORY=1 SYMCC_SCHEDULE_ATOMIC_COMMIT=1 /home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp\n: 'RUN: at line 4';   python3 -c \"rows=[l.split() for l in open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp.trace')]; tags=lambda r:set(r[4:]); source=[r for r in rows if any(t.startswith('kind=') for t in tags(r))]; values=[r for r in rows if r[2]=='atomic_value']; commits=[r for r in rows if r[2]=='atomic_commit']; assert len(source)==6, source; assert len(values)==8, values; assert len(commits)==6, commits; assert all('mode=1' in tags(r) and 'mismatch=0' in tags(r) for r in commits); assert sum(r[2]=='atomic_result' for r in rows)==1; assert any(r[2]=='read' and 'kind=load' in tags(r) and 'mo=acquire' in tags(r) for r in rows); assert any(r[2]=='write' and 'kind=store' in tags(r) and 'mo=release' in tags(r) for r in rows); assert any(r[2]=='rmw' and 'kind=rmw' in tags(r) and 'mo=acq_rel' in tags(r) for r in rows); assert any(r[2]=='rmw' and 'kind=cmpxchg' in tags(r) and 'mo=seq_cst' in tags(r) for r in rows); assert any(r[2]=='atomic_result' and 'success=1' in tags(r) for r in rows); assert any('role=write' in tags(r) and 'value=0x1' in tags(r) for r in values); assert any('role=desired' in tags(r) and 'value=0x9' in tags(r) for r in values); assert any('role=read' in tags(r) and 'value=0x9' in tags(r) for r in values); assert any(r[2]=='fence' and 'kind=fence' in tags(r) and 'mo=seq_cst' in tags(r) for r in rows); assert not ({'lock','trylock','acquire','unlock','rdlock','wrlock','rwunlock','wait','signal','broadcast'} & {r[2] for r in rows})\"\n--\nExit Code: 0\n\nCommand Output (stdout):\n--\n$ \":\" \"RUN: at line 1\"\n$ \"env\" \"SYMCC_DPOR_MEMORY=1\" \"/home/ubuntu/code/symcc/build-llvm17/test/../symcc\" \"-O0\" \"/home/ubuntu/code/symcc/test/schedule_atomic_trace.c\" \"-o\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp\" \"-pthread\"\n# command stderr:\nSymbolizer module instrumentation\nSymbolizing function main\n\n$ \":\" \"RUN: at line 2\"\n$ \"rm\" \"-f\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp.trace\"\n$ \":\" \"RUN: at line 3\"\n$ \"env\" \"LD_PRELOAD=/home/ubuntu/code/symcc/build-llvm17/libsymcc_schedule_rt.so\" \"SYMCC_DPOR=1\" \"SYMCC_SCHEDULE_TRACE=/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp.trace\" \"SYMCC_SCHEDULE_MEMORY=1\" \"SYMCC_SCHEDULE_ATOMIC_COMMIT=1\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp\"\n# command stderr:\nThis is SymCC running with the QSYM backend\n\n$ \":\" \"RUN: at line 4\"\n$ \"python3\" \"-c\" \"rows=[l.split() for l in open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/schedule_atomic_trace.c.tmp.trace')]; tags=lambda r:set(r[4:]); source=[r for r in rows if any(t.startswith('kind=') for t in tags(r))]; values=[r for r in rows if r[2]=='atomic_value']; commits=[r for r in rows if r[2]=='atomic_commit']; assert len(source)==6, source; assert len(values)==8, values; assert len(commits)==6, commits; assert all('mode=1' in tags(r) and 'mismatch=0' in tags(r) for r in commits); assert sum(r[2]=='atomic_result' for r in rows)==1; assert any(r[2]=='read' and 'kind=load' in tags(r) and 'mo=acquire' in tags(r) for r in rows); assert any(r[2]=='write' and 'kind=store' in tags(r) and 'mo=release' in tags(r) for r in rows); assert any(r[2]=='rmw' and 'kind=rmw' in tags(r) and 'mo=acq_rel' in tags(r) for r in rows); assert any(r[2]=='rmw' and 'kind=cmpxchg' in tags(r) and 'mo=seq_cst' in tags(r) for r in rows); assert any(r[2]=='atomic_result' and 'success=1' in tags(r) for r in rows); assert any('role=write' in tags(r) and 'value=0x1' in tags(r) for r in values); assert any('role=desired' in tags(r) and 'value=0x9' in tags(r) for r in values); assert any('role=read' in tags(r) and 'value=0x9' in tags(r) for r in values); assert any(r[2]=='fence' and 'kind=fence' in tags(r) and 'mo=seq_cst' in tags(r) for r in rows); assert not ({'lock','trylock','acquire','unlock','rdlock','wrlock','rwunlock','wait','signal','broadcast'} & {r[2] for r in rows})\"\n\n--\n"
    },
    {
      "code": "PASS",
      "elapsed": 0.02901172637939453,
      "name": "compiler :: native_condpor_campaign_target.c",
      "output": "Script:\n--\n: 'RUN: at line 1';   cc -std=c11 -O0 -pthread /home/ubuntu/code/symcc/test/native_condpor_campaign_target.c -ldl -o /home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp\n: 'RUN: at line 2';   rm -f /home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp.trace\n: 'RUN: at line 3';   env LD_PRELOAD=/home/ubuntu/code/symcc/build-llvm17/libsymcc_schedule_rt.so SYMCC_DPOR=1 SYMCC_SCHEDULE_MEMORY=1 SYMCC_SCHEDULE_TRACE=/home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp.trace /home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp\n: 'RUN: at line 4';   python3 -c \"rows=[line.split() for line in open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp.trace')]; assert sum(row[2]=='write' for row in rows)==1; assert sum(row[2]=='read' for row in rows)==1; assert sum(row[2]=='action' for row in rows)==1; assert not any(row[2]=='fallback' for row in rows)\"\n--\nExit Code: 0\n\nCommand Output (stdout):\n--\n$ \":\" \"RUN: at line 1\"\n$ \"cc\" \"-std=c11\" \"-O0\" \"-pthread\" \"/home/ubuntu/code/symcc/test/native_condpor_campaign_target.c\" \"-ldl\" \"-o\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp\"\n$ \":\" \"RUN: at line 2\"\n$ \"rm\" \"-f\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp.trace\"\n$ \":\" \"RUN: at line 3\"\n$ \"env\" \"LD_PRELOAD=/home/ubuntu/code/symcc/build-llvm17/libsymcc_schedule_rt.so\" \"SYMCC_DPOR=1\" \"SYMCC_SCHEDULE_MEMORY=1\" \"SYMCC_SCHEDULE_TRACE=/home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp.trace\" \"/home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp\"\n$ \":\" \"RUN: at line 4\"\n$ \"python3\" \"-c\" \"rows=[line.split() for line in open(r'/home/ubuntu/code/symcc/build-llvm17/test/Output/native_condpor_campaign_target.c.tmp.trace')]; assert sum(row[2]=='write' for row in rows)==1; assert sum(row[2]=='read' for row in rows)==1; assert sum(row[2]=='action' for row in rows)==1; assert not any(row[2]=='fallback' for row in rows)\"\n\n--\n"
    }
  ]
}
