Skip to content

Commit

Permalink
[test]
Browse files Browse the repository at this point in the history
  • Loading branch information
RicoAfoat committed Aug 20, 2024
1 parent 09bac64 commit b99ca75
Showing 1 changed file with 34 additions and 46 deletions.
80 changes: 34 additions & 46 deletions backendtest.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
"execution_count": 199,
"execution_count": 155,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -14,6 +14,7 @@
"import filecmp\n",
"import difflib\n",
"import shutil\n",
"import time\n",
"\n",
"# Configurations\n",
"toolchain_path = \"/home/r1c0/riscv/bin/riscv64-unknown-linux-gnu-\"\n",
Expand Down Expand Up @@ -43,7 +44,7 @@
},
{
"cell_type": "code",
"execution_count": 200,
"execution_count": 156,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -58,7 +59,7 @@
},
{
"cell_type": "code",
"execution_count": 201,
"execution_count": 157,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -73,7 +74,7 @@
},
{
"cell_type": "code",
"execution_count": 202,
"execution_count": 158,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -96,7 +97,7 @@
},
{
"cell_type": "code",
"execution_count": 203,
"execution_count": 159,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -115,7 +116,7 @@
},
{
"cell_type": "code",
"execution_count": 204,
"execution_count": 160,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -134,11 +135,12 @@
},
{
"cell_type": "code",
"execution_count": 205,
"execution_count": 161,
"metadata": {},
"outputs": [],
"source": [
"def RunTest(original_case_path, test_args):\n",
" start_time=time.time()\n",
" try:\n",
" if not os.path.exists(temp_path+\"/test.in\"):\n",
" ret = subprocess.run(test_args,stdout=subprocess.PIPE,stderr=subprocess.PIPE,timeout=30)\n",
Expand All @@ -148,6 +150,9 @@
" print(\"TIMEOUT ERROR: \"+original_case_path)\n",
" TLE_list.append(original_case_path)\n",
" return False\n",
" end_time=time.time()\n",
" \n",
" elasp_time=end_time-start_time\n",
" \n",
" if not os.path.exists(temp_path + \"/test.out\"):\n",
" BadTest_list.append(original_case_path)\n",
Expand All @@ -173,6 +178,7 @@
" WA_list.append(original_case_path)\n",
" return False\n",
" \n",
" print(f\"{elasp_time:.2f}---\",end=\"\") # Print runtime information\n",
" return True\n",
"\n",
"def LLI_TEST(original_case_path):\n",
Expand All @@ -194,7 +200,7 @@
},
{
"cell_type": "code",
"execution_count": 206,
"execution_count": 162,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -211,7 +217,7 @@
},
{
"cell_type": "code",
"execution_count": 207,
"execution_count": 163,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -224,7 +230,7 @@
},
{
"cell_type": "code",
"execution_count": 208,
"execution_count": 164,
"metadata": {},
"outputs": [
{
Expand All @@ -233,7 +239,7 @@
"CompletedProcess(args=['/home/r1c0/riscv/bin/riscv64-unknown-linux-gnu-gcc', './RISCVLib/sylib.c', '-c', '-o', './function_test/sylib.o'], returncode=0)"
]
},
"execution_count": 208,
"execution_count": 164,
"metadata": {},
"output_type": "execute_result"
}
Expand All @@ -245,42 +251,25 @@
},
{
"cell_type": "code",
"execution_count": 209,
"execution_count": 165,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"QEMU\t:"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[209], line 9\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m test \u001b[38;5;129;01min\u001b[39;00m test_list:\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m test\u001b[38;5;241m.\u001b[39mendswith(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.sy\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[0;32m----> 9\u001b[0m \u001b[43mTestSingleCase\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtest\u001b[49m\u001b[43m)\u001b[49m\n",
"Cell \u001b[0;32mIn[207], line 3\u001b[0m, in \u001b[0;36mTestSingleCase\u001b[0;34m(test)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mTestSingleCase\u001b[39m(test):\n\u001b[1;32m 2\u001b[0m CopyFileToTemp(test)\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[43mTolerant\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[43mTryCompile\u001b[49m\u001b[43m,\u001b[49m\u001b[43mTryAssemble\u001b[49m\u001b[43m,\u001b[49m\u001b[43mTryLink\u001b[49m\u001b[43m,\u001b[49m\u001b[43mQEMU_TEST\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43mtest\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m==\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m:\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[1;32m 5\u001b[0m AC_list\u001b[38;5;241m.\u001b[39mappend(test)\n",
"Cell \u001b[0;32mIn[206], line 3\u001b[0m, in \u001b[0;36mTolerant\u001b[0;34m(FuncList, original_file_name)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mTolerant\u001b[39m(FuncList,original_file_name):\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m func \u001b[38;5;129;01min\u001b[39;00m FuncList:\n\u001b[0;32m----> 3\u001b[0m ret \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43moriginal_file_name\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ret \u001b[38;5;241m==\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m Tolerance \u001b[38;5;241m==\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m:\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo Tolerence, exit\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
"Cell \u001b[0;32mIn[205], line 48\u001b[0m, in \u001b[0;36mQEMU_TEST\u001b[0;34m(original_case_path)\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mQEMU_TEST\u001b[39m(original_case_path):\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mQEMU\u001b[39m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;124m\"\u001b[39m,end\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m:\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m---> 48\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[43mRunTest\u001b[49m\u001b[43m(\u001b[49m\u001b[43moriginal_case_path\u001b[49m\u001b[43m,\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mqemu-riscv64\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43mtemp_path\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m/test\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPass:\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m+\u001b[39moriginal_case_path)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m\n",
"Cell \u001b[0;32mIn[205], line 6\u001b[0m, in \u001b[0;36mRunTest\u001b[0;34m(original_case_path, test_args)\u001b[0m\n\u001b[1;32m 4\u001b[0m ret \u001b[38;5;241m=\u001b[39m subprocess\u001b[38;5;241m.\u001b[39mrun(test_args,stdout\u001b[38;5;241m=\u001b[39msubprocess\u001b[38;5;241m.\u001b[39mPIPE,stderr\u001b[38;5;241m=\u001b[39msubprocess\u001b[38;5;241m.\u001b[39mPIPE,timeout\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m30\u001b[39m)\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m----> 6\u001b[0m ret \u001b[38;5;241m=\u001b[39m \u001b[43msubprocess\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtest_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43mstdin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mtemp_path\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m/test.in\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43mstdout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msubprocess\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mPIPE\u001b[49m\u001b[43m,\u001b[49m\u001b[43mstderr\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msubprocess\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mPIPE\u001b[49m\u001b[43m,\u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m30\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m subprocess\u001b[38;5;241m.\u001b[39mTimeoutExpired:\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTIMEOUT ERROR: \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m+\u001b[39moriginal_case_path)\n",
"File \u001b[0;32m~/dl_learning/torch_learning/lib/python3.9/subprocess.py:507\u001b[0m, in \u001b[0;36mrun\u001b[0;34m(input, capture_output, timeout, check, *popenargs, **kwargs)\u001b[0m\n\u001b[1;32m 505\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m Popen(\u001b[38;5;241m*\u001b[39mpopenargs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;28;01mas\u001b[39;00m process:\n\u001b[1;32m 506\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 507\u001b[0m stdout, stderr \u001b[38;5;241m=\u001b[39m \u001b[43mprocess\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcommunicate\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 508\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m TimeoutExpired \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 509\u001b[0m process\u001b[38;5;241m.\u001b[39mkill()\n",
"File \u001b[0;32m~/dl_learning/torch_learning/lib/python3.9/subprocess.py:1134\u001b[0m, in \u001b[0;36mPopen.communicate\u001b[0;34m(self, input, timeout)\u001b[0m\n\u001b[1;32m 1131\u001b[0m endtime \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1133\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1134\u001b[0m stdout, stderr \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_communicate\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mendtime\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1135\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyboardInterrupt\u001b[39;00m:\n\u001b[1;32m 1136\u001b[0m \u001b[38;5;66;03m# https://bugs.python.org/issue25942\u001b[39;00m\n\u001b[1;32m 1137\u001b[0m \u001b[38;5;66;03m# See the detailed comment in .wait().\u001b[39;00m\n\u001b[1;32m 1138\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m timeout \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
"File \u001b[0;32m~/dl_learning/torch_learning/lib/python3.9/subprocess.py:1995\u001b[0m, in \u001b[0;36mPopen._communicate\u001b[0;34m(self, input, endtime, orig_timeout)\u001b[0m\n\u001b[1;32m 1988\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_timeout(endtime, orig_timeout,\n\u001b[1;32m 1989\u001b[0m stdout, stderr,\n\u001b[1;32m 1990\u001b[0m skip_check_and_raise\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[1;32m 1991\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m( \u001b[38;5;66;03m# Impossible :)\u001b[39;00m\n\u001b[1;32m 1992\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m_check_timeout(..., skip_check_and_raise=True) \u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 1993\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mfailed to raise TimeoutExpired.\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m-> 1995\u001b[0m ready \u001b[38;5;241m=\u001b[39m \u001b[43mselector\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mselect\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1996\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_timeout(endtime, orig_timeout, stdout, stderr)\n\u001b[1;32m 1998\u001b[0m \u001b[38;5;66;03m# XXX Rewrite these to use non-blocking I/O on the file\u001b[39;00m\n\u001b[1;32m 1999\u001b[0m \u001b[38;5;66;03m# objects; they are no longer using C stdio!\u001b[39;00m\n",
"File \u001b[0;32m~/dl_learning/torch_learning/lib/python3.9/selectors.py:416\u001b[0m, in \u001b[0;36m_PollLikeSelector.select\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 414\u001b[0m ready \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m 415\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 416\u001b[0m fd_event_list \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_selector\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpoll\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 417\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mInterruptedError\u001b[39;00m:\n\u001b[1;32m 418\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ready\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
"QEMU\t:2.86---Pass:./testcases/performance/01_mm1.sy\n"
]
}
],
"source": [
"if len(Prob_list) == 0:\n",
" GrabFile()\n",
"else:\n",
" test_list=Prob_list\n",
" Prob_list.clear()\n",
"# if len(Prob_list) == 0:\n",
"# GrabFile()\n",
"# else:\n",
"# test_list=Prob_list\n",
"# Prob_list.clear()\n",
"\n",
"test_list=['./testcases/performance/01_mm1.sy']\n",
" \n",
"for test in test_list:\n",
" if test.endswith(\".sy\"):\n",
Expand All @@ -289,20 +278,20 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 166,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"167\n",
"14\n",
"1\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"17\n",
"0\n"
]
}
Expand All @@ -321,18 +310,17 @@
},
{
"cell_type": "code",
"execution_count": 213,
"execution_count": 167,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"./testcases/h_performance/h-2-03.sy\n",
"[]\n",
"[]\n",
"[]\n",
"['./testcases/h_performance/h-2-03.sy', './testcases/h_performance/h-3-01.sy', './testcases/h_performance/h-2-02.sy', './testcases/h_performance/h-3-03.sy', './testcases/h_performance/h-2-01.sy', './testcases/h_performance/h-3-02.sy', './testcases/performance/gameoflife-gosper.sy', './testcases/performance/if-combine1.sy', './testcases/performance/if-combine3.sy', './testcases/performance/matmul2.sy', './testcases/performance/if-combine2.sy', './testcases/performance/matmul3.sy', './testcases/performance/large_loop_array_1.sy', './testcases/performance/gameoflife-p61glidergun.sy', './testcases/performance/large_loop_array_2.sy', './testcases/performance/recursive_call_1.sy', './testcases/performance/large_loop_array_3.sy']\n"
"[]\n"
]
}
],
Expand All @@ -344,9 +332,9 @@
" return\n",
" \n",
"# MV2WorkSpace(TLE_list,0)\n",
"TLE_list=['./testcases/h_performance/h-2-03.sy', './testcases/h_performance/h-3-01.sy', './testcases/h_performance/h-2-02.sy', './testcases/h_performance/h-3-03.sy', './testcases/h_performance/h-2-01.sy', './testcases/h_performance/h-3-02.sy', './testcases/performance/gameoflife-gosper.sy', './testcases/performance/if-combine1.sy', './testcases/performance/if-combine3.sy', './testcases/performance/matmul2.sy', './testcases/performance/if-combine2.sy', './testcases/performance/matmul3.sy', './testcases/performance/large_loop_array_1.sy', './testcases/performance/gameoflife-p61glidergun.sy', './testcases/performance/large_loop_array_2.sy', './testcases/performance/recursive_call_1.sy', './testcases/performance/large_loop_array_3.sy']\n",
"# TLE_list=['./testcases/h_performance/h-2-03.sy', './testcases/h_performance/h-3-01.sy', './testcases/h_performance/h-2-02.sy', './testcases/h_performance/h-3-03.sy', './testcases/h_performance/h-2-01.sy', './testcases/h_performance/h-3-02.sy', './testcases/performance/gameoflife-gosper.sy', './testcases/performance/if-combine1.sy', './testcases/performance/if-combine3.sy', './testcases/performance/matmul2.sy', './testcases/performance/if-combine2.sy', './testcases/performance/matmul3.sy', './testcases/performance/large_loop_array_1.sy', './testcases/performance/gameoflife-p61glidergun.sy', './testcases/performance/large_loop_array_2.sy', './testcases/performance/recursive_call_1.sy', './testcases/performance/large_loop_array_3.sy']\n",
"\n",
"MV2WorkSpace(TLE_list,0)\n",
"# MV2WorkSpace(TLE_list,0)\n",
"\n",
"print(WA_list)\n",
"print(CE_list)\n",
Expand Down

0 comments on commit b99ca75

Please sign in to comment.