Dpkg::Vendor::Debian: Move time64 buildflags feature from future to abi
[dpkg.git] / scripts / t / Dpkg_BuildEnv.t
blob2e40ec7e2a7d49abb9dbee3bdd6016341b7b8edd
1 #!/usr/bin/perl
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <https://www.gnu.org/licenses/>.
16 use strict;
17 use warnings;
19 use Test::More tests => 14;
21 BEGIN {
22 use_ok('Dpkg::BuildEnv');
25 $ENV{DPKG_TEST_VAR_A} = 100;
26 $ENV{DPKG_TEST_VAR_B} = 200;
27 delete $ENV{DPKG_TEST_VAR_Z};
29 is(scalar Dpkg::BuildEnv::list_accessed(), 0, 'no accessed variables');
30 is(scalar Dpkg::BuildEnv::list_modified(), 0, 'no modified variables');
32 is(Dpkg::BuildEnv::get('DPKG_TEST_VAR_A'), 100, 'get value');
34 is(scalar Dpkg::BuildEnv::list_accessed(), 1, '1 accessed variables');
35 is(scalar Dpkg::BuildEnv::list_modified(), 0, 'no modified variables');
37 is(Dpkg::BuildEnv::get('DPKG_TEST_VAR_B'), 200, 'get value');
38 Dpkg::BuildEnv::set('DPKG_TEST_VAR_B', 300);
39 is(Dpkg::BuildEnv::get('DPKG_TEST_VAR_B'), 300, 'set value');
41 is(scalar Dpkg::BuildEnv::list_accessed(), 2, '2 accessed variables');
42 is(scalar Dpkg::BuildEnv::list_modified(), 1, '1 modified variable');
44 ok(Dpkg::BuildEnv::has('DPKG_TEST_VAR_A'), 'variables is present');
45 ok(!Dpkg::BuildEnv::has('DPKG_TEST_VAR_Z'), 'variables is not present');
47 is(scalar Dpkg::BuildEnv::list_accessed(), 3, '2 accessed variables');
48 is(scalar Dpkg::BuildEnv::list_modified(), 1, '1 modified variable');