outs = strings.TrimSpace(outs)
if s.expected != "" && s.expected != outs {
t.Fatalf("failed %s: wanted %q\noutput:\n%s",
- s.mode, s.expected, outs)
+ s.mode, s.expected, outs)
}
for _, need := range s.musthave {
if !strings.Contains(outs, need) {
t.Fatalf("failed mode %s: output does not contain %q\noutput:\n%s",
- s.mode, need, outs)
+ s.mode, need, outs)
}
}
if s.expected == "" && s.musthave == nil && outs != "" {
// resources in minit, semacreate, or elsewhere. Do not take locks after calling this.
//
// This always runs without a P, so //go:nowritebarrierrec is required.
+//
//go:nowritebarrierrec
func mdestroy(mp *m) {
}
// resources in minit, semacreate, or elsewhere. Do not take locks after calling this.
//
// This always runs without a P, so //go:nowritebarrierrec is required.
+//
//go:nowritebarrierrec
func mdestroy(mp *m) {
}
// resources in minit, semacreate, or elsewhere. Do not take locks after calling this.
//
// This always runs without a P, so //go:nowritebarrierrec is required.
+//
//go:nowritebarrierrec
func mdestroy(mp *m) {
}
// resources in minit, semacreate, or elsewhere. Do not take locks after calling this.
//
// This always runs without a P, so //go:nowritebarrierrec is required.
+//
//go:nowritebarrierrec
func mdestroy(mp *m) {
}
// resources in minit, semacreate, or elsewhere. Do not take locks after calling this.
//
// This always runs without a P, so //go:nowritebarrierrec is required.
+//
//go:nowritebarrierrec
func mdestroy(mp *m) {
}
// resources in minit, semacreate, or elsewhere. Do not take locks after calling this.
//
// This always runs without a P, so //go:nowritebarrierrec is required.
+//
//go:nowritebarrierrec
func mdestroy(mp *m) {
}
// resources in minit, semacreate, or elsewhere. Do not take locks after calling this.
//
// This always runs without a P, so //go:nowritebarrierrec is required.
+//
//go:nowritebarrierrec
func mdestroy(mp *m) {
}
// resources in minit, semacreate, or elsewhere. Do not take locks after calling this.
//
// This always runs without a P, so //go:nowritebarrierrec is required.
+//
//go:nowritebarrierrec
//go:nosplit
func mdestroy(mp *m) {