yuki-kimoto / SPVM

SPVM Language
https://metacpan.org/pod/SPVM
MIT License
60 stars 14 forks source link

Cannot know caller when a class is loaded from a Perl script. #518

Closed yuki-kimoto closed 2 months ago

yuki-kimoto commented 2 months ago

Cannot know caller when a class is loaded from a Perl script.

[CompileError]Failed to load the "TestCase::IO::Socket" module. The class file "TestCase/IO/Socket.spvm" is not found in (/home/kimoto/labo/modules/SPVM-IO/xt/lib/SPVM /home/kimoto/labo/modules/SPVM-IO/blib/arch/SPVM /home/kimoto/labo/modules/SPVM-IO/blib/lib/SPVM /home/kimoto/perl5/perlbrew/perls/perl-5.36.0/lib/site_perl/5.36.0/x86_64-linux/SPVM /home/kimoto/perl5/perlbrew/perls/perl-5.36.0/lib/site_perl/5.36.0/SPVM /home/kimoto/perl5/perlbrew/perls/perl-5.36.0/lib/5.36.0/x86_64-linux/SPVM /home/kimoto/perl5/perlbrew/perls/perl-5.36.0/lib/5.36.0/SPVM).
  at /home/kimoto/perl5/perlbrew/perls/perl-5.36.0/lib/site_perl/5.36.0/x86_64-linux/SPVM/Global.pm line 55

A Perl script

use Test::More;

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/lib";

BEGIN { $ENV{SPVM_BUILD_DIR} = "$FindBin::Bin/.spvm_build" };

use SPVM 'TestCase::IO::Socket';

# Start objects count
my $start_memory_blocks_count = SPVM::api->get_memory_blocks_count();

# Socket
{
  ok(SPVM::TestCase::IO::Socket->basic);
  ok(SPVM::TestCase::IO::Socket->basic_interface);
  ok(SPVM::TestCase::IO::Socket->basic_auto_close);
  ok(SPVM::TestCase::IO::Socket->fileno);
  ok(SPVM::TestCase::IO::Socket->inet);
  ok(SPVM::TestCase::IO::Socket->blocking);
  ok(SPVM::TestCase::IO::Socket->goroutine);
}

# All object is freed
my $end_memory_blocks_count = SPVM::api->get_memory_blocks_count();
is($end_memory_blocks_count, $start_memory_blocks_count);

done_testing;
yuki-kimoto commented 2 months ago

Fixed.