[pypy-svn] r44869 - in pypy/extradoc/talk/ep2007: howtoeu pytest

hpk at codespeak.net hpk at codespeak.net
Mon Jul 9 12:22:27 CEST 2007


Author: hpk
Date: Mon Jul  9 12:22:26 2007
New Revision: 44869

Added:
   pypy/extradoc/talk/ep2007/howtoeu/
   pypy/extradoc/talk/ep2007/howtoeu/howtoeu.txt
   pypy/extradoc/talk/ep2007/howtoeu/ui   (contents, props changed)
   pypy/extradoc/talk/ep2007/pytest/
   pypy/extradoc/talk/ep2007/pytest/pytest.txt
   pypy/extradoc/talk/ep2007/pytest/ui   (contents, props changed)
Log:
commit py test talk and howtoeu talk here
to make it more easily sharable. 



Added: pypy/extradoc/talk/ep2007/howtoeu/howtoeu.txt
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/ep2007/howtoeu/howtoeu.txt	Mon Jul  9 12:22:26 2007
@@ -0,0 +1,195 @@
+
+.. include:: <s5defs.txt>
+
+
+==================================================
+How to do an open source EU research project
+==================================================
+
+
+:authors: Lene Wagner, Holger Krekel (merlinux GmbH) 
+:event: 10.7.2007, EuroPython 2007, Vilnius 
+
+
+Intro 
+=================== 
+
+- have participated and contributed to the PyPy EU project 
+- experiences 
+- discuss *open source* research projects 
+  (cut out IPR issues more or less completely) 
+
+EU Framework Research Programme 
+====================================
+
+- IST = Information Society and Technology 
+- PyPy was a STREP 
+- FP7 spends some 20.000.000.000 Euro in 7 years 
+- regularly publishes Work Programmes and Topics 
+- puts out CALLS for Proposals 
+- we mainly try to discuss FP7 (a few changes from FP6) 
+
+Getting started 
+=====================
+
+- vision / idea? 
+- read Work programmes / CALL topics 
+- finding people to collaborate 
+- finding a set of organisations 
+- drafting a proposal ... 
+
+(Research) Objectives? 
+==============================
+
+- core research objective(s)
+  (state of the art & how the project aims beyond) 
+- core technical objectives? 
+- core other objectives? (methodological/social) 
+
+can you summarize it on one page? 
+
+The Proposal 
+===============
+
+- High level Objectives 
+- Impact on industry and society 
+- management structures
+- work plan in long form
+- detailed description of work packages 
+- budget
+
+Work Packages 
+=================== 
+
+- each has a specific objective 
+- Person Months allocated from Partners 
+- Lead Partner 
+- Deliverables (Reports, Releases, Papers) 
+
+consortium 
+============================
+
+- looking for interested parties 
+- consortium consists of organisations 
+- is collective entity towards EU 
+- requires co-ordinator/contact person for EU 
+- receives and distributes money
+
+
+applying to the EU 
+=========================
+
+- answer to CALLS within stated deadline 
+- co-ordinator registers project and proposal 
+- proposals gets reviewed by *independent* experts 
+- proposals receive points (PyPy had 26 out of 30) 
+- Invitation to "negotiation" 
+- Project duration?
+
+Negotiation 
+==============
+
+- discuss criticism of reviewers, change proposal 
+- Prepare paperwork (CPF = Contract Preparation Forms) 
+- sign CONTRACT with the European Union 
+
+Funding Schemes
+=====================
+
+XXX (lene) no more cost models, will check furthermore
+- Universities receive (basically) 100% funding 
+- Small/Medium Companies (SME) receive 75% funding of costs 
+- FCF = 20% Flat administrative overhead added to costs 
+- FC = actual indirect costs 
+
+
+Signing the contract? 
+========================
+
+
+Infrastructure 
+==================
+- ensure close collaboration of non co-located developers
+- ensure openness for external contributors
+- ensure consistency of codebase/project
+- PyPy: IRC, svn, mailing lists
+
+
+Management structures  
+============================
+
+- administrative team (preparing consortium decisions) 
+- Technical Board (discussing problems, deciding roadmap) 
+- developer body (everybody can participate) 
+- Consortium 
+
+XXX insert the graph from the EU talks that shows
+the overlap - seems important to me in the open
+source context to recommend close and overlapping
+structures 
+
+
+Meetings and Sprints 
+============================
+
+- sprints are the rhythm of the project 
+- plan for core and for newcomer-friendly sprints 
+- integrate a model for funding contributors! 
+
+
+Contractual and actual developments 
+=====================================
+- Contract implies a 'plan' for the development
+- Project may evolve into other directions
+- checkpoints for assessing the work package status 
+
+Planning for changes 
+===========================
+
+- be able to shift work among partners
+- if necessary: amend work plan, change the contract with the EU
+- but: don't touch the objectives!
+
+
+Reporting / Deliverables 
+============================
+
+- interim reviews each 18 months 
+- contractual and technical deliverable 
+- contractual deliverables 
+
+Recommendations 
+====================
+
+- sprint-driven model of development;
+- share some funding with upcoming contributors;
+- balance contractual with community interests 
+- consider changes to the contractual work plan if 
+  it fits the objectives better;
+- implement a transparent and flat communication and decision
+  culture, be ready to adjust roles and not stick to formal issues too much. 
+
+Roles and Responsbilities 
+============================
+
+- assign responsibilities to people 
+
+  - per aspect (administration, technical, research) 
+  - per work package
+
+- plan for changing responsibilities 
+
+Changes from FP6 to FP7 
+=============================
+
+- less collective financial responsibility? 
+- 75% funding for (small/medium) companies 
+- XXX
+
+
+What remains? 
+================================
+
+- build the project on a shared vision and shared interest
+- don't build it on money (too much) 
+

