Index: feeds_defaults/tests/feeds_defaults.test
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feeds/feeds_defaults/tests/feeds_defaults.test,v
retrieving revision 1.9
diff -u -p -r1.9 feeds_defaults.test
--- feeds_defaults/tests/feeds_defaults.test	28 Apr 2010 20:45:37 -0000	1.9
+++ feeds_defaults/tests/feeds_defaults.test	21 Jun 2010 21:38:11 -0000
@@ -455,14 +455,15 @@ class FeedsDefaultsUserTestCase extends 
     $this->importFile('user', $this->absolutePath() .'/tests/feeds/users.csv');
 
     // Assert result.
-    $this->assertText('Created 4 users.');
+    $this->assertText('Created 52 users.');
     // 1 user has an invalid email address.
     $this->assertText('There was 1 user that could not be imported because either their name or their email was empty or not valid. Check import data and mapping settings on User processor.');
     $this->drupalGet('admin/user/user');
-    $this->assertText('Morticia');
     $this->assertText('Fester');
     $this->assertText('Gomez');
     $this->assertText('Pugsley');
+    $this->drupalGet('admin/user/user', array('query' => array('page' => 1)));
+    $this->assertText('Morticia');
 
     $this->disable('user');
   }
Index: plugins/FeedsUserProcessor.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feeds/plugins/FeedsUserProcessor.inc,v
retrieving revision 1.12
diff -u -p -r1.12 FeedsUserProcessor.inc
--- plugins/FeedsUserProcessor.inc	19 Jun 2010 15:57:13 -0000	1.12
+++ plugins/FeedsUserProcessor.inc	21 Jun 2010 21:38:11 -0000
@@ -6,6 +6,9 @@
  * FeedsUserProcessor class.
  */
 
+// Create or delete FEEDS_USER_BATCH_SIZE at a time.
+define('FEEDS_USER_BATCH_SIZE', 50);
+
 /**
  * Feeds processor plugin. Create users from feed items.
  */
@@ -16,8 +19,8 @@ class FeedsUserProcessor extends FeedsPr
    */
   public function process(FeedsImportBatch $batch, FeedsSource $source) {
 
-    // Count number of created and updated nodes.
-    $created  = $updated = $failed = 0;
+    // Count number of processed.
+    $processed = 0;
 
     while ($item = $batch->shiftItem()) {
 
@@ -28,7 +31,12 @@ class FeedsUserProcessor extends FeedsPr
 
         // Check if user name and mail are set, otherwise continue.
         if (empty($account->name) || empty($account->mail) || !valid_email_address($account->mail)) {
-          $failed++;
+          $batch->failed++;
+          $processed++;
+
+          if ($processed >= variable_get('feeds_user_batch_size', FEEDS_USER_BATCH_SIZE)) {
+            return (1.0 / ($batch->total + 1)) * ($batch->updated + $batch->created); // Add + 1 to make sure that result is not 1.0 = finished.
+          }
           continue;
         }
 
@@ -51,31 +59,36 @@ class FeedsUserProcessor extends FeedsPr
         }
 
         if ($uid) {
-          $updated++;
+          $batch->updated++;
         }
         else {
-          $created++;
+          $batch->created++;
+        }
+
+        $processed++;
+        if ($processed >= variable_get('feeds_user_batch_size', FEEDS_USER_BATCH_SIZE)) {
+          return (1.0 / ($batch->total + 1)) * ($batch->updated + $batch->created); // Add + 1 to make sure that result is not 1.0 = finished.
         }
       }
     }
 
     // Set messages.
