24.04.2017, 16:24
@PT Jб havia um pequeno trecho do tуpico dando um exemplo, porйm agora eu referкnciei uma matйria do DevMedia
@Adiiti isto й basicamente uma gambiarra, jб que o pawn nгo oferece suporte a um trace completo como este.
@Bruno13 para rodar o teste, haverб trкs items sendo eles:
Ele trata as simulaзхes indiretamente, algo como:
Apуs isto todas funзхes nativas como: getplayername, isplayerconnected, getplayerip, getplayerpos, retornam dados desse player fake.
Callbacks para ele eu aciono-as com AddPlayerEvent
Outros testes que nгo necessitam disto, eu uso um fork meu do y_test do ******
Talvez em algumas semanas, eu publique isto, para ajudar a board..
Sobre o erro 225 ele ocorre apenas csao isto aconteзa:
@Adiiti isto й basicamente uma gambiarra, jб que o pawn nгo oferece suporte a um trace completo como este.
@Bruno13 para rodar o teste, haverб trкs items sendo eles:
- Obrigatуrio
- prй-compilador
Serб escrito em go, pois usarб Template based pre-compile, para detectar coisas como: defined, endinput.
O prй-compilador irб fazer o seguinte:- inserir em cada linha vбlida uma funзгo para passar ao plugin que estб linha foi executada, ou talvez apenas antes e apуs condicionais, para melhorar o desempenho
- Inicializar o plugin(hook ongamemodeinit), com alguns dados como: numero max de linhas, linhas executadas na parte de compilaзгo(globais)
- plugin
Para melhorar o desempenho eu opto por um plugin para gerar o coverage, ele farб a funзгo de gerar um arquivo em um formato para ser lido pelo coverage.py, e uma funзaх para obter o report, durante o run time(calculo)
- prй-compilador
- Opcional
- coverage.py, lк o arquivo gerado pelo plugin e...
Ele trata as simulaзхes indiretamente, algo como:
PHP код:
AddFakePlayer(playerid, name[], ...)
Callbacks para ele eu aciono-as com AddPlayerEvent
Outros testes que nгo necessitam disto, eu uso um fork meu do y_test do ******
Talvez em algumas semanas, eu publique isto, para ajudar a board..
Sobre o erro 225 ele ocorre apenas csao isto aconteзa:
PHP код:
func()
{
return 1;
new a;
return a;
}