perl-module: Remove test for memory usage.
[pspp] / perl-module / t / Pspp.t
index c2c9dbde0aa3f8e0578f771b1114e9a61ad5e205..b8b76d3c35d43b604deea796b4b964a35b9bb5d6 100644 (file)
@@ -1,4 +1,21 @@
-# -*-perl-*-
+## -*-perl-*-
+
+## PSPP - a program for statistical analysis.
+## Copyright (C) 2019, 2020 Free Software Foundation, Inc.
+##
+## This program is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 # Before `make install' is performed this script should be runnable
 # with `make test' as long as libpspp-core-$VERSION.so is in
 # LD_LIBRARY_PATH.  After `make install' it should work as `perl
@@ -11,6 +28,7 @@
 use Test::More tests => 37;
 use Text::Diff;
 use File::Temp qw/ tempfile tempdir /;
+use Memory::Usage;
 BEGIN { use_ok('PSPP') };
 
 #########################
@@ -88,8 +106,8 @@ sub run_pspp_syntax_cmp
   ok (!ref $var1, "Trap duplicate variable name");
   ok ($d->get_var_cnt () == 1);
 
-  $var1 = PSPP::Var->new ($d, "money", 
-                         (fmt=>PSPP::Fmt::DOLLAR, 
+  $var1 = PSPP::Var->new ($d, "money",
+                         (fmt=>PSPP::Fmt::DOLLAR,
                           width=>4, decimals=>2) );
   ok (ref $var1, "Accept valid format");
   ok ($d->get_var_cnt () == 2);
@@ -117,16 +135,16 @@ sub run_pspp_syntax_cmp
   my $d = PSPP::Dict->new();
   PSPP::Var->new ($d, "id",
                         (
-                         fmt=>PSPP::Fmt::F, 
-                         width=>2, 
+                         fmt=>PSPP::Fmt::F,
+                         width=>2,
                          decimals=>0
                          )
                         );
 
   PSPP::Var->new ($d, "name",
                         (
-                         fmt=>PSPP::Fmt::A, 
-                         width=>20, 
+                         fmt=>PSPP::Fmt::A,
+                         width=>20,
                          )
                         );
 
@@ -162,8 +180,8 @@ sub run_pspp_syntax_cmp
          my $res = $sysfile->append_case ( [21, "wheelbarrow"]);
          ok ($res, "Append Case 2");
 
-         # Don't close.  We want to test that the destructor  does that 
-         # automatically 
+         # Don't close.  We want to test that the destructor  does that
+         # automatically
       }
       ok (-s "$tempfile", "existance2");
 
@@ -175,45 +193,46 @@ sub run_pspp_syntax_cmp
        DISPLAY DOCUMENTS.
        LIST.
 SYNTAX
-Variable,Description,Position
-id,Format: F2.0,1
-name,Format: A20,2
-
-File label: This is the file label
+Table: Variables
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+id,1,Scale,Input,8,Right,F2.0,F2.0
+name,2,Nominal,Input,20,Left,A20,A20
 
-Documents in the active dataset:
+Table: File Label
+Label,This is the file label
 
+Table: Documents
 This is a document line
 
 Table: Data List
 id,name
-21,wheelbarrow         
+21,wheelbarrow
 RESULT
 
 
   }
 
