SlideShare a Scribd company logo
1 of 23
Download to read offline
PHPT
PHPMS Conf 2012
IVAN ROSOLEN
    @ivanrosolen



                       Co-fundador do PHPSP

                      Desenvolvedor 10+ anos

               Equipe de inovação da ARIZONA



 http://about.me/ivanrosolen
PHPT
• Apenas um teste por aquivo .phpt

• Testes executados em processos separados

• Diferentes configurações do PHP para cada teste
Nomenclatura
• Bugs - bug<id>.phpt

• Extensões - <nomedaextensao><numero>.phpt

• Funções
  Comportamento básico - <nomedafuncao>_basic.phpt
  Erro - <nomedafuncao>_error.phpt
  Variações - <nomedafuncao>_variation.phpt
Seções Obrigatórias
              --TEST--
    Uma linha para descrever o teste

             --FILE--
    código PHP (isso mesmo PHP!)

            --EXPECT--
  Resultado esperado (acerto ou erro)
--TEST--
                              [--DESCRIPTION--]
                                 [--CREDITS--]
                                  [--SKIPIF--]
                                [--REQUEST--]
[--POST-- | --PUT-- | --POST_RAW-- | --GZIP_POST-- | --DEFLATE_POST-- | --GET--]
                                 [--COOKIE--]
                                  [--STDIN--]
                                    [--INI--]
                                  [--ARGS--]
                                   [--ENV--]
        --FILE-- | --FILEEOF-- | --FILE_EXTERNAL-- | --REDIRECTTEST--
                                [--HEADERS--]
                                    [--CGI--]
                                  [--XFAIL--]
                            [--EXPECTHEADERS--]
                 --EXPECT-- | --EXPECTF-- | --EXPECTREGEX--
                                  [--CLEAN--]
--EXPECTF--
%s string        %i integer
%d number        %f floats
%c single char   %x hexadecimal
%w whitespace    %e directory sep.
Como Fazer
Baixar o source da versão do PHP desejada

tar -xvf php-5.4.5.tar.gz

./configure (com parâmetros necessários)
make

