]>
git.saurik.com Git - apt.git/blob - test/libapt/indexcopytosourcelist_test.cc
1 #include <apt-pkg/configuration.h>
2 #include <apt-pkg/aptconfiguration.h>
3 #include <apt-pkg/indexcopy.h>
9 class NoCopy
: public IndexCopy
{
11 std::string
ConvertToSourceList(std::string CD
,std::string Path
) {
12 IndexCopy::ConvertToSourceList(CD
, Path
);
15 bool GetFile(std::string
&Filename
,unsigned long long &Size
) { return false; }
16 bool RewriteEntry(FILE *Target
,std::string File
) { return false; }
17 const char *GetFileName() { return NULL
; }
18 const char *Type() { return NULL
; }
22 int main(int argc
, char const *argv
[]) {
24 std::string
const CD("/media/cdrom/");
26 char const * Releases
[] = { "unstable", "wheezy-updates", NULL
};
27 char const * Components
[] = { "main", "non-free", NULL
};
29 for (char const ** Release
= Releases
; *Release
!= NULL
; ++Release
) {
30 for (char const ** Component
= Components
; *Component
!= NULL
; ++Component
) {
31 std::string
const Path
= std::string("dists/") + *Release
+ "/" + *Component
+ "/";
32 std::string
const Binary
= Path
+ "binary-";
33 std::string
const A
= Binary
+ "armel/";
34 std::string
const B
= Binary
+ "mips/";
35 std::string
const C
= Binary
+ "kfreebsd-mips/";
36 std::string
const S
= Path
+ "source/";
37 std::string
const List
= std::string(*Release
) + " " + *Component
;
39 _config
->Clear("APT");
40 APT::Configuration::getArchitectures(false);
41 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ A
), A
);
42 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ B
), B
);
43 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ C
), C
);
44 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ S
), List
);
46 _config
->Clear("APT");
47 _config
->Set("APT::Architecture", "mips");
48 _config
->Set("APT::Architectures::", "mips");
49 APT::Configuration::getArchitectures(false);
50 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ A
), A
);
51 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ B
), List
);
52 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ C
), C
);
53 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ S
), List
);
55 _config
->Clear("APT");
56 _config
->Set("APT::Architecture", "kfreebsd-mips");
57 _config
->Set("APT::Architectures::", "kfreebsd-mips");
58 APT::Configuration::getArchitectures(false);
59 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ A
), A
);
60 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ B
), B
);
61 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ C
), List
);
62 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ S
), List
);
64 _config
->Clear("APT");
65 _config
->Set("APT::Architecture", "armel");
66 _config
->Set("APT::Architectures::", "armel");
67 APT::Configuration::getArchitectures(false);
68 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ A
), List
);
69 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ B
), B
);
70 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ C
), C
);
71 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ S
), List
);
73 _config
->Clear("APT");
74 _config
->Set("APT::Architecture", "armel");
75 _config
->Set("APT::Architectures::", "armel");
76 _config
->Set("APT::Architectures::", "mips");
77 APT::Configuration::getArchitectures(false);
78 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ A
), List
);
79 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ B
), List
);
80 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ C
), C
);
81 equals(ic
.ConvertToSourceList("/media/cdrom/", CD
+ S
), List
);