[LNT] r276039 - Track code size
Chris Matthews via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 19 15:13:08 PDT 2016
Author: cmatthews
Date: Tue Jul 19 17:13:08 2016
New Revision: 276039
URL: http://llvm.org/viewvc/llvm-project?rev=276039&view=rev
Log:
Track code size
The test-suite test runner collects code size. This adds support to the
rest of the LNT stack to collect and report on code size.
Added:
lnt/trunk/lnt/server/db/migrations/upgrade_9_to_10.py
Modified:
lnt/trunk/lnt/tests/test_suite.py
lnt/trunk/tests/server/db/CreateV4TestSuiteInstance.py
Added: lnt/trunk/lnt/server/db/migrations/upgrade_9_to_10.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/db/migrations/upgrade_9_to_10.py?rev=276039&view=auto
==============================================================================
--- lnt/trunk/lnt/server/db/migrations/upgrade_9_to_10.py (added)
+++ lnt/trunk/lnt/server/db/migrations/upgrade_9_to_10.py Tue Jul 19 17:13:08 2016
@@ -0,0 +1,43 @@
+# Version 10 adds a code_size Sample type to the nightly test suite.
+
+
+import sqlalchemy
+
+###
+# Import the original schema from upgrade_0_to_1 since upgrade_5_to_6 does not
+# change the actual schema.
+import lnt.server.db.migrations.upgrade_0_to_1 as upgrade_0_to_1
+
+
+def upgrade(engine):
+ # Create a session.
+ print "Running my upgrade"
+ session = sqlalchemy.orm.sessionmaker(engine)()
+
+ real_sample_type = session.query(upgrade_0_to_1.SampleType).\
+ filter_by(name = "Real").first()
+
+ ts = session.query(upgrade_0_to_1.TestSuite).filter_by(name='nts').first()
+ code_size = upgrade_0_to_1.SampleField(name="code_size",
+ type=real_sample_type,
+ info_key=".code_size",)
+ ts.sample_fields.append(code_size)
+ session.add(ts)
+
+ session.commit()
+ # upgrade_3_to_4.py added this column, so it is not in the ORM.
+ session.connection().execute("""
+UPDATE "TestSuiteSampleFields"
+SET bigger_is_better=0
+WHERE "Name"='code_size'
+ """)
+ session.commit()
+
+ session.connection().execute("""
+ALTER TABLE "NT_Sample"
+ADD COLUMN "code_size" FLOAT
+""")
+ session.commit()
+ print "Finished my upgrade."
+
+
Modified: lnt/trunk/lnt/tests/test_suite.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/tests/test_suite.py?rev=276039&r1=276038&r2=276039&view=diff
==============================================================================
--- lnt/trunk/lnt/tests/test_suite.py (original)
+++ lnt/trunk/lnt/tests/test_suite.py Tue Jul 19 17:13:08 2016
@@ -590,14 +590,16 @@ class TestSuiteTest(BuiltinTest):
'exec_time': 'exec',
'score': 'score',
'hash': 'hash',
- 'link_time': 'compile'
+ 'link_time': 'compile',
+ 'size': 'code_size'
}
LIT_METRIC_CONV_FN = {
'compile_time': float,
'exec_time': float,
'score': float,
'hash': str,
- 'link_time': float
+ 'link_time': float,
+ 'size': float,
}
# We don't use the test info, currently.
Modified: lnt/trunk/tests/server/db/CreateV4TestSuiteInstance.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/server/db/CreateV4TestSuiteInstance.py?rev=276039&r1=276038&r2=276039&view=diff
==============================================================================
--- lnt/trunk/tests/server/db/CreateV4TestSuiteInstance.py (original)
+++ lnt/trunk/tests/server/db/CreateV4TestSuiteInstance.py Tue Jul 19 17:13:08 2016
@@ -38,8 +38,9 @@ order3.llvm_project_revision = "1236"
run = ts_db.Run(machine, order, start_time, end_time)
test = ts_db.Test("test-a")
-sample = ts_db.Sample(run, test, compile_time=1.0, score=4.2)
+sample = ts_db.Sample(run, test, compile_time=1.0, score=4.2, code_size=100)
sample.mem_bytes = 58093568
+
# Add and commit.
ts_db.add(machine)
ts_db.add(order)
@@ -95,6 +96,8 @@ samples = ts_db.query(ts_db.Sample).all(
assert len(samples) == 1
sample = samples[0]
+assert sample.code_size == 100
+
regression_indicators = ts_db.query(ts_db.RegressionIndicator).all()
assert len(regression_indicators) == 2
ri = regression_indicators[0]
More information about the llvm-commits
mailing list