CMSIS-DSP: Added config table to test framework.
diff --git a/CMSIS/DSP/Testing/addToDB.py b/CMSIS/DSP/Testing/addToDB.py
index bdf570a..252e41a 100755
--- a/CMSIS/DSP/Testing/addToDB.py
+++ b/CMSIS/DSP/Testing/addToDB.py
@@ -131,9 +131,10 @@
if result != None:
return(result[0])
else:
- conn.execute("INSERT INTO COMPILER(compilerkindid,version) VALUES(?,?)" ,(kind,version))
+ fullDate = datetime.datetime.now()
+ conn.execute("INSERT INTO COMPILER(compilerkindid,version,date) VALUES(?,?,?)" ,(kind,version,fullDate))
conn.commit()
- r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=?" , (kind,version))
+ r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=? AND date=?" , (kind,version,fullDate))
result=r.fetchone()
if result != None:
#print(result)
@@ -145,6 +146,9 @@
def addRows(conn,elem,tableName,full):
# List of columns we have in DB which is
# different from the columns in the table
+ compilerid = 0
+ platformid = 0
+ coreid = 0
keep = getColumns(elem,full)
cols = list(full.columns)
params = list(elem.params.full)
@@ -216,9 +220,11 @@
if field == "CORE":
val = findInTable(conn,"CORE","coredef",row[field],"coreid")
keys[field]=val
+ coreid = val
if field == "PLATFORM":
val = findInTable(conn,"PLATFORM","platform",row[field],"platformid")
keys[field]=val
+ platformid = val
if field == "TYPE":
val = findInTable(conn,"TYPE","type",keys["TYPE"],"typeid")
keys[field]=val
@@ -226,6 +232,7 @@
compilerkind = findInTable(conn,"COMPILERKIND","compiler",row[field],"compilerkindid")
compiler = findInCompilerTable(conn,compilerkind,keys["VERSION"])
keys[field]=compiler
+ compilerid = compiler
# Generate sql command
start = ""
@@ -244,18 +251,25 @@
#print(sql)
conn.execute(sql)
conn.commit()
+ return({'compilerid':compilerid,'platformid':platformid,'coreid':coreid})
+
+def addConfig(conn,config,fullDate):
+ conn.execute("INSERT INTO CONFIG(compilerid,platformid,coreid,date) VALUES(?,?,?,?)" ,(config['compilerid'],config['platformid'],config['coreid'],fullDate))
+ conn.commit()
def addOneBenchmark(elem,fullPath,db,group):
if os.path.isfile(fullPath):
full=pd.read_csv(fullPath,dtype={'OLDID': str} ,keep_default_na = False)
- full['DATE'] = datetime.datetime.now()
+ fullDate = datetime.datetime.now()
+ full['DATE'] = fullDate
if group:
tableName = group
else:
tableName = elem.data["class"]
conn = sqlite3.connect(db)
- createTableIfMissing(conn,elem,tableName,full)
- addRows(conn,elem,tableName,full)
+ #createTableIfMissing(conn,elem,tableName,full)
+ config = addRows(conn,elem,tableName,full)
+ addConfig(conn,config,fullDate)
conn.close()
diff --git a/CMSIS/DSP/Testing/addToRegDB.py b/CMSIS/DSP/Testing/addToRegDB.py
index acbf3fd..899faf8 100755
--- a/CMSIS/DSP/Testing/addToRegDB.py
+++ b/CMSIS/DSP/Testing/addToRegDB.py
@@ -137,9 +137,10 @@
if result != None:
return(result[0])
else:
- conn.execute("INSERT INTO COMPILER(compilerkindid,version) VALUES(?,?)" ,(kind,version))
+ fullDate = datetime.datetime.now()
+ conn.execute("INSERT INTO COMPILER(compilerkindid,version,date) VALUES(?,?,?)" ,(kind,version,fullDate))
conn.commit()
- r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=?" , (kind,version))
+ r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=? AND date=?" , (kind,version,fullDate))
result=r.fetchone()
if result != None:
#print(result)
@@ -151,6 +152,9 @@
def addRows(conn,elem,tableName,full):
# List of columns we have in DB which is
# different from the columns in the table
+ compilerid = 0
+ platformid = 0
+ coreid = 0
keep = getColumns(elem,full)
cols = list(full.columns)
params=diff(elem.params.full , elem.params.summary)
@@ -224,9 +228,11 @@
if field == "CORE":
val = findInTable(conn,"CORE","coredef",row[field],"coreid")
keys[field]=val
+ coreid = val
if field == "PLATFORM":
val = findInTable(conn,"PLATFORM","platform",row[field],"platformid")
keys[field]=val
+ platformid = val
if field == "TYPE":
val = findInTable(conn,"TYPE","type",keys["TYPE"],"typeid")
keys[field]=val
@@ -234,6 +240,7 @@
compilerkind = findInTable(conn,"COMPILERKIND","compiler",row[field],"compilerkindid")
compiler = findInCompilerTable(conn,compilerkind,keys["VERSION"])
keys[field]=compiler
+ compilerid = compiler
# Generate sql command
start = ""
@@ -255,18 +262,25 @@
#print(sql)
conn.execute(sql)
conn.commit()
+ return({'compilerid':compilerid,'platformid':platformid,'coreid':coreid})
+
+def addConfig(conn,config,fullDate):
+ conn.execute("INSERT INTO CONFIG(compilerid,platformid,coreid,date) VALUES(?,?,?,?)" ,(config['compilerid'],config['platformid'],config['coreid'],fullDate))
+ conn.commit()
def addOneBenchmark(elem,fullPath,db,group):
if os.path.isfile(fullPath):
full=pd.read_csv(fullPath,dtype={'OLDID': str} ,keep_default_na = False)
- full['DATE'] = datetime.datetime.now()
+ fullDate = datetime.datetime.now()
+ full['DATE'] = fullDate
if group:
tableName = group
else:
tableName = elem.data["class"]
conn = sqlite3.connect(db)
createTableIfMissing(conn,elem,tableName,full)
- addRows(conn,elem,tableName,full)
+ config = addRows(conn,elem,tableName,full)
+ addConfig(conn,config,fullDate)
conn.close()
diff --git a/CMSIS/DSP/Testing/createDb.sql b/CMSIS/DSP/Testing/createDb.sql
index 2c9b161..3e84e3cf 100755
--- a/CMSIS/DSP/Testing/createDb.sql
+++ b/CMSIS/DSP/Testing/createDb.sql
@@ -21,10 +21,13 @@
compilerid INTEGER PRIMARY KEY,
compilerkindid INTEGER ,
version text,
+ date text,
FOREIGN KEY(compilerkindid) REFERENCES COMPILERKIND(compilerkindid)
);
CREATE INDEX compiler_index ON COMPILER(compilerkindid,version);
+CREATE INDEX compiler_date_index ON COMPILER(date);
+CREATE INDEX compiler_all_index ON COMPILER(compilerkindid,version,date);
CREATE TABLE TYPE (
typeid INTEGER PRIMARY KEY,
@@ -38,6 +41,17 @@
CREATE INDEX category_index ON CATEGORY(category);
+CREATE TABLE CONFIG (
+ configid INTEGER PRIMARY KEY,
+ compilerid INTEGER,
+ platformid INTEGER,
+ coreid INTEGER,
+ date text,
+ FOREIGN KEY(compilerid) REFERENCES COMPILER(compilerid),
+ FOREIGN KEY(platformid) REFERENCES PLATFORM(platformid),
+ FOREIGN KEY(coreid) REFERENCES CORE(coreid)
+);
+
INSERT INTO TYPE VALUES(1, "q7");
INSERT INTO TYPE VALUES(2, "q15");
INSERT INTO TYPE VALUES(3, "q31");
@@ -56,7 +70,6 @@
INSERT INTO COMPILERKIND VALUES(1,"AC6");
INSERT INTO COMPILERKIND VALUES(2,"GCC");
-INSERT INTO COMPILER VALUES(1,1,"6120001");
INSERT INTO CORE VALUES(1,"m0","ARMCM0");
INSERT INTO CORE VALUES(2,"m0p","ARMCM0P");