Added: pypy/extradoc/talk/ep2007/howtoeu/ui
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/ep2007/howtoeu/ui	Mon Jul  9 12:22:26 2007
@@ -0,0 +1 @@
+link ../ui
\ No newline at end of file

Added: pypy/extradoc/talk/ep2007/pytest/pytest.txt
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/ep2007/pytest/pytest.txt	Mon Jul  9 12:22:26 2007
@@ -0,0 +1,157 @@
+.. include:: <s5defs.txt>
+
+=================================================================
+py.test: towards interactive, distributed and rapid testing 
+=================================================================
+
+:authors: Holger Krekel, Maciej Fijalkowski (merlinux GmbH) 
+:event: 9.7.2007, EuroPython 2007, Vilnius 
+
+
+Intro 
+===================
+
+- py.test released 0.9 as part of py lib, feb 2007 
+- cross-project external testing tool 
+- many mature and experimental features 
+- minimal boilerplate approach 
+- developed partly for purposes of PyPy 
+- this talk will assess status and discuss future 
+
+recap features 
+======================
+
+- assertion via "assert", nice tracebacks 
+- automatic customizable collection of tests 
+- test state management (module,class,function) 
+- capture stdout/stderr per-test 
+- select tests by keyword 
+- generative tests, doctests, ReST-tests, ... 
+
+ad-hoc distribution of tests 
+===================================
+
+``py.test --dist`` sends tests to remote places
+or multiple processors
+
+- for each host: 
+
+  - setup (ssh) connection 
+  - sync local source code to remote place
+  - trigger running of (isolated) tests 
+
+ad-hoc distribution of tests (2)
+=====================================
+
+- synchronise source code "1 -> N" simultanously 
+- uses py.execnet: 
+
+   - can connect e.g. via SSH
+   - expects plain Python executable on remote side 
+   - no need to pre-install other software remotely 
+
+- generated AJAX application async displays test results 
+
+- demo
+
+cross-platform testing 
+=============================
+
+- test run on linux, test execution on windows 
+- uses py.execnet (same technique as "--dist")
+- works well with "--looponfailing" 
+
+status cross-platform/distributed testing
+==============================================
+
+- should basically work for any project 
+- gives full tracebacks, most options work 
+
+todo: 
+
+- make introspection/pdb work 
+- use ``screen`` for access to failed tests 
+- accellerate py.execnet setup 
+- more unification with other testing modes
+
+collect info about functions (apigen) 
+=============================================
+
+- collect function signatures (via settrace) 
+- track input values/types, stacktraces, return values 
+- web page with rich automatically produced information 
+- TODO: decoupling of collecting info and generating html 
+
+doctests 
+==============
+
+- basically work (automatically collected from text files) 
+- uses 2.5's doctest module 
+- needs more fine-grained integration 
+
+Unifying Test Reporting 
+=================================
+
+- py.test contains two approaches for processing test results: 
+
+  - "old style": reporting methods invoked on session object 
+  - "new style": generate reporting events -> Reporter object(s)
+
+next: 
+
+  - settle on reporting event architecture 
+  - refactor and document reporting events
+  - use Reporter object(s)
+
+py.test extensions (conftest)
+=================================
+
+- all conftest.py files are considered in traversed directories 
+- can extend/modify testing process in arbitrary ways 
+- however: 
+
+  - often requires too much knowledge of internal architecture 
+  - no convention for organising shared test support code 
+
+- ergo: introduce mechanism to share test support code / plugins 
+
+
+Platform support 
+======================
+
+- py lib works on linux, freebsd, windows and OSX 
+- works on python 2.3, 2.4, 2.5 
+- py lib provides doctest/optparse/... unified compat modules
+- todo: improve and automate packaging/installation 
+
+test networks
+==================
+
+- currently model for 1:1 process-to-process 
+- "A <-> B and B <-> C" connections do not imply "A <-> C" 
+- fix that! 
+- then: manage (large) network of test hosts 
+- select set of test deployment hosts by platform, load
+- have modes for testing on several platforms at once 
+
+difference to "buildbot" ...
+==================================
+
+- py.test generally works from developers WC 
+- no need to first commit and wait for later (nightly) test run 
+- interactive developer driven choice of test setting 
+
+summary development topics 
+=============================
+
+- refactor/unify reporting mechanisms 
+- introduce shared test support code (plugins) 
+- improve py.execnet (towards networks) 
+- interactive debugging / introspection everywhere 
+- systematically persist test results 
+
+Goal
+=============
+
+Maximize fun and efficiency of (test-driven) development 
+

Added: pypy/extradoc/talk/ep2007/pytest/ui
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/ep2007/pytest/ui	Mon Jul  9 12:22:26 2007
@@ -0,0 +1 @@
+link ../ui
\ No newline at end of file


More information about the pypy-svn mailing list