Esempio n. 1
0
    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)
Esempio n. 2
0
# 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']
Esempio n. 3
0
# 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()
Esempio n. 4
0
# 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)
Esempio n. 5
0
    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"
Esempio n. 7
0
    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))
Esempio n. 9
0
# 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