In XP, there are numerous feedback loops put in place to make sure the development is moving quickly and without introducing errors. One feedback loop is present on each developer's machine. They each develop code using test-driven development, that is tests are written first to test for new functionality, then code is written to pass the tests. These tests are run frequently, every few minutes. The test code also becomes part of the code checked into your configuration management repository.
Once the development pair has completed developing a feature, say a user story or a significant part of a user story, the code is integrated onto the integration machine. This is an extra computer set aside strictly for this purpose. The developer pair brings their code over to the machine together with their tests. They integrate their code with the rest of the codebase stored on your configuration management, then run all the tests from everyone. This feedback loop makes sure that their code is working as expected and that the integration process has not broken any previously written code. If any tests fail, they must immediately fix the problem until all tests pass. If this takes too long, they must remove the new code they introduced and return to their own machines to understand the failure and fix it. That way the integration computer is always ready for integrations by others and the software stored in the configuration management system is always working, all tests always passing.
Note that testing is always done on the developer's computers while they are developing. Testing is also done on the integration computer after some new code has been integrated. This will occur several times a day.
Having a separate machine for integrations is very helpful so that developers integrate code serially. At my previous place of work (a non-XP environment) we did integrations on our own machines and had a complex protocol of e-mails to make sure only one integration was done at a time. XP's strategy is a lot easier - if the integration machine is free, sit down and integrate. If someone is sitting there, you'll have to do something else.
Do not wait to move software onto the integration machine until there is a set of functional components to test. You want to begin the process of full cycle development as early as possible so that any kinks in the release process are ironed out early and not just before the end of an iteration. This is another example of a feedback loop in XP.