commit d03edd412b1a66a338914c4e7fde9d65569b0978
parent 360d417300421ddf958c476165d01cce4b694da9
Author: Kyle Milz <kyle@windows.krwm.net>
Date: Thu, 5 Jan 2017 17:53:50 -0800
t\utils.pm: add win32 compat bits
Diffstat:
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/t/utils.pm b/t/utils.pm
@@ -1,5 +1,6 @@
use strict;
use warnings;
+use File::Util;
use Test::Cmd;
use Test::Differences;
use Test::More;
@@ -17,10 +18,12 @@ sub clean_citrun_log {
return $log;
}
-sub make_testcmd {
+sub setup_projdir {
my $wrap = Test::Cmd->new( prog => 'citrun_wrap', workdir => '' );
- #$ENV{CITRUN_PROCDIR} = $wrap->workdir . "\\procdir\\";
+
+ $ENV{CITRUN_PROCDIR} = File::Spec->catdir( $wrap->workdir, "procdir" );
+ $ENV{CITRUN_PROCDIR} .= File::Util->SL;
$wrap->write( 'main.c', <<EOF);
#include <stdio.h>
@@ -92,7 +95,12 @@ sub new {
my $self = {};
bless($self, $class);
- open(my $fh, "<:mmap", $procfile) or die $!;
+ my $fh;
+ if ($^O eq "MSWin32") {
+ open($fh, "<", $procfile) or die $!;
+ } else {
+ open($fh, "<:mmap", $procfile) or die $!;
+ }
$self->{fh} = $fh;
my $header_size = citrun_header_size();
@@ -143,8 +151,12 @@ sub stat_procfile {
sub get_aligned_size {
my ($unaligned_size) = @_;
- my $page_size = POSIX::sysconf(POSIX::_SC_PAGESIZE);
- my $page_mask = $page_size - 1;
+ my $page_mask;
+ if ($^O eq "MSWin32") {
+ $page_mask = 64 * 1024 - 1;
+ } else {
+ $page_mask = POSIX::sysconf(POSIX::_SC_PAGESIZE) - 1;
+ }
return ($unaligned_size + $page_mask) & ~$page_mask;
}