-  # Now do some tests to make sure all the variable parameters 
+  # Now do some tests to make sure all the variable parameters
   # can be written properly.
 
   {
       my $tempdir = tempdir( CLEANUP => 1 );
-      my $tempfile = "$tempdir/testfile.sav";      
+      my $tempfile = "$tempdir/testfile.sav";
       my $dict = PSPP::Dict->new();
       ok (ref $dict, "Dictionary Creation 2");
 
-      my $int = PSPP::Var->new ($dict, "integer", 
+      my $int = PSPP::Var->new ($dict, "integer",
                                (width=>8, decimals=>0) );
 
       $int->set_label ("My Integer");
-      
+
       $int->add_value_label (99, "Silly");
       $int->clear_value_labels ();
       $int->add_value_label (0, "Zero");
       $int->add_value_label (1, "Unity");
       $int->add_value_label (2, "Duality");
 
-      my $str = PSPP::Var->new ($dict, "string", 
+      my $str = PSPP::Var->new ($dict, "string",
                                (fmt=>PSPP::Fmt::A, width=>8) );
 
 
@@ -224,7 +243,7 @@ RESULT
 
       $str->set_missing_values ("this", "that");
 
-      my $longstr = PSPP::Var->new ($dict, "longstring", 
+      my $longstr = PSPP::Var->new ($dict, "longstring",
                                (fmt=>PSPP::Fmt::A, width=>9) );
 
 
@@ -243,34 +262,27 @@ RESULT
 GET FILE='$tempfile'.
 DISPLAY DICTIONARY.
 SYNTAX
-Variable,Description,Position
-integer,"Label: My Integer
-Format: F8.0
-Missing Values: 9; 99
-
-Value,Label
-0,Zero
-1,Unity
-2,Duality",1
-string,"Label: My String
-Format: A8
-Missing Values: ""this    ""; ""that    ""
-
-Value,Label
-xx      ,foo
-yy      ,bar",2
-longstring,"Label: My Long String
-Format: A9
-
-Value,Label
-xxx      ,xfoo",3
+Table: Variables
+Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
+integer,1,My Integer,Scale,Input,8,Right,F8.0,F8.0,9; 99
+string,2,My String,Nominal,Input,8,Left,A8,A8,"""this    ""; ""that    """
+longstring,3,My Long String,Nominal,Input,9,Left,A9,A9,
+
+Table: Value Labels
+Variable Value,,Label
+My Integer,0,Zero
+,1,Unity
+,2,Duality
+My String,xx,foo
+,yy,bar
+My Long String,xxx,xfoo
 RESULT
 
   }
 
 }
 
-sub generate_sav_file 
+sub generate_sav_file
 {
     my $filename = shift;
     my $tempdir = shift;
@@ -328,8 +340,8 @@ RESULT
 
        PSPP::Var->new ($d, "id",
                        (
-                        fmt=>PSPP::Fmt::F, 
-                        width=>2, 
+                        fmt=>PSPP::Fmt::F,
+                        width=>2,
                         decimals=>0
                         )
                        );
@@ -361,7 +373,7 @@ RESULT
     my $label = $var->get_label ();
 
     print MYFILE "Variable $v is \"$name\", label is \"$label\"\n";
-    
+
     my $vl = $var->get_value_labels ();
 
     print MYFILE "Value Labels:\n";
@@ -475,7 +487,7 @@ SYNTAX
  list.
 
 SYNTAX
+
  ok (! diff ("$tempdir/pspp.csv", "$tempdir/in.txt"), "Streaming of files");
 }
 
@@ -527,7 +539,7 @@ SYNTAX
 }
 
 
-# Missing value tests. 
+# Missing value tests.
 {
  my $tempdir = tempdir( CLEANUP => 1 );
 
@@ -550,17 +562,17 @@ SYNTAX
 
  ok ( !PSPP::value_is_missing ($val, $numericvar), "Missing Value Negative Num");
 
- @c = $sf->get_next_case (); 
- @c = $sf->get_next_case (); 
+ @c = $sf->get_next_case ();
+ @c = $sf->get_next_case ();
 
  $val = $c[0];
  ok ( PSPP::value_is_missing ($val, $stringvar), "Missing Value Positive");
 
- @c = $sf->get_next_case (); 
+ @c = $sf->get_next_case ();
  $val = $c[2];
  ok ( PSPP::value_is_missing ($val, $numericvar), "Missing Value Positive SYS");
 
- @c = $sf->get_next_case (); 
+ @c = $sf->get_next_case ();
  $val = $c[2];
  ok ( PSPP::value_is_missing ($val, $numericvar), "Missing Value Positive Num");
 }