make test
Testando
 make test TESTS=diretorio/

 make test TESTS=diretorio/*.phpt

 make test TESTS=diretorio/nome.phpt


Teoricamente .zip do PHP win roda os testes com o php.exe

nmake test
Exemplos
--TEST--
Xuplau
--FILE--
<?php echo 'Xuplau’; ?>
--EXPECT--
Xuplau
--TEST--
Xuplau Error
--FILE--
<?php echo 'Xuplau
--EXPECTF--
Parse error: syntax error, unexpected '%s' (T_ENCAPSED_AND_WHITESPACE) in %s.php on line %d
--TEST--
Xuplau Error
--FILE--
<?php echo 'Xuplau
--EXPECTREGEX--
Parse error: (syntax|parse) error, unexpected .* (T_ENCAPSED_AND_WHITESPACE) in .* on line d
--TEST--
Apagar TMP Files
--FILE--
<?php
$tmp = dirname(__FILE__) . '/foo.tmp';
$fp = fopen($tmp, 'w');
fwrite($fp, 'bar');
fclose($fp);
?>
--CLEAN--
<?php
$tmp = dirname(__FILE__) . '/foo.tmp';
unlink($tmp)
?>
--EXPECT--
--TEST--
Skipif teste!
--SKIPIF--
<?php
if ( substr(PHP_OS, 0, 3 ) != 'WIN') die('Teste apenas para Unix');
?>
--FILE--
--EXPECT--
--TEST--
Testing imagerectangle() of GD library
--CREDITS--
Ivan Rosolen <contato [at] ivanrosolen [dot] com>
#testfest PHPSP on 2009-06-30
--SKIPIF--
<?php
if ( ! extension_loaded('gd') ) die( 'skip GD not present; skipping test' );
?>
--FILE--
<?php
// Create a image
$image = imagecreatetruecolor( 100, 100 );

// Draw a rectangle
imagerectangle( $image, 0, 0, 50, 50, imagecolorallocate($image, 255, 255, 255) );

ob_start();
imagepng( $image, null, 9 );
$img = ob_get_contents();
ob_end_clean();

echo md5(base64_encode($img));

?>
--EXPECT--
282aaecfdd50091821d63093d9bb1bb9
--TEST--
Testing wrong param passing imagefilledellipse() of GD library
--CREDITS--
Ivan Rosolen <contato [at] ivanrosolen [dot] com>
#phpsptestfest PHPSP on 2010-05-29
--SKIPIF--
<?php
if (!extension_loaded("gd")) die("skip GD not present");
?>
--FILE--
<?php

// Create a image
$image = imagecreatetruecolor(400, 300);

// choose a color for the ellipse
$ellipse = imagecolorallocate($image, 255, 255, 255);

// draw the white ellipse
imagefilledellipse( 'wrong param', 200, 150, 300, 200, $ellipse);

?>
--EXPECTF--
Warning: imagefilledellipse() expects parameter 1 to be resource, %s given in %s on line %d
Deu erro!
               *.exp
               *.log


*.diff         *.out
               *.php
               *.phpt
               *.sh
Que Teste eu Faço?

   http://gcov.php.net
PHPT +
• Suas extensões
• Seus Projetos
  https://github.com/vrana/notorm
Enviando Testes
• Clonar git
   https://github.com/php/php-src

• Pull Request
• Avisar na lista do QA
  Quality Assurance list - php-qa@lists.php.net
Links
http://gcov.php.net

http://qa.php.net/write-test.php

http://php.net/mailing-lists.php

Para Windows ( não testei muito ainda )

https://wiki.php.net/qa/testfest-2010/windows-test-environment

http://pastebin.com/CxFtXUwS

http://pastebin.com/PPBr05kQ
Dúvidas?

More Related Content

What's hot

Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECLW3P Projetos Web
 
FORMATO DEL EJERCICIO Y DESTINO DE GASTO FEDERALIZADO Y REINTEGROS
FORMATO DEL EJERCICIO Y DESTINO DE GASTO FEDERALIZADO Y REINTEGROSFORMATO DEL EJERCICIO Y DESTINO DE GASTO FEDERALIZADO Y REINTEGROS
FORMATO DEL EJERCICIO Y DESTINO DE GASTO FEDERALIZADO Y REINTEGROSERIKA COVA
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Fabrízio Mello
 
Php Test Fest PHPMS, Maio 2008
Php Test Fest PHPMS, Maio 2008Php Test Fest PHPMS, Maio 2008
Php Test Fest PHPMS, Maio 2008zehzinho
 
Apache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxApache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxVictor Eloy
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidademetzen
 
Aula 10 - Trabalhando com Templates - Programação Web
Aula 10  - Trabalhando com Templates - Programação WebAula 10  - Trabalhando com Templates - Programação Web
Aula 10 - Trabalhando com Templates - Programação WebDalton Martins
 
Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação WebDalton Martins
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 

What's hot (20)

Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
FORMATO DEL EJERCICIO Y DESTINO DE GASTO FEDERALIZADO Y REINTEGROS
FORMATO DEL EJERCICIO Y DESTINO DE GASTO FEDERALIZADO Y REINTEGROSFORMATO DEL EJERCICIO Y DESTINO DE GASTO FEDERALIZADO Y REINTEGROS
FORMATO DEL EJERCICIO Y DESTINO DE GASTO FEDERALIZADO Y REINTEGROS
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010
 
Php Test Fest PHPMS, Maio 2008
Php Test Fest PHPMS, Maio 2008Php Test Fest PHPMS, Maio 2008
Php Test Fest PHPMS, Maio 2008
 
Aula 2
Aula 2Aula 2
Aula 2
 
PostgreSQL 8.4
PostgreSQL 8.4PostgreSQL 8.4
PostgreSQL 8.4
 
JasperReports
JasperReportsJasperReports
JasperReports
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Apache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxApache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no Linux
 
Brasiliatestfest
BrasiliatestfestBrasiliatestfest
Brasiliatestfest
 
Aula5
Aula5Aula5
Aula5
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Aula 10 - Trabalhando com Templates - Programação Web
Aula 10  - Trabalhando com Templates - Programação WebAula 10  - Trabalhando com Templates - Programação Web
Aula 10 - Trabalhando com Templates - Programação Web
 
PHP e Mysql - DELETE
PHP e Mysql - DELETEPHP e Mysql - DELETE
PHP e Mysql - DELETE
 
Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação Web
 
Api usando Silex
Api usando SilexApi usando Silex
Api usando Silex
 
Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 

Similar to PHPT

PHPSP TestFest 2009
PHPSP TestFest 2009PHPSP TestFest 2009
PHPSP TestFest 2009Rafael Dohms
 
Memcached, Gearman e Sphinx
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e SphinxElton Minetto
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
Zabbix monitorando o zimbra collaboration 8.8 (1)
Zabbix   monitorando o zimbra collaboration 8.8 (1)Zabbix   monitorando o zimbra collaboration 8.8 (1)
Zabbix monitorando o zimbra collaboration 8.8 (1)PAULO R. DEOLINDO JUNIOR
 
LabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurançaLabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurançaCarlos Santos
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010Rafael Dohms
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
 
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...Tchelinux
 
5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHPAugusto das Neves
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLErick Belluci Tedeschi
 

Similar to PHPT (20)

PHPSP TestFest 2009
PHPSP TestFest 2009PHPSP TestFest 2009
PHPSP TestFest 2009
 
Memcached, Gearman e Sphinx
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e Sphinx
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
Hello SAFE World!!!
Hello SAFE World!!!Hello SAFE World!!!
Hello SAFE World!!!
 
PHP MySQL Aula 07
PHP MySQL Aula 07PHP MySQL Aula 07
PHP MySQL Aula 07
 
Zabbix monitorando o zimbra collaboration 8.8 (1)
Zabbix   monitorando o zimbra collaboration 8.8 (1)Zabbix   monitorando o zimbra collaboration 8.8 (1)
Zabbix monitorando o zimbra collaboration 8.8 (1)
 
Sapo Sessions PHP
Sapo Sessions PHPSapo Sessions PHP
Sapo Sessions PHP
 
LabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurançaLabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurança
 
Dev Ext PHP
Dev Ext PHPDev Ext PHP
Dev Ext PHP
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensão
 
Php FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHPPhp FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHP
 
Desenvolvimento de Extensões PECL
Desenvolvimento de Extensões PECLDesenvolvimento de Extensões PECL
Desenvolvimento de Extensões PECL
 
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
 
Zephir
ZephirZephir
Zephir
 
5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP
 
Java 9, 10 e ... 11
Java 9, 10 e ... 11Java 9, 10 e ... 11
Java 9, 10 e ... 11
 
Python cherrypy
Python cherrypyPython cherrypy
Python cherrypy
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
 

More from Ivan Rosolen

15 mandamentos de um bom programador
15 mandamentos de um bom programador15 mandamentos de um bom programador
15 mandamentos de um bom programadorIvan Rosolen
 
Utilizando Filas com PHP
Utilizando Filas com PHPUtilizando Filas com PHP
Utilizando Filas com PHPIvan Rosolen
 
Boas Práticas com PHP
Boas Práticas com PHPBoas Práticas com PHP
Boas Práticas com PHPIvan Rosolen
 
Mercado de Tecnologia
Mercado de TecnologiaMercado de Tecnologia
Mercado de TecnologiaIvan Rosolen
 
Deploy automatizado de Aplicações no Jelastic
Deploy automatizado de Aplicações no JelasticDeploy automatizado de Aplicações no Jelastic
Deploy automatizado de Aplicações no JelasticIvan Rosolen
 
Autenticação com Json Web Token (JWT)
Autenticação com Json Web Token (JWT)Autenticação com Json Web Token (JWT)
Autenticação com Json Web Token (JWT)Ivan Rosolen
 
Tecnologias e Inovação
Tecnologias e InovaçãoTecnologias e Inovação
Tecnologias e InovaçãoIvan Rosolen
 
Cassandra 7 masters
Cassandra 7 mastersCassandra 7 masters
Cassandra 7 mastersIvan Rosolen
 
Quando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucessoQuando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucessoIvan Rosolen
 
Case: PHP como Base de Digital Asset Management – arizona.flow
Case: PHP como Base de Digital Asset Management – arizona.flowCase: PHP como Base de Digital Asset Management – arizona.flow
Case: PHP como Base de Digital Asset Management – arizona.flowIvan Rosolen
 
Criando APIs usando o micro-framework Respect
Criando APIs usando o micro-framework RespectCriando APIs usando o micro-framework Respect
Criando APIs usando o micro-framework RespectIvan Rosolen
 
CakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoCakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoIvan Rosolen
 

More from Ivan Rosolen (18)

15 mandamentos de um bom programador
15 mandamentos de um bom programador15 mandamentos de um bom programador
15 mandamentos de um bom programador
 
Utilizando Filas com PHP
Utilizando Filas com PHPUtilizando Filas com PHP
Utilizando Filas com PHP
 
Filas com php
Filas com phpFilas com php
Filas com php
 
Boas Práticas com PHP
Boas Práticas com PHPBoas Práticas com PHP
Boas Práticas com PHP
 
Mercado de Tecnologia
Mercado de TecnologiaMercado de Tecnologia
Mercado de Tecnologia
 
Deploy automatizado de Aplicações no Jelastic
Deploy automatizado de Aplicações no JelasticDeploy automatizado de Aplicações no Jelastic
Deploy automatizado de Aplicações no Jelastic
 
Autenticação com Json Web Token (JWT)
Autenticação com Json Web Token (JWT)Autenticação com Json Web Token (JWT)
Autenticação com Json Web Token (JWT)
 
JSON Web Tokens
JSON Web TokensJSON Web Tokens
JSON Web Tokens
 
Tecnologias e Inovação
Tecnologias e InovaçãoTecnologias e Inovação
Tecnologias e Inovação
 
Rest Beer v2
Rest Beer v2Rest Beer v2
Rest Beer v2
 
Jelastic
JelasticJelastic
Jelastic
 
Aws video creator
Aws video creatorAws video creator
Aws video creator
 
Cassandra 7 masters
Cassandra 7 mastersCassandra 7 masters
Cassandra 7 masters
 
Quando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucessoQuando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucesso
 
Case: PHP como Base de Digital Asset Management – arizona.flow
Case: PHP como Base de Digital Asset Management – arizona.flowCase: PHP como Base de Digital Asset Management – arizona.flow
Case: PHP como Base de Digital Asset Management – arizona.flow
 
Php e Cassandra
Php e Cassandra Php e Cassandra
Php e Cassandra
 
Criando APIs usando o micro-framework Respect
Criando APIs usando o micro-framework RespectCriando APIs usando o micro-framework Respect
Criando APIs usando o micro-framework Respect
 
CakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoCakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápido
 

PHPT

  • 2. IVAN ROSOLEN @ivanrosolen Co-fundador do PHPSP Desenvolvedor 10+ anos Equipe de inovação da ARIZONA http://about.me/ivanrosolen
  • 3. PHPT • Apenas um teste por aquivo .phpt • Testes executados em processos separados • Diferentes configurações do PHP para cada teste
  • 4. Nomenclatura • Bugs - bug<id>.phpt • Extensões - <nomedaextensao><numero>.phpt • Funções Comportamento básico - <nomedafuncao>_basic.phpt Erro - <nomedafuncao>_error.phpt Variações - <nomedafuncao>_variation.phpt
  • 5. Seções Obrigatórias --TEST-- Uma linha para descrever o teste --FILE-- código PHP (isso mesmo PHP!) --EXPECT-- Resultado esperado (acerto ou erro)
  • 6. --TEST-- [--DESCRIPTION--] [--CREDITS--] [--SKIPIF--] [--REQUEST--] [--POST-- | --PUT-- | --POST_RAW-- | --GZIP_POST-- | --DEFLATE_POST-- | --GET--] [--COOKIE--] [--STDIN--] [--INI--] [--ARGS--] [--ENV--] --FILE-- | --FILEEOF-- | --FILE_EXTERNAL-- | --REDIRECTTEST-- [--HEADERS--] [--CGI--] [--XFAIL--] [--EXPECTHEADERS--] --EXPECT-- | --EXPECTF-- | --EXPECTREGEX-- [--CLEAN--]
  • 7. --EXPECTF-- %s string %i integer %d number %f floats %c single char %x hexadecimal %w whitespace %e directory sep.
  • 8. Como Fazer Baixar o source da versão do PHP desejada tar -xvf php-5.4.5.tar.gz ./configure (com parâmetros necessários) make make test
  • 9. Testando make test TESTS=diretorio/ make test TESTS=diretorio/*.phpt make test TESTS=diretorio/nome.phpt Teoricamente .zip do PHP win roda os testes com o php.exe nmake test
  • 12. --TEST-- Xuplau Error --FILE-- <?php echo 'Xuplau --EXPECTF-- Parse error: syntax error, unexpected '%s' (T_ENCAPSED_AND_WHITESPACE) in %s.php on line %d
  • 13. --TEST-- Xuplau Error --FILE-- <?php echo 'Xuplau --EXPECTREGEX-- Parse error: (syntax|parse) error, unexpected .* (T_ENCAPSED_AND_WHITESPACE) in .* on line d
  • 14. --TEST-- Apagar TMP Files --FILE-- <?php $tmp = dirname(__FILE__) . '/foo.tmp'; $fp = fopen($tmp, 'w'); fwrite($fp, 'bar'); fclose($fp); ?> --CLEAN-- <?php $tmp = dirname(__FILE__) . '/foo.tmp'; unlink($tmp) ?> --EXPECT--
  • 15. --TEST-- Skipif teste! --SKIPIF-- <?php if ( substr(PHP_OS, 0, 3 ) != 'WIN') die('Teste apenas para Unix'); ?> --FILE-- --EXPECT--
  • 16. --TEST-- Testing imagerectangle() of GD library --CREDITS-- Ivan Rosolen <contato [at] ivanrosolen [dot] com> #testfest PHPSP on 2009-06-30 --SKIPIF-- <?php if ( ! extension_loaded('gd') ) die( 'skip GD not present; skipping test' ); ?> --FILE-- <?php // Create a image $image = imagecreatetruecolor( 100, 100 ); // Draw a rectangle imagerectangle( $image, 0, 0, 50, 50, imagecolorallocate($image, 255, 255, 255) ); ob_start(); imagepng( $image, null, 9 ); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- 282aaecfdd50091821d63093d9bb1bb9
  • 17. --TEST-- Testing wrong param passing imagefilledellipse() of GD library --CREDITS-- Ivan Rosolen <contato [at] ivanrosolen [dot] com> #phpsptestfest PHPSP on 2010-05-29 --SKIPIF-- <?php if (!extension_loaded("gd")) die("skip GD not present"); ?> --FILE-- <?php // Create a image $image = imagecreatetruecolor(400, 300); // choose a color for the ellipse $ellipse = imagecolorallocate($image, 255, 255, 255); // draw the white ellipse imagefilledellipse( 'wrong param', 200, 150, 300, 200, $ellipse); ?> --EXPECTF-- Warning: imagefilledellipse() expects parameter 1 to be resource, %s given in %s on line %d
  • 18. Deu erro! *.exp *.log *.diff *.out *.php *.phpt *.sh
  • 19. Que Teste eu Faço? http://gcov.php.net
  • 20. PHPT + • Suas extensões • Seus Projetos https://github.com/vrana/notorm
  • 21. Enviando Testes • Clonar git https://github.com/php/php-src • Pull Request • Avisar na lista do QA Quality Assurance list - php-qa@lists.php.net
  • 22. Links http://gcov.php.net http://qa.php.net/write-test.php http://php.net/mailing-lists.php Para Windows ( não testei muito ainda ) https://wiki.php.net/qa/testfest-2010/windows-test-environment http://pastebin.com/CxFtXUwS http://pastebin.com/PPBr05kQ

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n