PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/tests/vm

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
vm
Namespace
tests
Files
14 (README)(gnomod.toml)
Exported functions
29
Module
gno.land/r/tests/vm
gno
0.9

Files (14)

  • README.mdmarkdown
  • gnomod.tomltoml
  • exploit.gnogno
  • interfaces.gnogno
  • realm_compositelit.gnogno
  • realm_method38d.gnogno
  • tests.gnogno
  • nestedpkg_test.gnogno
  • tests_test.gnogno
  • z0_filetest.gnogno
  • z1_filetest.gnogno
  • z2_filetest.gnogno
  • z3_filetest.gnogno
  • z4_filetest.gnogno
  • tests_test.gnogno
    1package vm_test23import (4	"chain"5	"fmt"6	"testing"78	"gno.land/p/nt/testutils/v0"9	tests "gno.land/r/tests/vm"10)1112func TestAssertOriginCall(cur realm, t *testing.T) {13	// CallAssertOriginCall(): no panic14	caller := testutils.TestAddress("caller")15	testing.SetRealm(testing.NewUserRealm(caller))16	tests.CallAssertOriginCall(cross(cur))17	if !tests.CallIsOriginCall(cross(cur)) {18		t.Errorf("expected IsOriginCall=true but got false")19	}2021	testing.SetRealm(testing.NewCodeRealm("gno.land/r/tests/vm"))22	// CallAssertOriginCall() from a block: abort23	r := revive(func() {24		// if called inside a function literal, this is no longer an origin call25		// because there's one additional frame (the function literal block).26		if tests.CallIsOriginCall(cross(cur)) {27			t.Errorf("expected IsOriginCall=false but got true")28		}29		tests.CallAssertOriginCall(cross(cur)) // <---30	})31	if fmt.Sprintf("%v", r) != "invalid non-origin call" {32		t.Error("expected abort but did not")33	}34	// CallSubtestsAssertOriginCall(): abort35	r = revive(func() {36		// if called inside a function literal, this is no longer an origin call37		// because there's one additional frame (the function literal block).38		if tests.CallSubtestsIsOriginCall(cross(cur)) {39			t.Errorf("expected IsOriginCall=false but got true")40		}41		tests.CallSubtestsAssertOriginCall(cross(cur))42	})43	if fmt.Sprintf("%v", r) != "invalid non-origin call" {44		t.Error("expected abort but did not")45	}46}4748func TestPreviousRealm(cur realm, t *testing.T) {49	var (50		firstRealm = chain.PackageAddress("gno.land/r/tests/vm_test")51		rTestsAddr = chain.PackageAddress("gno.land/r/tests/vm")52	)53	// When only one realm in the frames, PreviousRealm returns the same realm54	if addr := tests.GetPreviousRealm(cross(cur)).Address(); addr != firstRealm {55		println(tests.GetPreviousRealm(cross(cur)))56		t.Errorf("want GetPreviousRealm().Address==%s, got %s", firstRealm, addr)57	}58	// When 2 or more realms in the frames, PreviousRealm returns the second to last59	if addr := tests.GetRSubtestsPreviousRealm(cross(cur)).Address(); addr != rTestsAddr {60		t.Errorf("want GetRSubtestsPreviousRealm().Address==%s, got %s", rTestsAddr, addr)61	}62}63

    Functions

    • AbsAdd(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) []gno.land/r/tests/vm.Word

    • AddStringer(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, str interface {String func() string})

    • BankerOriginSend(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) string

    • CallAssertOriginCall(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string})

    • CallIsOriginCall(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) bool

    • CallSubtestsAssertOriginCall(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string})

    • CallSubtestsIsOriginCall(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) bool

    • Counter(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) int

    • CurrentRealmPath(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) string

    • Exec(fn func())

    • ExecRlm(int, rlm interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, fn func(int, .uverse.realm))

    • ExecSwitch(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, fn func())

    • ExecSwitchRlm(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, fn func(int, .uverse.realm))

    • GetAbs(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) []gno.land/r/tests/vm.Word

    • GetPreviousRealm(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) struct{addr .uverse.address; pkgPath string}

    • GetRSubtestsPreviousRealm(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) struct{addr .uverse.address; pkgPath string}

    • GetZeroType() []gno.land/r/tests/vm.Word

    • HasCallerSameNamespace(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) bool

    • IncCounter(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string})

    • InitOriginCaller(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) string

    • InitTestNodes(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string})

    • IsCallerParentPath(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) bool

    • IsCallerSubPath(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) bool

    • ModifyTestRealmObject(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, t *gno.land/r/tests/vm.TestRealmObject)

    • ModTestNodes(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string})

    • NewTestRealmObject() *gno.land/r/tests/vm.TestRealmObject

    • PrintTestNodes()

    • Render(path string) string

    • RTestsOriginSend(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) string

    Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

    Rendered

    RenderedRawgnoweb ↗
    This realm renders empty output for its default route.

    vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.