forked from ALHP/ALHP.GO
Switched to parsing srcinfo with channels on all available cpus, speeding up srcinfo-parsing and queue generation by a lot. New memory-limit based building will max out the available memory while not building the same packages at the same time for different marchs, fixing some long-standing bugs like firefox not building at the same time because the same ports are used for profile-based optimization. This also drops the artificial delay on build-start, speeding up things even more. This also means there is no hard-coded limit on how many packages can be build at once anymore. As long as there is RAM available, builds will be started.
85 lines
1.8 KiB
Go
85 lines
1.8 KiB
Go
// Code generated by ent, DO NOT EDIT.
|
|
|
|
package enttest
|
|
|
|
import (
|
|
"context"
|
|
|
|
"somegit.dev/ALHP/ALHP.GO/ent"
|
|
// required by schema hooks.
|
|
_ "somegit.dev/ALHP/ALHP.GO/ent/runtime"
|
|
|
|
"entgo.io/ent/dialect/sql/schema"
|
|
"somegit.dev/ALHP/ALHP.GO/ent/migrate"
|
|
)
|
|
|
|
type (
|
|
// TestingT is the interface that is shared between
|
|
// testing.T and testing.B and used by enttest.
|
|
TestingT interface {
|
|
FailNow()
|
|
Error(...any)
|
|
}
|
|
|
|
// Option configures client creation.
|
|
Option func(*options)
|
|
|
|
options struct {
|
|
opts []ent.Option
|
|
migrateOpts []schema.MigrateOption
|
|
}
|
|
)
|
|
|
|
// WithOptions forwards options to client creation.
|
|
func WithOptions(opts ...ent.Option) Option {
|
|
return func(o *options) {
|
|
o.opts = append(o.opts, opts...)
|
|
}
|
|
}
|
|
|
|
// WithMigrateOptions forwards options to auto migration.
|
|
func WithMigrateOptions(opts ...schema.MigrateOption) Option {
|
|
return func(o *options) {
|
|
o.migrateOpts = append(o.migrateOpts, opts...)
|
|
}
|
|
}
|
|
|
|
func newOptions(opts []Option) *options {
|
|
o := &options{}
|
|
for _, opt := range opts {
|
|
opt(o)
|
|
}
|
|
return o
|
|
}
|
|
|
|
// Open calls ent.Open and auto-run migration.
|
|
func Open(t TestingT, driverName, dataSourceName string, opts ...Option) *ent.Client {
|
|
o := newOptions(opts)
|
|
c, err := ent.Open(driverName, dataSourceName, o.opts...)
|
|
if err != nil {
|
|
t.Error(err)
|
|
t.FailNow()
|
|
}
|
|
migrateSchema(t, c, o)
|
|
return c
|
|
}
|
|
|
|
// NewClient calls ent.NewClient and auto-run migration.
|
|
func NewClient(t TestingT, opts ...Option) *ent.Client {
|
|
o := newOptions(opts)
|
|
c := ent.NewClient(o.opts...)
|
|
migrateSchema(t, c, o)
|
|
return c
|
|
}
|
|
func migrateSchema(t TestingT, c *ent.Client, o *options) {
|
|
tables, err := schema.CopyTables(migrate.Tables)
|
|
if err != nil {
|
|
t.Error(err)
|
|
t.FailNow()
|
|
}
|
|
if err := migrate.Create(context.Background(), c.Schema, tables, o.migrateOpts...); err != nil {
|
|
t.Error(err)
|
|
t.FailNow()
|
|
}
|
|
}
|