-    if ($failed) {
+    if ($batch->failed) {
       drupal_set_message(
         format_plural(
-          $failed,
+          $batch->failed,
           'There was @number user that could not be imported because either their name or their email was empty or not valid. Check import data and mapping settings on User processor.',
           'There were @number users that could not be imported because either their name or their email was empty or not valid. Check import data and mapping settings on User processor.',
-          array('@number' => $failed)
+          array('@number' => $batch->failed)
         ),
         'error'
       );
     }
-    if ($created) {
-      drupal_set_message(format_plural($created, 'Created @number user.', 'Created @number users.', array('@number' => $created)));
+    if ($batch->created) {
+      drupal_set_message(format_plural($batch->created, 'Created @number user.', 'Created @number users.', array('@number' => $batch->created)));
     }
-    elseif ($updated) {
-      drupal_set_message(format_plural($updated, 'Updated @number user.', 'Updated @number users.', array('@number' => $updated)));
+    elseif ($batch->updated) {
+      drupal_set_message(format_plural($batch->updated, 'Updated @number user.', 'Updated @number users.', array('@number' => $batch->updated)));
     }
     else {
       drupal_set_message(t('There are no new users.'));
Index: tests/feeds.test
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feeds/tests/feeds.test,v
retrieving revision 1.18
diff -u -p -r1.18 feeds.test
--- tests/feeds.test	20 Jun 2010 16:46:12 -0000	1.18
+++ tests/feeds.test	21 Jun 2010 21:38:11 -0000
@@ -582,13 +582,15 @@ class FeedsCSVtoUsersTest extends FeedsW
     $this->importFile('user_import', $this->absolutePath() .'/tests/feeds/users.csv');
 
     // Assert result.
-    $this->assertText('Created 4 users.');
+    $this->assertText('Created 52 users.');
     // 1 user has an invalid email address.
     $this->assertText('There was 1 user that could not be imported because either their name or their email was empty or not valid. Check import data and mapping settings on User processor.');
     $this->drupalGet('admin/user/user');
     $this->assertText('Morticia');
     $this->assertText('Fester');
     $this->assertText('Gomez');
+
+    $this->drupalGet('admin/user/user/', array('query' => array('page' => 1)));
     $this->assertText('Pugsley');
 
     // @todo Test status setting, update existing and role settings.
Index: tests/feeds/users.csv
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feeds/tests/feeds/users.csv,v
retrieving revision 1.1
diff -u -p -r1.1 users.csv
--- tests/feeds/users.csv	20 Oct 2009 21:03:08 -0000	1.1
+++ tests/feeds/users.csv	21 Jun 2010 21:38:11 -0000
@@ -3,4 +3,52 @@ Morticia,morticia@example.com,1244347500
 Fester,fester@example.com,1241865600
 Gomez,gomez@example.com,1228572000
 Wednesday,wednesdayexample.com,1228347137
-Pugsley,pugsley@example,1228260225
\ No newline at end of file
+Pugsley,pugsley@example,1228260225
+iygtrdcopf,iygtrdcopf@example.com,1228260225
+stqcxzkahw,stqcxzkahw@example.com,1228260225
+bhgljqntax,bhgljqntax@example.com,1228260225
+olgrhieyfr,olgrhieyfr@example.com,1228260225
+lexyvflcia,lexyvflcia@example.com,1228260225
+iyjzhkvbzo,iyjzhkvbzo@example.com,1228260225
+qgjcidllhg,qgjcidllhg@example.com,1228260225
+ldxubvnjhk,ldxubvnjhk@example.com,1228260225
+gowlvrgwyf,gowlvrgwyf@example.com,1228260225
+ixqzgvctvj,ixqzgvctvj@example.com,1228260225
+ptucajhzkr,ptucajhzkr@example.com,1228260225
+sqzlcjtsrb,sqzlcjtsrb@example.com,1228260225
+rhehugbbjb,rhehugbbjb@example.com,1228260225
+zavlpijvqx,zavlpijvqx@example.com,1228260225
+rrlkokqqfq,rrlkokqqfq@example.com,1228260225
+pxvwinasaa,pxvwinasaa@example.com,1228260225
+ldrtzubvtf,ldrtzubvtf@example.com,1228260225
+dnjyreuzop,dnjyreuzop@example.com,1228260225
+pknwhkvbej,pknwhkvbej@example.com,1228260225
+ktkrkoisqg,ktkrkoisqg@example.com,1228260225
+rvxnexcmhl,rvxnexcmhl@example.com,1228260225
+qgsmoayykp,qgsmoayykp@example.com,1228260225
+ygxelmuwkk,ygxelmuwkk@example.com,1228260225
+wanxpylypk,wanxpylypk@example.com,1228260225
+ewspfdptfa,ewspfdptfa@example.com,1228260225
+yncvpanrhr,yncvpanrhr@example.com,1228260225
+snrapxdixa,snrapxdixa@example.com,1228260225
+ixkpuqjkyr,ixkpuqjkyr@example.com,1228260225
+jccroqqkmh,jccroqqkmh@example.com,1228260225
+ocqtldzrpl,ocqtldzrpl@example.com,1228260225
+yuxsqzdytv,yuxsqzdytv@example.com,1228260225
+xyxyvrxuel,xyxyvrxuel@example.com,1228260225
+iwfoyoybxt,iwfoyoybxt@example.com,1228260225
+colxegmihj,colxegmihj@example.com,1228260225
+pmjsavozld,pmjsavozld@example.com,1228260225
+sgegedyyhq,sgegedyyhq@example.com,1228260225
+utgoxkxuoe,utgoxkxuoe@example.com,1228260225
+miwjmuajvz,miwjmuajvz@example.com,1228260225
+aknuxehyzr,aknuxehyzr@example.com,1228260225
+zrnxnfswqs,zrnxnfswqs@example.com,1228260225
+hzwhzfgwoa,hzwhzfgwoa@example.com,1228260225
+heewpilblp,heewpilblp@example.com,1228260225
+awocnfzhlz,awocnfzhlz@example.com,1228260225
+oogjimlekh,oogjimlekh@example.com,1228260225
+hnyopnpfiq,hnyopnpfiq@example.com,1228260225
+ltezudxgwh,ltezudxgwh@example.com,1228260225
+hnyopnpfiq2,hnyopnpfiq2@example.com,1228260225
+ltezudxgwh2,ltezudxgwh2@example.com,1228260225
