summaryrefslogtreecommitdiff
path: root/isotests/models.py
diff options
context:
space:
mode:
authorTom Willemsen <tom.willemsen@archlinux.us>2011-03-01 18:47:03 +0100
committerDan McGee <dan@archlinux.org>2011-04-28 13:15:54 -0500
commit1547c7c49a1852852ffbac0737d0ffdf54addda9 (patch)
tree57870efa44b40ffa37e40dd90fa35d96c9b04038 /isotests/models.py
parente6717510a0a7976fca1ccd3e5aaf1a16123a1ad4 (diff)
isotests: entry and listing of release engineering tests
Add a new project for entry and listing of testing results for our release ISOs. This will assist the release engineering team with determining a good ISO to make into the real deal. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'isotests/models.py')
-rw-r--r--isotests/models.py87
1 files changed, 87 insertions, 0 deletions
diff --git a/isotests/models.py b/isotests/models.py
new file mode 100644
index 00000000..1eaca163
--- /dev/null
+++ b/isotests/models.py
@@ -0,0 +1,87 @@
+from django.db import models
+
+# Create your models here.
+class Iso(models.Model):
+ date = models.DateField()
+
+ def __unicode__(self):
+ return str(self.date)
+
+class Hardware(models.Model):
+ name = models.CharField(max_length=200)
+
+ def __unicode__(self):
+ return self.name
+
+class InstallType(models.Model):
+ name = models.CharField(max_length=200)
+
+ def __unicode__(self):
+ return self.name
+
+class Source(models.Model):
+ name = models.CharField(max_length=200)
+
+ def __unicode__(self):
+ return self.name
+
+class Filesystem(models.Model):
+ name = models.CharField(max_length=200)
+
+ def __unicode__(self):
+ return self.name
+
+class Module(models.Model):
+ name = models.CharField(max_length=200)
+
+ def __unicode__(self):
+ return self.name
+
+class Bootloader(models.Model):
+ name = models.CharField(max_length=200)
+
+ def __unicode__(self):
+ return self.name
+
+class Test(models.Model):
+ ARCH_CHOICES = (
+ ('d86', 'dual, option i686'),
+ ('d64', 'dual, option x86_64'),
+ ('x86', 'i686'),
+ ('x64', 'x86_64')
+ )
+
+ ISOTYPE_CHOICES = (
+ ('c', 'core'),
+ ('n', 'net')
+ )
+
+ BOOTTYPE_CHOICES = (
+ ('o', 'optical'),
+ ('u', 'usb'),
+ ('p', 'pxe')
+ )
+
+ CLOCK_CHOICES = (
+ ('d', 'default'),
+ ('m', 'configured manually'),
+ ('n', 'NTP')
+ )
+
+ user_name = models.CharField(max_length=500)
+ user_email = models.EmailField()
+ iso = models.ForeignKey(Iso)
+ arch = models.CharField(max_length=3, choices=ARCH_CHOICES)
+ isotype = models.CharField(max_length=1, choices=ISOTYPE_CHOICES)
+ boottype = models.CharField(max_length=1, choices=BOOTTYPE_CHOICES)
+ hardwaretype = models.ForeignKey(Hardware)
+ installtype = models.ForeignKey(InstallType)
+ source = models.ForeignKey(Source)
+ clock = models.CharField(max_length=1, choices=CLOCK_CHOICES)
+ filesystem = models.ForeignKey(Filesystem)
+ ms = models.ManyToManyField(Module)
+ rollback = models.BooleanField()
+ rollback_filesystem = models.ForeignKey(Filesystem, related_name="rollback_test")
+ rollback_modules = models.ManyToManyField(Module, related_name="rollback_test")
+ success = models.BooleanField()
+ comments = models.TextField()