Server IP : 2a02:4780:11:1359:0:1d43:a566:2 / Your IP : 216.73.216.161 Web Server : LiteSpeed System : Linux in-mum-web1259.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64 User : u490972518 ( 490972518) PHP Version : 5.6.40 Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF Directory (0755) : /home/../opt/golang/1.22.0/src/runtime/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
// Copyright 2020 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package runtime_test import ( "strings" "testing" ) // Test that panics print out the underlying value // when the underlying kind is directly printable. // Issue: https://golang.org/issues/37531 func TestPanicWithDirectlyPrintableCustomTypes(t *testing.T) { tests := []struct { name string wantPanicPrefix string }{ {"panicCustomBool", `panic: main.MyBool(true)`}, {"panicCustomComplex128", `panic: main.MyComplex128(+3.210000e+001+1.000000e+001i)`}, {"panicCustomComplex64", `panic: main.MyComplex64(+1.100000e-001+3.000000e+000i)`}, {"panicCustomFloat32", `panic: main.MyFloat32(-9.370000e+001)`}, {"panicCustomFloat64", `panic: main.MyFloat64(-9.370000e+001)`}, {"panicCustomInt", `panic: main.MyInt(93)`}, {"panicCustomInt8", `panic: main.MyInt8(93)`}, {"panicCustomInt16", `panic: main.MyInt16(93)`}, {"panicCustomInt32", `panic: main.MyInt32(93)`}, {"panicCustomInt64", `panic: main.MyInt64(93)`}, {"panicCustomString", `panic: main.MyString("Panic")`}, {"panicCustomUint", `panic: main.MyUint(93)`}, {"panicCustomUint8", `panic: main.MyUint8(93)`}, {"panicCustomUint16", `panic: main.MyUint16(93)`}, {"panicCustomUint32", `panic: main.MyUint32(93)`}, {"panicCustomUint64", `panic: main.MyUint64(93)`}, {"panicCustomUintptr", `panic: main.MyUintptr(93)`}, } for _, tt := range tests { t := t t.Run(tt.name, func(t *testing.T) { output := runTestProg(t, "testprog", tt.name) if !strings.HasPrefix(output, tt.wantPanicPrefix) { t.Fatalf("%q\nis not present in\n%s", tt.wantPanicPrefix, output) } }) } }