def setUp(self): self.db = v4db.V4DB("sqlite:///:memory:", Config.dummyInstance(), echo=False) # Get the test suite wrapper. ts_db = self.ts_db = self.db.testsuite['nts'] order1234 = self.order1234 = self._mkorder(ts_db, "1234") order1236 = self.order1236 = self._mkorder(ts_db, "1236") machine = self.machine = ts_db.Machine("test-machine") ts_db.add(machine) test = self.test = ts_db.Test("Foo") test2 = self.test2 = ts_db.Test("SingleSource/Foo/Bar/baz") test3 = self.test3 = ts_db.Test("SingleSource/UnitTests/Bar/baz") test4 = self.test4 = ts_db.Test("MultiSource/Benchmarks/Ptrdist/ks/ks") a_field = None self.field_change1 = ts_db.FieldChange(order1234, order1236, None, test, a_field) self.field_change2 = ts_db.FieldChange(order1234, order1236, None, test2, a_field) self.field_change3 = ts_db.FieldChange(order1234, order1236, None, test3, a_field) self.field_change4 = ts_db.FieldChange(order1234, order1236, None, test4, a_field)
# Dump a copy of the database, so it will show up in logs. # RUN: sqlite3 %t.install/data/lnt.db .dump # Run consistency checks on the final database, to validate the import. # RUN: python %s %t.install/data/lnt.db import datetime, sys import lnt.testing from lnt.server.config import Config from lnt.server.db import testsuite from lnt.server.db import v4db # Load the test database. db = v4db.V4DB("sqlite:///%s" % sys.argv[1], Config.dummy_instance()) session = db.make_session() # Get the status kinds, and validate the IDs align with the testing IDs. pass_kind = session.query(testsuite.StatusKind) \ .filter_by(id = lnt.testing.PASS).one() assert pass_kind.name == "PASS" fail_kind = session.query(testsuite.StatusKind) \ .filter_by(id = lnt.testing.FAIL).one() assert fail_kind.name == "FAIL" xfail_kind = session.query(testsuite.StatusKind) \ .filter_by(id = lnt.testing.XFAIL).one() assert xfail_kind.name == "XFAIL" # Load the imported test suite. ts = db.testsuite['nts']
# Check the model bindings for test suite instances. # # RUN: rm -f %t.db # RUN: python %s %t.db import datetime from lnt.server.config import Config from lnt.server.db import testsuite from lnt.server.db import v4db from lnt.server.db.fieldchange import RegressionState # Create an in memory database. db = v4db.V4DB("sqlite:///:memory:", Config.dummy_instance(), echo=True) # Get the test suite wrapper. ts_db = db.testsuite['nts'] # Check that we can construct and access all of the primary fields for the test # suite database objects. # Create the objects. start_time = datetime.datetime.utcnow() end_time = datetime.datetime.utcnow() machine = ts_db.Machine("test-machine") machine.os = "test-os" order = ts_db.Order() order.llvm_project_revision = "1234" order2 = ts_db.Order()
# Check the model bindings for test suite instances. # # RUN: rm -f %t.db # RUN: python %s %t.db import datetime from lnt.server.config import Config from lnt.server.db import testsuite from lnt.server.db import v4db # Create an in memory database. db = v4db.V4DB("sqlite:///:memory:", Config.dummyInstance(), echo=True) # Get the test suite wrapper. ts_db = db.testsuite['nts'] # Check that we can construct and access all of the primary fields for the test # suite database objects. # Create the objects. start_time = datetime.datetime.utcnow() end_time = datetime.datetime.utcnow() machine = ts_db.Machine("test-machine") machine.os = "test-os" order = ts_db.Order() order.llvm_project_revision = "test-revision" run = ts_db.Run(machine, order, start_time, end_time) test = ts_db.Test("test-a") sample = ts_db.Sample(run, test)
def setUp(self): """Bind to the LNT test instance.""" self.db = v4db.V4DB("sqlite:///:memory:", Config.dummy_instance()) session = self.session = self.db.make_session() # Get the test suite wrapper. ts_db = self.ts_db = self.db.testsuite['nts'] order1234 = self.order1234 = _mkorder(session, ts_db, "1234") order1235 = self.order1235 = _mkorder(session, ts_db, "1235") order1236 = self.order1236 = _mkorder(session, ts_db, "1236") order1237 = self.order1237 = _mkorder(session, ts_db, "1237") order1238 = self.order1238 = _mkorder(session, ts_db, "1238") start_time = end_time = datetime.datetime.utcnow() machine = self.machine = ts_db.Machine("test-machine") session.add(machine) test = self.test = ts_db.Test("foo") session.add(test) machine2 = self.machine2 = ts_db.Machine("test-machine2") session.add(machine2) test2 = self.test2 = ts_db.Test("bar") session.add(test2) run = self.run = ts_db.Run(None, machine, order1235, start_time, end_time) session.add(run) run2 = self.run2 = ts_db.Run(None, machine2, order1235, start_time, end_time) session.add(run2) sample = ts_db.Sample(run, test, compile_time=1.0, score=4.2) session.add(sample) a_field = self.a_field = list(sample.get_primary_fields())[0] self.a_field2 = list(sample.get_primary_fields())[1] field_change = self.field_change = ts_db.FieldChange( order1234, order1236, machine, test, a_field.id) field_change.run = run session.add(field_change) fc_mach2 = ts_db.FieldChange(order1234, order1236, machine2, test, a_field.id) fc_mach2.run = run2 session.add(fc_mach2) field_change2 = self.field_change2 = ts_db.FieldChange( order1235, order1236, machine, test, a_field.id) field_change2.run = run session.add(field_change2) field_change3 = self.field_change3 = ts_db.FieldChange( order1237, order1238, machine, test, a_field.id) session.add(field_change3) regression = self.regression = ts_db.Regression( "Regression of 1 benchmarks:", "PR1234", RegressionState.DETECTED) session.add(self.regression) self.regression_indicator1 = ts_db.RegressionIndicator( regression, field_change) self.regression_indicator2 = ts_db.RegressionIndicator( regression, field_change2) session.add(self.regression_indicator1) session.add(self.regression_indicator2) # All the regressions we detected. self.regressions = [regression] session.commit()
# Check the model bindings for test suite instances. # # RUN: rm -f %t.db # RUN: python %s %t.db import datetime from lnt.server.config import Config from lnt.server.db import testsuite from lnt.server.db import v4db from lnt.server.db.fieldchange import RegressionState # Create an in memory database. db = v4db.V4DB("sqlite:///:memory:", Config.dummy_instance()) session = db.make_session() # Get the test suite wrapper. ts_db = db.testsuite['nts'] # Check that we can construct and access all of the primary fields for the test # suite database objects. # Create the objects. start_time = datetime.datetime.utcnow() end_time = datetime.datetime.utcnow() machine = ts_db.Machine("test-machine") machine.os = "test-os" order = ts_db.Order() order.llvm_project_revision = "1234"
def setUp(self): """Bind to the LNT test instance.""" self.db = v4db.V4DB("sqlite:///:memory:", Config.dummy_instance()) session = self.session = self.db.make_session() # Get the test suite wrapper. ts_db = self.ts_db = self.db.testsuite['nts'] order1234 = self.order1234 = _mkorder(session, ts_db, "1234") order1235 = self.order1235 = _mkorder(session, ts_db, "1235") order1236 = self.order1236 = _mkorder(session, ts_db, "1236") order1237 = self.order1237 = _mkorder(session, ts_db, "1237") order1238 = self.order1238 = _mkorder(session, ts_db, "1238") start_time = end_time = datetime.datetime.utcnow() machine = self.machine = ts_db.Machine("test-machine") session.add(machine) test = self.test = ts_db.Test("foo") session.add(test) machine2 = self.machine2 = ts_db.Machine("test-machine2") session.add(machine2) test2 = self.test2 = ts_db.Test("bar") session.add(test2) run = self.run = ts_db.Run(None, machine, order1235, start_time, end_time) session.add(run) run2 = self.run2 = ts_db.Run(None, machine2, order1235, start_time, end_time) session.add(run2) sample = ts_db.Sample(run, test, compile_time=1.0, score=4.2) session.add(sample) a_field = self.a_field = list(sample.get_primary_fields())[0] self.a_field2 = list(sample.get_primary_fields())[1] field_change = self.field_change = ts_db.FieldChange(order1234, order1236, machine, test, a_field.id) field_change.run = run session.add(field_change) fc_mach2 = ts_db.FieldChange(order1234, order1236, machine2, test, a_field.id) fc_mach2.run = run2 session.add(fc_mach2) field_change2 = self.field_change2 = ts_db.FieldChange(order1235, order1236, machine, test, a_field.id) field_change2.run = run session.add(field_change2) field_change3 = self.field_change3 = ts_db.FieldChange(order1237, order1238, machine, test, a_field.id) session.add(field_change3) regression = self.regression = ts_db.Regression("Regression of 1 benchmarks:", "PR1234", RegressionState.DETECTED) session.add(self.regression) self.regression_indicator1 = ts_db.RegressionIndicator(regression, field_change) self.regression_indicator2 = ts_db.RegressionIndicator(regression, field_change2) session.add(self.regression_indicator1) session.add(self.regression_indicator2) # All the regressions we detected. self.regressions = [regression] session.commit()
# Dump a copy of the database, so it will show up in logs. # RUN: sqlite3 %t.install/data/lnt.db .dump # Run consistency checks on the final database, to validate the import. # RUN: python %s %t.install/data/lnt.db import datetime, sys import lnt.testing from lnt.server.config import Config from lnt.server.db import testsuite from lnt.server.db import v4db # Load the test database. db = v4db.V4DB("sqlite:///%s" % sys.argv[1], Config.dummy_instance(), echo=True) # Get the status kinds, and validate the IDs align with the testing IDs. pass_kind = db.query(db.StatusKind).filter_by(id=lnt.testing.PASS).one() assert pass_kind.name == "PASS" fail_kind = db.query(db.StatusKind).filter_by(id=lnt.testing.FAIL).one() assert fail_kind.name == "FAIL" xfail_kind = db.query(db.StatusKind).filter_by(id=lnt.testing.XFAIL).one() assert xfail_kind.name == "XFAIL" # Load the imported test suite. ts = db.testsuite['nts'] # Validate the machine. machines = list(ts.query(ts.Machine))
# Dump a copy of the database, so it will show up in logs. # RUN: sqlite3 %t.install/data/lnt.db .dump # Run consistency checks on the final database, to validate the import. # RUN: python %s %t.install/data/lnt.db import datetime, sys import lnt.testing from lnt.server.config import Config from lnt.server.db import testsuite from lnt.server.db import v4db # Load the test database. db = v4db.V4DB("sqlite:///%s" % sys.argv[1], Config.dummyInstance(), echo=True) # Get the status kinds, and validate the IDs align with the testing IDs. pass_kind = db.query(db.StatusKind).filter_by(id = lnt.testing.PASS).one() assert pass_kind.name == "PASS" fail_kind = db.query(db.StatusKind).filter_by(id = lnt.testing.FAIL).one() assert fail_kind.name == "FAIL" xfail_kind = db.query(db.StatusKind).filter_by(id = lnt.testing.XFAIL).one() assert xfail_kind.name == "XFAIL" # Load the imported test suite. ts = db.testsuite['nts'] # Validate the machine. machines = list(ts.query(ts.Machine)) assert len(machines) == 1